What does HRESULT 0x80040202 (VFW_E_NEED_OWNER) mean?

 
Previous Next
VFW_E_INVALIDSUBTYPE EVENT_E_QUERYSYNTAX

VFW_E_NEED_OWNER

Meaning

Windows documents VFW_E_NEED_OWNER as “This object can only be created as an aggregated object”. In practical terms, it is returned when a DirectShow object can be created only as part of COM aggregation and the caller requested a standalone instance.

Where the failure belongs

This result belongs to DirectShow filter-graph processing. The relevant condition is that a DirectShow object can be created only as part of COM aggregation and the caller requested a standalone instance.

Likely causes

  • Possible cause 1: CoCreateInstance is called with no outer unknown for an aggregate-only helper.
  • Possible cause 2: a filter constructs an inner object through the wrong factory path.
  • Possible cause 3: aggregation rules are violated by requesting a non-IUnknown interface during creation.

Evidence to collect

  • Capture 1: CLSID, requested IID and outer IUnknown pointer.
  • Capture 2: the class factory call path and controlling-unknown identity.
  • Capture 3: whether the owning filter uses the documented aggregate construction helper.

Diagnostic sequence

  1. Confirm that the observed path matches this condition: a DirectShow object can be created only as part of COM aggregation and the caller requested a standalone instance.

Correct handling and retry

  • Corrective action 1: create the object through its intended owner and pass the controlling unknown.
  • Corrective action 2: request IUnknown first when COM aggregation requires it.
  • Corrective action 3: do not register aggregate-only implementation helpers as standalone application components.

Retry guidance. Retry only with the correct aggregation parameters; repeated standalone activation cannot succeed.

Practical scenario

A custom filter activates an internal aggregate-only helper directly from application code; constructing it inside the filter removes it.

Difference from nearby HRESULTs

CLASS_E_NOAGGREGATION rejects unsupported aggregation, while it requires aggregation that the caller omitted.

Official Microsoft references


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