KsRegisterFilterWithNoKSPins function (ks.h)

The KsRegisterFilterWithNoKSPins function registers with DirectShow filters that have no kernel streaming pins and, therefore, do not stream in kernel mode.

Syntax

KSDDKAPI NTSTATUS KsRegisterFilterWithNoKSPins(
  [in]           PDEVICE_OBJECT DeviceObject,
  [in]           const GUID     *InterfaceClassGUID,
  [in]           ULONG          PinCount,
  [in]           BOOL           *PinDirection,
  [in]           KSPIN_MEDIUM   *MediumList,
  [in, optional] GUID           *CategoryList
);

Parameters

[in] DeviceObject

A pointer to a DEVICE_OBJECT structure corresponding to the device to which to register the filter.

[in] InterfaceClassGUID

A pointer to the GUID representing the class to register. For instance, this would point to KSCATEGORY_TVTUNER for a TvTuner filter.

[in] PinCount

The count of the number of pins on the filter.

[in] PinDirection

A pointer to the first element of an array of Boolean values indicating pin direction for each pin on the filter. Output pins are TRUE; input pins are FALSE. This array must be PinCount in length.

[in] MediumList

A pointer to the first element of an array of KSPIN_MEDIUM structures defining the mediums for each pin on the filter. This array must be PinCount in length.

[in, optional] CategoryList

A pointer to the first element of an array of GUIDs defining the categories for each pin on the filter. If this parameter is present, it must be PinCount in length.

Return value

Returns success or failure of creating the FilterData key in the registry.

Remarks

Use KsRegisterFilterWithNoKSPins to register TvTuners, Crossbars, and similar components. KsRegisterFilterWithNoKSPins creates a new registry key, FilterData, that contains the mediums, and optionally the categories, for each pin on the filter.

This function is only used to register filters that have no corresponding kernel pins. If successful, KsRegisterFilterWithNoKSPins creates a key in the registry that can be then used by DirectShow.

If writing a BDA minidriver, consider using KsFilterFactoryUpdateCacheData instead of this routine. See details on the reference page for KsFilterFactoryUpdateCacheData.

For more information, see AVStream Descriptors and Initializing an AVStream Minidriver.

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

DEVICE_OBJECT

DRIVER_OBJECT

KsFilterFactoryUpdateCacheData

KsFilterRegisterPowerCallbacks