Bagikan melalui


Fungsi ChangerSetPosition (mcd.h)

ChangerSetPosition menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_SET_POSITION.

Sintaks

NTSTATUS ChangerSetPosition(
  [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 pengaturan posisi elemen transportasi, ChangerSetPosition mengembalikan status yang dikembalikan oleh driver port sistem, atau salah satu nilai berikut:

STATUS_SUCCESS

STATUS_INFO_LENGTH_MISMATCH

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

Jika pengubah tidak mendukung pengaturan posisi elemen transportasi, ChangerSetPosition mengembalikan STATUS_INVALID_DEVICE_REQUEST.

Keterangan

Rutinitas ini diperlukan.

ChangerSetPosition mengatur mekanisme transportasi robotik pengubah ke tujuan yang ditentukan, biasanya untuk mengoptimalkan pemindahan atau pertukaran media dengan terlebih dahulu memposisikan transportasi.

Bendera CHANGER_POSITION_TO_ELEMENT di Fitur0GET_CHANGER_PARAMETERS menunjukkan apakah pengubah mendukung fungsionalitas ini.

Driver kelas changer memeriksa panjang buffer input di lokasi tumpukan I/O sebelum memanggil ChangerSetPosition. Irp-SystemBuffer> menunjuk ke struktur CHANGER_SET_POSITION sebagai parameter input yang menunjukkan elemen transportasi dan tujuan yang akan diatur.

ChangerSetPosition pertama-tama memverifikasi bahwa alamat elemen transportasi dan tujuan valid dan mengonversi alamat elemen berbasis nol ke alamat khusus perangkat. Kemudian membangun SRB dengan CDB untuk memposisikan elemen dan mengirimkannya ke driver port sistem.

ChangerSetPosition mengatur bidang Informasi di blok status I/O ke sizeof(CHANGER_SET_POSITION) sebelum kembali ke driver kelas changer.

Persyaratan

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

Lihat juga

, IOCTL_CHANGER_SET_POSITION

CHANGER_ELEMENT

CHANGER_SET_POSITION