Skip to content

Latest commit

 

History

History
41 lines (26 loc) · 2.63 KB

avstream-descriptors.md

File metadata and controls

41 lines (26 loc) · 2.63 KB
title description keywords ms.date
AVStream Descriptors
AVStream Descriptors
AVStream descriptors WDK
descriptors WDK AVStream
nested descriptor structures WDK AVStream
AVStream object hierarchy WDK
objects WDK AVStream
hierarchy WDK AVStream
static descriptor tables WDK AVStream
KSFILTER_DESCRIPTOR
device descriptors WDK AVStream
filter factories WDK AVStream
filter types WDK AVStream
pin types WDK AVStream
04/20/2017

AVStream Descriptors

An AVStream minidriver describes itself and the filter types it supports by providing nested descriptor structures in the call to KsInitializeDriver. Each key component -- the device, the filter factory, and the pin factory -- has an associated descriptor.

As shown in AVStream Object Hierarchy, the highest level descriptor for an AVStream minidriver is the device descriptor, KSDEVICE_DESCRIPTOR.

In the device descriptor, the FilterDescriptors member points to an array of KSFILTER_DESCRIPTOR structures that describe the types of filters this device can create. AVStream clients can call KsCreateFilterFactory to dynamically add filter factories.

A KSFILTER_DESCRIPTOR indicates how many pin types the filter supports, the KS categories under which the filter is to be registered, and the topology of the filter. Inside each filter descriptor, the minidriver provides a pointer to an array of KSPIN_DESCRIPTOR_EX structures. Each of these pin descriptors describes a pin type that this filter can instantiate. You can create additional pin factories by calling KsFilterCreatePinFactory.

Typically, AVStream minidrivers lay out static descriptor tables in their source and call KsInitializeDriver to perform the setup work. For more information about initializing your driver, see Initializing an AVStream Minidriver.

There are other types of descriptors as well, such as the node descriptor KSNODE_DESCRIPTOR, which describes a given topology node.

The dispatch table is common to each of the three main descriptor types. See AVStream Dispatch Tables.