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.

Mengembalikan nilai

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 pengubah 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 terlebih dahulu 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

   
Target Platform Desktop
Header mcd.h (termasuk Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

Lihat juga

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium