SpbTargetGetFileObject 函式 (spbcx.h)
SpbTargetGetFileObject 方法會接受作為輸入參數的 SPBTARGET 句柄至開啟的目標裝置,並將 WDFFILEOBJECT 句柄傳回至此目標。
語法
WDFFILEOBJECT SpbTargetGetFileObject(
[in] SPBTARGET Target
);
參數
[in] Target
SPBTARGET 總線上目標裝置的句柄。
傳回值
SpbTargetGetFileObject 會將 WDFFILEOBJECT 句柄傳回至總線上開啟的目標裝置。 如果目標連線已由 EvtSpbTargetDisconnect 事件回呼關閉,此方法會傳回 NULL。
言論
控制器驅動程式可以呼叫此方法,以取得總線上開啟目標裝置的WDFFILEOBJECT句柄。 SPB 控制器驅動程式接著可以使用這個句柄做為需要這類句柄之 WDF 方法的輸入參數。
SpbTargetGetFileObject 只有在目標的 WDFFILEOBJECT 句柄已關閉,但在關閉之前,SPB 控制器驅動程式才會在 SBPTARGET 物件上取得額外的參考,以延長其存留期。
如果連線已關閉,且SPB控制器驅動程序沒有對SPBTARGET對象的參考,SBPTARGET句柄就不再有效。 將無效的句柄傳遞至spbTargetGetFileObject 會導致錯誤檢查。
SpbTargetGetFileObject 傳回 WDFFILEOBJECT 句柄之後,除非有另一個物件(例如使用中 I/O 要求)保留 WDFFILEOBJECT 對象的參考,否則目標連接不會保持開啟,以防止它意外關閉。 此方法最有用,因此,當目標連線保證為開啟時,最有可能被呼叫。 一般而言,這類呼叫會在 EvtSpbTargetConnect 和 EvtSpbTargetDisconnect 回呼期間發生,以及在處理 I/O 要求期間發生。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
目標平臺 | 普遍 |
標頭 | spbcx.h |
連結庫 | Spbcxstubs.lib |
IRQL | <= DISPATCH_LEVEL |