共用方式為


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 對象的參考,否則目標連接不會保持開啟,以防止它意外關閉。 此方法最有用,因此,當目標連線保證為開啟時,最有可能被呼叫。 一般而言,這類呼叫會在 EvtSpbTargetConnectEvtSpbTargetDisconnect 回呼期間發生,以及在處理 I/O 要求期間發生。

要求

要求 價值
最低支援的用戶端 從 Windows 8 開始提供。
目標平臺 普遍
標頭 spbcx.h
連結庫 Spbcxstubs.lib
IRQL <= DISPATCH_LEVEL

另請參閱

EvtSpbTargetConnect

EvtSpbTargetDisconnect

SPBTARGET