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 |