KSDEVICE 構造体 (ks.h)
KSDEVICE 構造体は、AVStream によって管理される WDM 機能デバイスを記述します。
構文
typedef struct _KSDEVICE {
const KSDEVICE_DESCRIPTOR *Descriptor;
KSOBJECT_BAG Bag;
PVOID Context;
PDEVICE_OBJECT FunctionalDeviceObject;
PDEVICE_OBJECT PhysicalDeviceObject;
PDEVICE_OBJECT NextDeviceObject;
BOOLEAN Started;
SYSTEM_POWER_STATE SystemPowerState;
DEVICE_POWER_STATE DevicePowerState;
} KSDEVICE, *PKSDEVICE;
メンバーズ
Descriptor
デバイスの特性とデバイスでサポートされる静的フィルターを記述する KSDEVICE_DESCRIPTOR 構造体へのポインター。
Bag
このメンバーは、デバイスに関連付けられているKSOBJECT_BAG (PVOID 型と同等) を指定します。 オブジェクト バッグ を参照してください。
Context
デバイスのコンテキスト情報を含むメモリ位置へのポインター。 AVStream は、AVStrMiniDeviceStart でデバイス拡張機能を割り当てるミニドライバーのデバイス拡張機能へのポインターこのメンバーに格納します。 コンテキストに割り当てられたメモリは、KsAddItemToObjectBagを使用してオブジェクト バッグに配置する必要があります。 コンテキスト は、作成時に NULL を するように初期化されます。
FunctionalDeviceObject
記述されているデバイスの WDM 機能デバイス オブジェクトである DEVICE_OBJECT 構造体へのポインター。
PhysicalDeviceObject
記述されているデバイスの WDM 物理デバイス オブジェクトである DEVICE_OBJECT 構造体へのポインター。
NextDeviceObject
IoAttachDeviceToDeviceStackによって決定される、ドライバー スタック内の次のデバイスである DEVICE_OBJECT 構造体へのポインター。
Started
このメンバーは、この特定のデバイスが起動されているかどうかを示します。 TRUE 場合、デバイスは起動されています。 FALSE 場合、デバイスは起動されていません。 このフラグは、IRP_MN_START_DEVICE の処理中に設定され、IRP_MN_STOP_DEVICEの処理中にリセットされます。 起動されていないデバイスは、フィルターを作成するすべての要求に応答してSTATUS_DEVICE_NOT_READYを返します。
SystemPowerState
システムの現在の電源状態を示すSYSTEM_POWER_STATE型指定された値。 SYSTEM_POWER_STATE値は、wdm.hで定義されます。
DevicePowerState
デバイスの現在の電源状態を示すDEVICE_POWER_STATE型指定の値。 DEVICE_POWER_STATE値は、wdm.hで定義されます。
備考
通常、クライアントは、AVStream によって提供されない特定の PnP または電源管理動作を実装する必要がある場合に、この構造体を使用します。 KSDEVICE 構造体へのポインターは、KSDEVICE_DISPATCHで指定されたすべてのディスパッチ ルーチンの最初のパラメーターであり、クライアントはコンテキスト情報を自由に使用して、これらのルーチンの独自のコンテキストをアタッチします。 さらに、クライアントは、KsGetDeviceForDeviceObjectを呼び出すことによって、WDM デバイス オブジェクト ポインターから KSDEVICE 構造体へのポインターを取得できます。
前述のように、コンテキスト は、作成時に NULL を するように初期化されます。 ただし、この KSDEVICE 構造体の子孫には、対応する Context メンバーが親オブジェクトの Context メンバーの値に設定されます。 これは、新しいオブジェクトが作成されるときに発生します。 詳細については、「AVStream オブジェクト階層 およびオブジェクト バッグ する」を参照してください。 また、可能な AVStream 子孫オブジェクトのリファレンス ページを参照してください。 KSFILTERFACTORY、KSFILTER、および KSPIN します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Microsoft Windows XP 以降のオペレーティング システムおよび Microsoft DirectX 8.0 以降のバージョンで使用できます。 |
ヘッダー | ks.h (Ks.h を含む) |
関連項目
KSFILTER を する
KSPIN を する
KsAddItemToObjectBag の
KsGetDeviceForDeviceObject の