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,因此请相应地设置 IRP 字段(IrpStack->Parameters.DeviceIoControl.InputBufferLength 和 Irp->AssociatedIrp.SystemBuffer)。 此请求不需要任何其他参数,因此输入和输出缓冲区应设置为 NULL。
此请求会导致 avc.sys 使其设备关系失效,这会导致 PnP 管理器请求更新的子设备对象列表(虚拟子单元)。 如果没有新的或已删除的子设备对象,则不会执行任何作。 如果有新的或已删除的子设备对象,则会加载或卸载其驱动程序,并且每个 PDO 将触发 1394 总线重置,因为每个 PDO 都已启动或删除。
主要代码
状态块
Irp->IoStatus.Status 设置为STATUS_SUCCESS(如果请求成功)。
否则,状态为相应的错误条件作为 NTSTATUS 代码。
有关详细信息,请参阅 NTSTATUS 值。
言论
必须在 IRQL = PASSIVE_LEVEL
要求
要求 | 价值 |
---|---|
标头 | avc.h |