IOCTL_AVC_BUS_RESET IOCTL (avc.h)
Der IOCTL_AVC_BUS_RESET E/A-Steuerungscode ermöglicht es dem Aufrufer, alle vorherigen IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO und IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO-Steuerelementanforderungen auszuführen, die nicht das AVC_SUBUNIT_ADDR_TRIGGERBUSRESET-Flag verwendet haben. Sie ist für Benutzermodus- und Kernelmoduskomponenten über die IRP_MJ_DEVICE_CONTROL Dispatch verfügbar.
Für die Kommunikation zwischen Treibern handelt es sich um eine METHOD_BUFFERED IOCTL. Legen Sie daher die IRP-Felder entsprechend fest (IrpStack-Parameters.DeviceIoControl.InputBufferLength> und Irp-AssociatedIrp.SystemBuffer>). Für diese Anforderung sind keine zusätzlichen Parameter erforderlich, sodass die Eingabe- und Ausgabepuffer auf NULL festgelegt werden sollten.
Diese Anforderung führt dazu , dassavc.sysseine Gerätebeziehungen ungültig macht, was dazu führt, dass der PnP-Manager nach einer aktualisierten Liste der untergeordneten Geräteobjekte (virtuelle Untereinheiten) fragt. Wenn keine neuen oder entfernten untergeordneten Geräteobjekte vorhanden sind, wird keine Aktion ausgeführt. Wenn neue oder entfernte untergeordnete Geräteobjekte vorhanden sind, werden ihre Treiber geladen oder entladen, und eine 1394-Buszurücksetzung wird für jedes PDO ausgelöst, wenn jede gestartet oder entfernt wird.
Hauptcode
Statusblock
Irp-IoStatus.Status> wird auf STATUS_SUCCESS festgelegt, wenn die Anforderung erfolgreich ist.
Andernfalls wird Status zur entsprechenden Fehlerbedingung als NTSTATUS-Code verwendet.
Weitere Informationen finden Sie unter NTSTATUS-Werte.
Hinweise
Muss unter IRQL = PASSIVE_LEVEL aufgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | avc.h |