次の方法で共有


SpbTargetGetFileObject 関数 (spbcx.h)

SpbTargetGetFileObject メソッドは、開いているターゲット デバイスに対する SPBTARGET ハンドルを入力パラメーターとして受け取り、このターゲットに WDFFILEOBJECT ハンドルを返します。

構文

WDFFILEOBJECT SpbTargetGetFileObject(
  [in] SPBTARGET Target
);

パラメーター

[in] Target

SPBTARGET バス上のターゲット デバイスへのハンドル。

戻り値

SpbTargetGetFileObject は、バス上の開いているターゲット デバイスに WDFFILEOBJECT ハンドルを返します。 ターゲットへの接続がイベント コールバック EvtSpbTargetDisconnect によって閉じられた場合、このメソッドは NULL 返します。

備考

コントローラー ドライバーは、このメソッドを呼び出して、バス上の開いているターゲット デバイスへの WDFFILEOBJECT ハンドルを取得できます。 SPB コントローラー ドライバーは、このようなハンドルを必要とする WDF メソッドへの入力パラメーターとして、このハンドルを使用できます。

SpbTargetGetFileObject は、ターゲットへの WDFFILEOBJECT ハンドルが閉じられた場合にのみ NULL を返しますが、閉じる前に、SPB コントローラー ドライバーが SBPTARGET オブジェクトの追加参照を取得してその有効期間を延長しました。

接続が閉じられ、SPB コントローラー ドライバーが SPBTARGET オブジェクトへの参照を保持していない場合、SBPTARGET ハンドルは無効になります。 SpbTargetGetFileObject 無効なハンドルを渡すと、バグ チェックが発生します。

SpbTargetGetFileObject が WDFFILEOBJECT ハンドルを返 後、別のオブジェクト (アクティブな I/O 要求など) が WDFFILEOBJECT オブジェクトへの参照を保持して予期せず閉じないようにしない限り、ターゲット接続が開いたままになる保証はありません。 このメソッドは、ターゲット接続が開かれていると保証されている場合に最も便利であり、したがって、呼び出される可能性が最も高くなります。 通常、このような呼び出しは、EvtSpbTargetConnect および EvtSpbTargetDisconnect コールバック、および I/O 要求の処理中に発生します。

必要条件

要件 価値
サポートされる最小クライアント Windows 8 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー spbcx.h
ライブラリ Spbcxstubs.lib
IRQL <= DISPATCH_LEVEL

関連項目

EvtSpbTargetConnect する

EvtSpbTargetDisconnect する

SPBTARGET