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.
Основной код
Блок состояния
В случае успешного выполнения драйвер протокола AV/C устанавливает Irp-IoStatus.Status>в STATUS_SUCCESS.
Возможные другие возвращаемые значения:
Возвращаемое значение | Описание |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Буфер не передан или недостаточно ресурсов для выполнения запроса в реестре. |
STATUS_INVALID_BUFFER_SIZE | Буфер, передаваемый в Irp->AssociatedIrp.SystemBuffer, должен быть не меньше размера sizeof(AVC_SUBUNIT_ADDR_SPEC), который включает однобайтовый адрес подсоединителя, но ограничен 32-байтным адресом подсоединителя. |
STATUS_INVALID_PARAMETER | Адрес подсоединия был указан неправильно. |
STATUS_ACCESS_DENIED | Текущий пользователь имеет недостаточно прав доступа к реестру, чтобы сделать обновление постоянным. |
Комментарии
Должен вызываться по адресу IRQL = PASSIVE_LEVEL.
Требования
Требование | Значение |
---|---|
Заголовок | avc.h (включая Avc.h) |