共用方式為


BUS_INTERFACE_REFERENCE結構 (ks.h)

軟體裝置列舉值會匯出此介面,讓驅動程序參考 PDO (實體裝置物件的計數) ,讓裝置在使用中時保持作用中,並在未使用時卸除。

語法

typedef struct {
  INTERFACE                  Interface;
  PFNREFERENCEDEVICEOBJECT   ReferenceDeviceObject;
  PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
  PFNQUERYREFERENCESTRING    QueryReferenceString;
} BUS_INTERFACE_REFERENCE, *PBUS_INTERFACE_REFERENCE;

成員

Interface

指定導出的 介面

ReferenceDeviceObject

驅動程式提供的 KStrReferenceDeviceObject 例程的指標。

DereferenceDeviceObject

驅動程式提供的 KStrDereferenceDeviceObject 例程的指標。

QueryReferenceString

驅動程式提供的 KStrQueryReferenceString 例程指標。

備註

驅動程式會藉由建立和傳送指定IRP_MN_QUERY_INTERFACE次要函式程式碼的IRP_MJ_PNP要求,以取得 BUS_INTERFACE_REFERENCE 介面。 若要這樣做,驅動程序應該:

  • 從分頁記憶體集區配置和零填滿BUS_INTERFACE_REFERENCE結構。
  • 建立查詢介面要求的 IRP,並取得新 IRP 的下一個堆疊位置。
  • 在新的堆疊位置中,提供 Parameters.QueryInterface.Interface 成員中新BUS_INTERFACE_REFERENCE結構的指標。
  • 設定完成例程,並將要求向下傳送至驅動程式堆疊。
  • 如果您的要求成功,系統會填入 Parameters.QueryInterface.Interface所指向的BUS_INTERFACE_REFERENCE結構。

規格需求

需求
標頭 ks.h (包含 Ks.h)