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_DISPATCHの AVStrMiniDeviceQueryInterface ディスパッチのサポートを示します。 |
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 を含む) |