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 以降のバージョンで使用できます。 |
Header | ks.h (Ks.h を含む) |