KSDEVICE_DESCRIPTOR 結構 (ks.h)

KSDEVICE_DESCRIPTOR結構描述特定裝置的特性。

語法

typedef struct _KSDEVICE_DESCRIPTOR {
  const KSDEVICE_DISPATCH   *Dispatch;
  ULONG                     FilterDescriptorsCount;
  const KSFILTER_DESCRIPTOR const * * FilterDescriptors;
  ULONG                     Version;
  ULONG                     Flags;
  PVOID                     Alignment;
} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;

成員

Dispatch

此裝置之用戶端分派數據表的指標。 此分派數據表包含 PNP 訊息的用戶端分派函式,例如 AddStartStopRemove。 除非用戶端想要接收分派數據表中所述之 PNP 訊息的回呼,否則用戶端不需要提供分派數據表。 分派數據表的任何成員可以是 NULL ,表示用戶端不想要接收該特定訊息的通知。 如需詳細資訊,請參閱 KSDEVICE_DISPATCH

FilterDescriptorsCount

此成員包含將在 FilterDescriptors 成員中提供之此裝置的篩選描述元數目。 零是這個成員的合法值;用戶端可以使用 KsCreateFilterFactory 函式動態建立篩選處理站,而不是以靜態方式在裝置描述元中加以描述。

FilterDescriptors

描述此裝置可建立之篩選條件描述元陣列的指標。 如果 FilterDescriptorsCount 為零,此成員可能是 NULL。 如需詳細資訊,請參閱 KSFILTER_DESCRIPTOR

Version

ULONG 類型的值。 這應該是下表中的一個值,如果撰寫0x100驅動程式,則設定為零。

Description
KSDEVICE_DESCRIPTOR_VERSION 表示支援 KSDEVICE_DISPATCHAVStrMiniDeviceQueryInterface分派。
KSDEVICE_DESCRIPTOR_VERSION_2 表示支援 KSDEVICE_DESCRIPTOR的 Flags 成員。

Flags

ULONG 類型的值。 目前只有一個旗標已定義。

旗標 描述
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP 表示裝置支援遠端喚醒。

Alignment

備註

通常,這個結構會與用戶端 DriverEntry 函式中的 KsInitializeDriver 搭配使用,以初始化裝置。 這個結構也可用來使用 KsInitializeDeviceKsCreateDevice 函式手動初始化或建立裝置。

如果您將 Version 設定為 KSDEVICE_DESCRIPTOR_VERSION_2,並在不支援 Flags 的早期 AVStream 版本上執行驅動程式,所有旗標都會被視為零。

同樣地,在較新版本的AVStream上使用舊版描述元會導致未指定旗標。

規格需求

需求
標頭 ks.h (包含 Ks.h)

另請參閱

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver