| Previous | Next |
| NS_E_ASX_INVALIDVERSION | NS_E_ASX_NOTHING_TO_WRITE |
NS_E_ASX_INVALID_REPEAT_BLOCK
Understanding NS_E_ASX_INVALID_REPEAT_BLOCK in a Windows Media playlist
NS_E_ASX_INVALID_REPEAT_BLOCK (0xC00D106B) is returned when a REPEAT block has invalid placement, count semantics or child structure.
For NS_E_ASX_INVALID_REPEAT_BLOCK, distinguish in-memory Playlist state, WPL or ASX parsing, nested-list expansion, Media-object resolution and execution of referenced items. For NS_E_ASX_INVALID_REPEAT_BLOCK, record what the Player had already completed because later retries often replace the original evidence. The specific rejected condition is a REPEAT block has invalid placement, count semantics or child structure.
Playlist boundary
AllStat already supplies the standard user-facing description for NS_E_ASX_INVALID_REPEAT_BLOCK; this custom block instead isolates the additional technical boundary. Earlier success in file lookup, network connection, parser creation or graph construction does not prove that the later NS_E_ASX_INVALID_REPEAT_BLOCK operation is valid.
Case-specific checkpoint: the complete REPEAT element, COUNT value, nested ENTRY elements and the parser position of the rejection. The controlled comparison for NS_E_ASX_INVALID_REPEAT_BLOCK is: replace the loop with one ordinary ENTRY; then reintroduce a finite REPEAT with a single valid child.
Closest distinction: NS_E_WMX_INVALID_FORMAT_OVER_NESTING is about nesting depth, not the syntax of one REPEAT block.
Evidence from the list model
| Capture | Why it matters for NS_E_ASX_INVALID_REPEAT_BLOCK |
|---|---|
| Object or resource | the complete REPEAT element, COUNT value, nested ENTRY elements and the parser position of the rejection |
| State snapshot | Record the Player openState/playState or operation phase, object identity and exact timestamp when NS_E_ASX_INVALID_REPEAT_BLOCK was returned. |
| First lower result | Keep the earliest Win32, Winsock, COM, parser, codec, DRM or device result that appears before NS_E_ASX_INVALID_REPEAT_BLOCK. |
| Comparison record | For NS_E_ASX_INVALID_REPEAT_BLOCK, use one known-good case that follows the same API, protocol and component path while changing only the rejected precondition. |
Minimal playlist experiment
- Start from the original call and log
0xC00D106Btogether with its object and operation phase. - Collect the complete REPEAT element, COUNT value, nested ENTRY elements and the parser position of the rejection before changing the machine.
- Use this single-variable test: replace the loop with one ordinary ENTRY; then reintroduce a finite REPEAT with a single valid child.
- For
NS_E_ASX_INVALID_REPEAT_BLOCK, repeat on a fresh object if the original predates a configuration, device or resource change. - For
NS_E_ASX_INVALID_REPEAT_BLOCK, validate the expected next operation, not just initial open or object creation.
What the result means
| Retest outcome | Interpretation |
|---|---|
| Same NS_E_ASX_INVALID_REPEAT_BLOCK on the same object | For NS_E_ASX_INVALID_REPEAT_BLOCK, the governing state or value is unchanged, or the caller is reusing an object created before the relevant change. |
| Fresh object succeeds | Lifetime, cached configuration or stale playlist/graph state contributed to NS_E_ASX_INVALID_REPEAT_BLOCK. |
| A later HRESULT appears | The rejected condition — a REPEAT block has invalid placement, count semantics or child structure — was cleared for NS_E_ASX_INVALID_REPEAT_BLOCK; diagnose the new code at its own layer. |
| Only one item or endpoint fails for NS_E_ASX_INVALID_REPEAT_BLOCK | For NS_E_ASX_INVALID_REPEAT_BLOCK, the evidence favors resource-specific data, rights, routing or device state rather than a global Player failure. |
Actions that obscure the cause
- changing media codecs when the metafile control structure is invalid.
- Do not discard the first
NS_E_ASX_INVALID_REPEAT_BLOCKoccurrence by repeatedly invoking Play, open, save or retry; later events can replace its original state. - For
NS_E_ASX_INVALID_REPEAT_BLOCK, do not publish credentials, private URLs, license material or complete protected-content headers; retain only redacted identifiers, lengths, hashes and protocol fields.
Technical references
- Windows Media Player SDK
- Windows Media Playlists
- Windows Media Playlist elements
- Managing playlists
- Microsoft HRESULT registry
Retain before-and-after evidence for NS_E_ASX_INVALID_REPEAT_BLOCK so object recreation or content replacement is not mistaken for random retry success.
Looking for a different code? Search another status or error code.