IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO IOCTL (avc.h)

Kode kontrol I/O IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO mengontrol enumerasi subunit virtual. Ini tersedia untuk mode pengguna serta komponen mode kernel melalui pengiriman IRP_MJ_DEVICE_CONTROL. Untuk komunikasi driver-ke-driver, ini adalah METHOD_BUFFERED IOCTL, jadi atur bidang IRP yang sesuai (IrpStack-Parameters.DeviceIoControl.InputBufferLength> dan Irp-AssociatedIrp.SystemBuffer>).

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO digunakan untuk menambahkan atau menghapus ID subunit dari satu jenis. Panggilan berturut-turut dengan bagian ID yang berbeda dari alamat subunit menyebabkan jumlah ID yang dijumlahkan berubah. Perhatikan bahwa avc.sys menambahkan atau menghapus ID tertinggi saja. Ini adalah batasan spesifikasi AV/C, bukan implementasi driver.

IOCTL ini menggunakan struktur AVC_SUBUNIT_ADDR_SPEC.

Kode utama

IRP_MJ_DEVICE_CONTROL

Blok status

Jika berhasil, driver protokol AV/C mengatur Irp-IoStatus.Status>ke STATUS_SUCCESS.

Kemungkinan nilai pengembalian lainnya meliputi:

Tampilkan Nilai Deskripsi
STATUS_INSUFFICIENT_RESOURCES Tidak ada buffer yang diteruskan, atau sumber daya yang tidak mencukup tersedia untuk melakukan kueri registri.
STATUS_INVALID_BUFFER_SIZE Buffer yang diteruskan di Irp->AssociatedIrp.SystemBuffer harus setidaknya sebesar sizeof(AVC_SUBUNIT_ADDR_SPEC) yang mencakup alamat subunit byte tunggal, tetapi terbatas pada alamat subunit 32 byte.
STATUS_INVALID_PARAMETER Alamat subunit ditentukan dengan tidak benar.
STATUS_ACCESS_DENIED Pengguna saat ini memiliki hak istimewa akses registri yang tidak memadai untuk membuat pembaruan tetap ada.

Keterangan

Harus dipanggil di IRQL = PASSIVE_LEVEL.

Persyaratan

Persyaratan Nilai
Header avc.h (termasuk Avc.h)

Lihat juga

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_BUS_RESET

IOCTL_AVC_CLASS

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO