IOCTL_AVC_BUS_RESET IOCTL (avc.h)

Kode kontrol I/O IOCTL_AVC_BUS_RESET memungkinkan pemanggil untuk menyelesaikan permintaan kontrol IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO dan IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO sebelumnya yang tidak menggunakan bendera AVC_SUBUNIT_ADDR_TRIGGERBUSRESET. Ini tersedia untuk mode pengguna serta komponen mode kernel melalui pengiriman IRP_MJ_DEVICE_CONTROL.

Untuk komunikasi driver-to-driver, ini adalah METHOD_BUFFERED IOCTL, jadi atur bidang IRP yang sesuai (IrpStack-Parameters.DeviceIoControl.InputBufferLength> dan Irp-AssociatedIrp.SystemBuffer>). Permintaan ini tidak memerlukan parameter tambahan, sehingga buffer input dan output harus diatur ke NULL.

Permintaan ini menyebabkan avc.sys membatalkan hubungan perangkatnya, yang mengakibatkan manajer PnP meminta daftar objek perangkat anak yang diperbarui (subunit virtual). Jika tidak ada objek perangkat anak baru atau yang dihapus, tidak ada tindakan yang akan diambil. Jika ada objek perangkat anak baru atau yang dihapus, driver mereka akan dimuat atau dibongkar, dan reset bus 1394 akan dipicu untuk setiap PDO saat masing-masing dimulai atau dihapus.

Kode utama

IRP_MJ_DEVICE_CONTROL

Blok status

Irp-IoStatus.Status> diatur ke STATUS_SUCCESS jika permintaan berhasil.

Jika tidak, Status ke kondisi kesalahan yang sesuai sebagai kode NTSTATUS.

Untuk informasi selengkapnya, lihat Nilai NTSTATUS.

Keterangan

Harus dipanggil di IRQL = PASSIVE_LEVEL

Persyaratan

Persyaratan Nilai
Header avc.h

Lihat juga

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_CLASS

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO