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