| Previous | Next |
| NS_E_NO_SCRIPT_STREAM | NS_E_INVALIDPACKETSIZE |
NS_E_INVALIDCALL_WHILE_ARCHIVAL_RUNNING
Where the Encoder produces this result
0xC00D1B74 (NS_E_INVALIDCALL_WHILE_ARCHIVAL_RUNNING) identifies attempt to alter archive configuration while the archive sink is active. The important diagnostic boundary is the Encoder object that validates this state; a later “cannot start encoding” dialog can hide that more precise origin.
WMEncoder exposes configuration, preparation, running, paused, stopped and archival states in a session that returns this result. Properties that alter graph topology are normally set before Start, while statistics and some control operations are meaningful only after a session reaches the matching state.
What has already succeeded
The same method can be valid in one encoder state and rejected in another without any file, codec or network defect in a session that returns this result. In a representative invalidcall while archival running case, rotation code changes LocalFileName before ending the current archive segment. The result observation should be tested at the producing object instead of being treated as a general codec or operating-system failure.
State snapshot to capture
| Field | What to preserve |
|---|---|
| Decisive values | archive state, method/property name, output file and callback that issued the change |
| Producing object | current encoder RunState, active source group, PrepareToEncode calls, Start/Pause/Stop order, archive state, thread and callback that issued the operation, and the first state-transition HRESULT |
| Session correlation | the same source-group generation, audience index, object identity and callback sequence that produced this result |
| Lower-level evidence | the first COM, driver, file-system or codec HRESULT observed before the Encoder mapped the condition to this result |
| Controlled comparison | a known-good session that changes only the setting named in the invalidcall while archival running boundary |
How to read the next observation
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is archive state, method/property name, output file and callback that issued the change. It confirms attempt to alter archive configuration while the archive sink is active in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the invalidcall while archival running rule, but a source, driver, COM activation or file operation returns a different HRESULT first. |
| Observation that points to a later failure | The Encoder passes this boundary (attempt to alter archive configuration while the archive sink is active), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: stop the archive cleanly before changing its destination or mode. The original invalidcall while archival running call should then advance past the same checkpoint. |
The operational impact of it is limited to the encoder state-machine sequencing transition that owns attempt to alter archive configuration while the archive sink is active. In the representative case where rotation code changes LocalFileName before ending the current archive segment, keep the first failing call and its object identity so a later wrapper cannot replace the invalidcall while archival running evidence.
A controlled diagnostic sequence
- Record
0xC00D1B74, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture archive state, method/property name, output file and callback that issued the change. - verify the encoder state-machine sequencing precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: stop the archive cleanly before changing its destination or mode.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier invalidcall while archival running state.
Nearby HRESULTs that mean something else
| Result | Why it is a different boundary |
|---|---|
NS_E_NO_ACTIVE_SOURCEGROUP | an operation that requires SourceGroupCollection.Active when no group is selected |
NS_E_SOURCEGROUP_NOTPREPARED | activation or start of a source group that has not completed PrepareToEncode |
NS_E_INVALIDCALL_WHILE_ENCODER_RUNNING | attempt to change a topology-affecting property after WMEncoder.Start |
Corrective action at the right layer
The focused correction is to stop the archive cleanly before changing its destination or mode. A retry is useful only after the recorded invalidcall while archival running precondition changes.
Do not hide the ordering problem behind unconditional retries; log the transition sequence and make the operation occur at the documented lifecycle point in a session that returns it.
Technical references
- WMEncoder.Start.
- Preparing a source group for encoding.
- WMEncoder.Flush.
- Saving a Windows Media Encoder configuration.
Looking for a different code? Search another status or error code.
