KsRegisterAggregatedClientUnknown function (ks.h)

In a manner very similar to COM, the KsRegisterAggregatedClientUnknown function aggregates two objects: the specified AVStream object and a client unknown object.

Syntax

KSDDKAPI PUNKNOWN KsRegisterAggregatedClientUnknown(
  [in] PVOID    Object,
  [in] PUNKNOWN ClientUnknown
);

Parameters

[in] Object

A pointer to the AVStream object to become the outer unknown interface.

[in] ClientUnknown

A pointer to an IUnknown interface.

Return value

Returns the newly created aggregate object.

Remarks

The client unknown becomes the inner part of the aggregate object, and the AVStream object becomes the outer unknown. When an interface is queried that AVStream does not handle, AVStream passes the query is to the inner aggregate.

If a client unknown is already aggregated on the AVStream object, AVStream releases the previously registered aggregate and uses the unknown passed to KsRegisterAggregatedClientUnknown as the new inner unknown.

There are four wrappers to KsRegisterAggregatedClientUnknown that perform typecasts.

Minidrivers do not need to be running in a C++ environment to use this function.

Requirements

Requirement Value
Minimum supported client Available in Microsoft Windows XP and later operating systems and DirectX 8.0 and later DirectX versions.
Target Platform Universal
Header ks.h (include Ks.h)
Library Ks.lib
IRQL PASSIVE_LEVEL

See also

KsDeviceRegisterAggregatedClientUnknown

KsFilterFactoryRegisterAggregatedClientUnknown

KsFilterRegisterAggregatedClientUnknown

KsGetOuterUnknown

KsPinRegisterAggregatedClientUnknown