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) |