ChangerClassSendSrbSynchronous 関数 (mcd.h)
ChangerClassSendSrbSynchronous ルーチンは、指定されたデバイスに SRB を同期的に送信します。
構文
NTSTATUS ChangerClassSendSrbSynchronous(
[in] PDEVICE_OBJECT DeviceObject,
[in] PSCSI_REQUEST_BLOCK Srb,
[in] PVOID Buffer,
[in] ULONG BufferSize,
[in] BOOLEAN WriteToDevice
);
パラメーター
[in] DeviceObject
ターゲット デバイスの機能デバイス オブジェクトへのポインター。
[in] Srb
ターゲット デバイスに送信される部分的に初期化された SCSI 要求ブロック (SRB) へのポインター。
[in] Buffer
Srb-DataBuffer> が指すバッファーのアドレスを指定します。 ChangerClassSendSrbSynchronous は、このバッファーの MDL を作成し、SRB IRP のターゲット デバイス ドライバーに渡します。
[in] BufferSize
バッファーの長さをバイト単位で指定します。
[in] WriteToDevice
TRUE の場合は書き込み操作、FALSE の場合は読み取り操作を示します。
戻り値
SRB が正常に送信された場合はSTATUS_SUCCESS、SRB が失敗した場合、または何らかの理由で送信できない場合は、適切なエラー コードを返します。
注釈
Changer ミニクラス ドライバーは、Microsoft Windows XP 以降のオペレーティング システムでこのクラス ドライバー ルーチンを呼び出すことができます。 ミニクラス ドライバーは、 classpnp.sysライブラリ ルーチン ClassSendSrbSynchronous を直接呼び出す代わりに、このルーチンを使用してポート ドライバーに SRB を送信する必要があります。 classpnp.sys は Windows Driver Kit (WDK) に付属していますが、サポートされている API ではありません。このライブラリのルーチンを直接呼び出すドライバーは、今後のリリースでは正しく機能しない可能性があります。
ChangerClassSendSrbSynchronous は、部分的に初期化された SRB の初期化を完了し、ターゲットのデバイス オブジェクトに示されている値を使用して SRB のフラグを設定します。 ChangerClassSendSrbSynchronous は、SRB をターゲット デバイスに伝達し、IRP を送信し、IRP の完了を処理するために使用される IRP を作成します。
IRP が失敗し、センス要求データが IRP を再試行する必要があることを示している場合、 ChangerClassSendSrbSynchronous は IRP を再送信します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | mcd.h (Mcd.h、Ntddchgr.h を含む) |
Library | Mcd.lib |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示