Fungsi ChangerSetAccess (mcd.h)

ChangerSetAccess menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_SET_ACCESS.

Sintaks

NTSTATUS ChangerSetAccess(
  [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 akses pengaturan, ChangerSetAccess mengembalikan nilai STATUS_XXX yang dikembalikan oleh driver port sistem atau salah satu nilai berikut:

STATUS_SUCCESS

STATUS_INSUFFICIENT_RESOURCES

STATUS_INVALID_PARAMETER

Jika pengubah tidak mendukung akses pengaturan, ChangerSetAccess mengembalikan STATUS_INVALID_DEVICE_REQUEST.

Keterangan

Rutinitas ini diperlukan.

ChangerSetAccess mengunci atau membuka kunci IEport, pintu, atau keypad pengubah, dan memperluas atau mencabut IEport.

Driver kelas pengubah memeriksa panjang buffer input di lokasi tumpukan I/O sebelum memanggil ChangerSetAccess. Irp-SystemBuffer> menunjuk ke struktur CHANGER_SET_ACCESS sebagai parameter input yang menunjukkan elemen yang akan diatur dan operasi yang akan dilakukan.

ChangerSetAccess terlebih dahulu memeriksa elemen dan operasi yang tidak didukung, dan mengembalikan kode status yang sesuai untuk yang tidak didukungnya.

Selanjutnya, ChangerSetAccess menerjemahkan alamat elemen berbasis nol yang diteruskan oleh sistem ke alamat elemen khusus perangkat yang diperlukan oleh pengubah.

Terakhir, ChangerSetAccess membangun SRB dengan CDB untuk operasi yang diberikan pada elemen tertentu dan mengirimkannya ke driver port sistem. Perintah yang akan digunakan tergantung pada pengubah. Misalnya, driver miniclass Exabyte menggunakan perintah SCSI PREVENT ALLOW MEDIUM REMOVAL untuk mengunci atau membuka kunci pintu changer dan MOVE MEDIUM untuk memperpanjang atau mencabut IEport.

Persyaratan

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

Lihat juga

CHANGER_SET_ACCESS

GET_CHANGER_PARAMETERS

IOCTL_CHANGER_SET_ACCESS