Поделиться через


IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO IOCTL (avc.h)

Код элемента управления IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO ввода-вывода управляет перечислением виртуальных вложенных элементов. Он доступен для пользовательского режима, а также компонентов режима ядра через IRP_MJ_DEVICE_CONTROL отправку. Для связи между драйверами это METHOD_BUFFERED IOCTL, поэтому задайте поля IRP соответствующим образом (IrpStack->Parameters.DeviceIoControl.InputBufferLength и Irp->AssociatedIrp.SystemBuffer).

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO используется для удаления всех идентификаторов подъединений одного типа. Идентификатор части адреса подъединения игнорируется.

Этот IOCTL использует структуру AVC_SUBUNIT_ADDR_SPEC.

Основной код

IRP_MJ_DEVICE_CONTROL

Блок состояния

В случае успешного выполнения драйвер протокола AV/C устанавливает для Irp->IoStatus.Status значение STATUS_SUCCESS.

Возможные другие возвращаемые значения:

Возвращаемое значение Описание
STATUS_INSUFFICIENT_RESOURCES Буфер не был передан или недостаточно ресурсов для выполнения запроса реестра.
STATUS_INVALID_BUFFER_SIZE Буфер, переданный в Irp->AssociatedIrp.SystemBuffer, должен иметь по крайней мере размер размером (AVC_SUBUNIT_ADDR_SPEC), который включает однобайтовый подсоединяемый адрес, но ограничен 32-байтовой подсоединителем.
STATUS_INVALID_PARAMETER Адрес подуниверсии был указан неправильно.
STATUS_ACCESS_DENIED Текущий пользователь имеет недостаточно прав доступа к реестру, чтобы сделать обновление постоянным.

Замечания

Должен вызываться в IRQL = PASSIVE_LEVEL.

Требования

Требование Ценность
заголовка avc.h (include Avc.h)

См. также

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_BUS_RESET

IOCTL_AVC_CLASS

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO