Bagikan melalui


Fungsi ChangerReinitializeUnit (mcd.h)

ChangerReinitializeUnit menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_REINITIALIZE_TRANSPORT.

Sintaks

NTSTATUS ChangerReinitializeUnit(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Parameter

[in] DeviceObject

Arahkan ke objek perangkat yang mewakili pengubah.

[in] Irp

Arahkan ke IRP.

Nilai kembali

Jika pengubah mendukung pengulangan elemen transportasi, ChangerReinitializeUnit mengembalikan nilai STATUS_XXX yang dikembalikan oleh driver port sistem, atau salah satu nilai berikut:

STATUS_SUCCESS

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

Jika pengubah tidak mendukung pengulangan elemen transportasi, ChangerReinitializeUnit mengembalikan STATUS_INVALID_DEVICE_REQUEST.

Keterangan

Rutinitas ini diperlukan.

ChangerReinitializeUnit menyebabkan pengubah mengkalibrasi ulang elemen transportasinya. Tergantung pada pengubahnya, ini dapat mengembalikan transportasi ke posisi "rumah". Driver kelas pengubah biasanya memanggil ChangerReinitializeUnit setelah pengubah diaktifkan atau aplikasi panggilan telah memulai operasi pemulihan. Bendera CHANGER_DEVICE_REINITIALIZE_CAPABLE di Fitur0GET_CHANGER_PARAMETERS menunjukkan apakah transportasi pengubah mendukung kalibrasi ulang dalam keadaan tersebut.

Driver kelas pengubah memeriksa panjang buffer input di lokasi tumpukan I/O sebelum memanggil ChangerReinitializeUnit. Irp-SystemBuffer> menunjuk ke struktur CHANGER_ELEMENT yang menunjukkan elemen untuk dikalibrasi ulang.

ChangerReinitializeUnit membangun SRB dengan CDB untuk memposisikan elemen transportasi dan mengirimkannya ke driver port sistem.

ChangerReinitializeUnit mengatur bidang Informasi di blok status I/O ke sizeof(CHANGER_ELEMENT) sebelum kembali ke driver kelas pengubah.

Persyaratan

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

Lihat juga

, IOCTL_CHANGER_REINITIALIZE_TRANSPORT

CHANGER_ELEMENT

GET_CHANGER_PARAMETERS