Share via


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 メッセージのクライアント ディスパッチ関数が含 まれています。 クライアントは、ディスパッチ テーブルで説明されている PNP メッセージのコールバックを受信しない限り、ディスパッチ テーブルを指定する必要はありません。 ディスパッチ テーブルのメンバーは NULL にして、クライアントがその特定のメッセージの通知を受信しないことを示すことができます。 詳細については、「 KSDEVICE_DISPATCH」を参照してください。

FilterDescriptorsCount

このメンバーには、 FilterDescriptors メンバーに提供されるこのデバイスのフィルター記述子の数が含まれています。 ゼロは、このメンバーの有効な値です。クライアントは、デバイス記述子で静的に記述するのではなく、 KsCreateFilterFactory 関数を使用してフィルター ファクトリを動的に作成できます。

FilterDescriptors

このデバイスで作成できるフィルターを記述するフィルター記述子の配列へのポインター。 FilterDescriptorsCount が 0 の場合、このメンバーは NULL になります。 詳細については、「 KSFILTER_DESCRIPTOR」を参照してください。

Version

ULONG 型の値。 これは、次の表の 1 つだけの値にするか、バージョン前の0x100 ドライバーを記述する場合は 0 に設定する必要があります。

説明
KSDEVICE_DESCRIPTOR_VERSION KSDEVICE_DISPATCHAVStrMiniDeviceQueryInterface ディスパッチのサポートを示します。
KSDEVICE_DESCRIPTOR_VERSION_2 KSDEVICE_DESCRIPTORの Flags メンバーのサポートを示します。

Flags

ULONG 型の値。 現在定義されているフラグは 1 つだけです。

フラグ 説明
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP デバイスがリモート ウェイクアップをサポートしていることを示します。

Alignment

注釈

ほとんどの場合、この構造体は、デバイスを初期化するためにクライアントの DriverEntry 関数で KsInitializeDriver と組み合わせて使用されます。 この構造体は、 KsInitializeDevice 関数と KsCreateDevice 関数を使用してデバイスを手動で初期化または作成するためにも使用されます。

[バージョン] を [KSDEVICE_DESCRIPTOR_VERSION_2] に設定し、Flags をサポートしていない AVStream の初期バージョンでドライバーを実行すると、すべてのフラグは 0 と見なされます。

同様に、新しいバージョンの AVStream で以前のバージョン記述子を使用すると、フラグは指定されません。

要件

要件
Header ks.h (Ks.h を含む)

こちらもご覧ください

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver