What does HRESULT 0x80040247 (VFW_E_INVALID_CLSID) mean?

 
Previous Next
VFW_E_INVALID_FILE_VERSION VFW_E_INVALID_MEDIA_TYPE

VFW_E_INVALID_CLSID

Meaning

Windows documents VFW_E_INVALID_CLSID as “This file is corrupt: it contains an invalid class identifier”. Here, a stored DirectShow graph names a class identifier that is syntactically invalid or cannot be interpreted as a CLSID while reconstructing the graph.

Relevant contract

Start with the filter graph, device or persisted configuration that first returned the result.

Evidence worth preserving

  • Evidence 1: offending byte range or GUID text.
  • Evidence 2: filter position in the persisted graph.
  • Evidence 3: original writer build and the expected filter class.

Conditions that can produce it

  • Cause 1: the serialized CLSID field is truncated.
  • Cause 2: text conversion introduced non-hexadecimal characters.
  • Cause 3: custom persistence wrote an interface IID or arbitrary GUID into a class slot.

Retry and recovery

Retry rule: Retry after replacing the invalid identifier; registering additional filters does not make a malformed CLSID valid.

Correction strategy

  • Action 1: repair or regenerate the persisted graph from known filter identities.
  • Action 2: parse and validate every CLSID before calling COM activation.
  • Action 3: keep class and interface identifiers in distinct schema fields.

Example incident

A hand-edited graph file contains a GUID with one missing digit; parsing the identifier before loading identifies the exact field behind it.

How it differs from nearby results

VFW_E_CANNOT_LOAD_SOURCE_FILTER can follow a valid but unactivatable CLSID, while it means the stored class identifier itself is invalid.

Official Microsoft references


Looking for a different code? Search another status or error code.