Fungsi ChangerClassSendSrbSynchronous (mcd.h)

Rutinitas ChangerClassSendSrbSynchronous secara sinkron mengirimkan SRB ke perangkat tertentu.

Sintaks

NTSTATUS ChangerClassSendSrbSynchronous(
  [in] PDEVICE_OBJECT      DeviceObject,
  [in] PSCSI_REQUEST_BLOCK Srb,
  [in] PVOID               Buffer,
  [in] ULONG               BufferSize,
  [in] BOOLEAN             WriteToDevice
);

Parameter

[in] DeviceObject

Arahkan ke objek perangkat fungsi dari perangkat target.

[in] Srb

Pointer ke blok permintaan SCSI (SRB) yang diinisialisasi sebagian untuk dikirim ke perangkat target.

[in] Buffer

Menentukan alamat buffer yang harus dituju oleh Srb-DataBuffer>. ChangerClassSendSrbSynchronous membuat MDL untuk buffer ini dan meneruskannya ke driver perangkat target di IRP SRB.

[in] BufferSize

Menentukan panjang, dalam byte, dari buffer.

[in] WriteToDevice

Menunjukkan operasi tulis saat TRUE dan operasi baca saat FALSE.

Nilai kembali

Mengembalikan STATUS_SUCCESS jika SRB berhasil dikirimkan atau kode kesalahan yang sesuai jika SRB gagal atau tidak dapat dikirim karena alasan tertentu.

Keterangan

Driver miniclass changer dapat memanggil rutinitas driver kelas ini di Microsoft Windows XP dan sistem operasi yang lebih baru. Driver Miniclass harus menggunakan rutinitas ini untuk mengirim SRB ke driver port alih-alih memanggil pustaka classpnp.sys rutin ClassSendSrbSynchronous secara langsung. Meskipun classpnp.sys dikirim dengan Windows Driver Kit (WDK), itu bukan API yang didukung, dan driver yang memanggil rutinitas pustaka ini secara langsung mungkin tidak berfungsi dengan baik dalam rilis mendatang.

ChangerClassSendSrbSynchronous menyelesaikan inisialisasi SRB yang diinisialisasi sebagian, mengatur bendera SRB dengan nilai yang ditunjukkan dalam objek perangkat target. ChangerClassSendSrbSynchronous membuat IRP yang digunakan untuk menyampaikan SRB ke perangkat target, mengirim IRP, lalu menangani penyelesaian IRP.

Jika IRP gagal dan data permintaan pengertian menunjukkan bahwa IRP harus dicoba ulang, ChangerClassSendSrbSynchronous akan mengirim ulang IRP.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header mcd.h (termasuk Mcd.h, Ntddchgr.h)
Pustaka Mcd.lib

Lihat juga

SCSI_REQUEST_BLOCK