IOCTL_AVC_BUS_RESET IOCTL (avc.h)

IOCTL_AVC_BUS_RESET I/O 控制代码允许调用方完成任何以前的IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO和IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO未使用AVC_SUBUNIT_ADDR_TRIGGERBUSRESET标志的控制请求。 它可用于用户模式以及通过IRP_MJ_DEVICE_CONTROL调度的内核模式组件。

对于驱动程序到驱动程序通信,它是METHOD_BUFFERED IOCTL,因此请相应地 (IrpStack-Parameters.DeviceIoControl.InputBufferLength> 和 Irp-AssociatedIrp.SystemBuffer>) 设置 IRP 字段。 此请求不需要任何其他参数,因此输入和输出缓冲区应设置为 NULL

此请求会导致 avc.sys 使其设备关系失效,这会导致 PnP 管理器请求更新的子设备对象列表 (虚拟子单元) 。 如果没有新的或已删除的子设备对象,则不会执行任何操作。 如果有新的或已删除的子设备对象,则其驱动程序将被加载或卸载,并且每个 PDO 将触发 1394 总线重置,因为每个 PDO 都已启动或删除。

主要代码

IRP_MJ_DEVICE_CONTROL

状态块

如果请求成功,则 Irp-IoStatus.Status> 设置为STATUS_SUCCESS。

否则,状态为相应的错误条件作为 NTSTATUS 代码。

有关详细信息,请参阅 NTSTATUS 值

注解

必须在 IRQL = PASSIVE_LEVEL

要求

   
Header avc.h

请参阅

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_CLASS

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO