| Previous | Next |
| NS_E_WMP_IMAPI_DEVICE_NOTPRESENT | NS_E_WMP_IMAPI_LOSS_OF_STREAMING |
NS_E_WMP_IMAPI_DEVICE_BUSY
Failure boundary and ownership
NS_E_WMP_IMAPI_DEVICE_BUSY with value 0xC00D11AE records acquiring the recorder while another operation or process owns it. The producing call and its state are more diagnostic than a later aggregate Player failure.
Underlying mechanism
At the checkpoint, windows Media Player builds a burn playlist, refreshes its calculated status and delegates physical recording or erase work to the optical-disc stack; The recorder, inserted medium, burn format, staging files and write engine each have a separate lifecycle. The page-specific boundary is acquiring the recorder while another operation or process owns it.
A recorder that enumerates can still be busy, incompatible with the inserted medium or unable to sustain the selected write operation. The condition can be reproduced when another application holds exclusive access to the burner.
Trace fields worth keeping
| Evidence | Why it matters for imapi device busy |
|---|---|
| Producing object and operation | recorder unique ID and exclusive-access owner, inserted media profile/state, burn format, playlist item, source locality, duration/byte estimate, staging directory free space, write speed, current IMAPI action and underlying HRESULT |
| Decisive observation | exclusive-access owner, current drive command, competing process and media state |
| Generation identity | Record the same disc, device, job or Player operation generation that returned this result; a reconnect or media change creates a different test. |
| Underlying result | Keep the first device, filesystem, COM, codec, DirectShow, IMAPI or BITS result seen before the Player mapped it to this result. |
| Controlled comparison | Repeat the producing call after changing only this condition: wait for finalization/erase to finish or close the competing owner before acquiring access. |
What the comparison proves
| Observation | Interpretation |
|---|---|
| The recorded values match the boundary | The result is consistent with acquiring the recorder while another operation or process owns it; correct that state before changing unrelated codecs, drivers or playlists. |
| A lower layer failed before this result | Preserve that earlier HRESULT or device result because this result may be only the Player-level mapping. |
| The same call passes after one isolated change | The comparison supports the imapi device busy diagnosis rather than a broad installation failure. |
| The code changes after retesting it | The boundary was passed; diagnose the new HRESULT as the next independent stage. |
It scopes the failure to acquiring the recorder while another operation or process owns it.
Decision path
- Capture
0xC00D11AE, it, the exact Player/API operation and the first timestamp at which it appears. - Save exclusive-access owner, current drive command, competing process and media state; do this before ejecting media, reconnecting a device, canceling a job or rebuilding the Player object.
- correlate the result with recorder unique ID and exclusive-access owner, inserted media profile/state, burn format, playlist item, source locality, duration/byte estimate, staging directory free space, write speed, current IMAPI action and underlying HRESULT.
- Reproduce once with the original source and destination, then apply only this change: wait for finalization/erase to finish or close the competing owner before acquiring access.
- Create a fresh operation generation and verify that the original call advances beyond the imapi device busy boundary.
Close alternatives
| Related result | Different diagnostic boundary |
|---|---|
NS_E_WMP_IMAPI_DEVICE_NOTPRESENT | opening the recorder after it was removed or its device path changed |
NS_E_WMP_IMAPI_LOSS_OF_STREAMING | feeding the recorder slowly enough that its write buffer underruns |
NS_E_WMP_IMAPI_GENERIC | mapping an IMAPI result that the Player did not classify more specifically |
Safe correction
Correct this boundary by making sure you wait for finalization/erase to finish or close the competing owner before acquiring access. Then reacquire the interface or media state that produced it and repeat that call.
When verifying it, do not repeatedly start a new burn against a drive that still owns or finalizes the previous session; Capture the media state and recorder owner before ejecting or replacing the disc.
Source material
- About CD Burning.
- IWMPCdromBurn interface.
- Image Mastering API interfaces and media states.
- Checking recorder and media support.
- IDiscRecorder2::AcquireExclusiveAccess.
Looking for a different code? Search another status or error code.
