BUS_INTERFACE_SWENUM構造体 (swenum.h)
BUS_INTERFACE_SWENUM構造体は、需要負荷バス列挙子オブジェクトのインターフェイスを記述します。
構文
typedef struct _BUS_INTERFACE_SWENUM {
INTERFACE Interface;
PFNREFERENCEDEVICEOBJECT ReferenceDeviceObject;
PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
PFNQUERYREFERENCESTRING QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;
メンバーズ
Interface
エクスポートされた INTERFACEを指定します。
ReferenceDeviceObject
ドライバーが提供する KsReferenceSoftwareBusObject ルーチン へのポインター。
DereferenceDeviceObject
KsDereferenceSoftwareBusObject ルーチン ドライバーが提供するポインター。
QueryReferenceString
KsQuerySoftwareBusInterface ルーチン ドライバーによって提供されるポインター。
備考
ドライバーは、IRP_MN_QUERY_INTERFACE マイナー関数コードを指定するIRP_MJ_PNP要求を作成して送信することによって、BUS_INTERFACE_SWENUM インターフェイスを取得します。 これを行うには、ドライバーは次のことを行う必要があります。
- ページングされたメモリ プールからBUS_INTERFACE_SWENUM構造体を割り当て、ゼロフィルします。
- クエリ インターフェイス要求用の IRP を作成し、新しい IRP の次のスタックの場所を取得します。
- 新しいスタックの場所で、Parameters.QueryInterface.Interface メンバーの新しいBUS_INTERFACE_SWENUM構造体へのポインターを指定します。
- 完了ルーチンを設定し、ドライバー スタックに要求を送信します。
- 要求が成功した場合、システムは parameters.QueryInterface.Interface によって指BUS_INTERFACE_SWENUM構造体を入力します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | swenum.h (Swenum.h を含む) |