Fungsi ChangerMoveMedium (mcd.h)
ChangerMoveMedium menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_MOVE_MEDIUM.
Sintaks
NTSTATUS ChangerMoveMedium(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp
);
Parameter
[in] DeviceObject
Arahkan ke objek perangkat yang mewakili pengubah.
[in] Irp
Arahkan ke IRP.
Nilai kembali
ChangerMoveMedium mengembalikan status yang dikembalikan oleh driver port sistem, atau salah satu nilai berikut:
STATUS_SUCCESS
STATUS_DESTINATION_ELEMENT_FULL
STATUS_INVALID_ELEMENT_ADDRESS
STATUS_INVALID_DEVICE_REQUEST
STATUS_INVALID_PARAMETER
STATUS_INSUFFICIENT_RESOURCES
STATUS_SOURCE_ELEMENT_EMPTY
Keterangan
Rutinitas ini diperlukan.
ChangerMoveMedium memindahkan sepotong media dari satu elemen ke elemen lainnya.
Driver kelas changer memeriksa panjang buffer input di lokasi tumpukan I/O sebelum memanggil ChangerMoveMedium. Irp-SystemBuffer>menunjuk ke struktur CHANGER_MOVE_MEDIUM yang menunjukkan elemen transportasi, sumber, tujuan, dan apakah akan membalik media.
ChangerMoveMedium pertama-tama memverifikasi bahwa alamat elemen transportasi, sumber, dan tujuan valid lalu mengonversi alamat elemen berbasis nol ke alamat khusus perangkat. Kemudian membangun SRB dengan CDB untuk memindahkan bagian media dan mengirimkannya ke driver port sistem.
ChangerMoveMedium mengatur bidang Informasi di blok status I/O ke sizeof(CHANGER_MOVE_MEDIUM) sebelum kembali ke driver kelas changer.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | mcd.h (termasuk Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |