次の方法で共有


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構造体を入力します。

要件

要件
Header swenum.h (Swenum.h を含む)