共用方式為


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

FALSE時,TRUE 和讀取作業時,表示寫入作業。

傳回值

如果 SRB 成功傳輸,或 SRB 失敗或因某些原因而無法傳送適當的錯誤碼,則傳回STATUS_SUCCESS。

言論

Changer 迷你類別驅動程式可以在Microsoft Windows XP 和更新版本的作系統中呼叫這個類別驅動程式例程。 迷你類別驅動程式應該使用此例程將 SRB 傳送至埠驅動程式,而不是直接 呼叫 classSendSrbSynchronousclasspnp.sys 連結庫例程。 雖然 classpnp.sys 隨附於 Windows 驅動程式套件 (WDK),但它不是支援的 API,而且直接呼叫此連結庫例程的驅動程式在未來版本中可能無法正常運作。

ChangerClassSendSrbSynchronous 完成部分初始化 SRB 的初始化,並使用目標裝置物件中指示的值設定 SRB 旗標。 ChangerClassSendSrbSynchronous 會建立用來將 SRB 傳達至目標裝置的 IRP、傳送 IRP,然後處理 IRP 的完成。

如果 IRP 失敗,且感知要求數據指出應該重試 IRP,ChangerClassSendSendSrbSynchronous 會重新傳送 IRP。

要求

要求 價值
目標平臺 桌面
標頭 mcd.h (包括 Mcd.h、 Ntddchgr.h)
連結庫 Mcd.lib

另請參閱

SCSI_REQUEST_BLOCK