IOCTL_AVC_BUS_RESET IOCTL (avc.h)
Код элемента управления IOCTL_AVC_BUS_RESET ввода-вывода позволяет вызывающему объекту выполнять любые предыдущие IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO и IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO запросы управления, которые не использовали флаг AVC_SUBUNIT_ADDR_TRIGGERBUSRESET. Он доступен для пользовательского режима, а также компонентов режима ядра через IRP_MJ_DEVICE_CONTROL отправку.
Для связи между драйверами это METHOD_BUFFERED IOCTL, поэтому задайте поля IRP соответствующим образом (IrpStack->Parameters.DeviceIoControl.InputBufferLength и Irp->AssociatedIrp.SystemBuffer). Этот запрос не требует дополнительных параметров, поэтому входные и выходные буферы должны иметь значение NULL.
Этот запрос приводит к тому, что avc.sys отменять отношения устройств, что приводит к тому, что диспетчер PnP запрашивает обновленный список дочерних объектов устройств (виртуальных подъединений). Если нет новых или удаленных дочерних объектов устройства, действие не будет предприняно. Если есть новые или удаленные дочерние объекты устройства, их водители будут загружены или выгружены, а сброс 1394 шины будет активирован для каждого PDO при запуске или удалении каждого из них.
Основной код
Блок состояния
Irp->IoStatus.Status имеет значение STATUS_SUCCESS, если запрос выполнен успешно.
В противном случае состояние соответствующего условия ошибки в виде кода NTSTATUS.
Дополнительные сведения см. в значения NTSTATUS.
Замечания
Должен вызываться в IRQL = PASSIVE_LEVEL
Требования
Требование | Ценность |
---|---|
заголовка | avc.h |