IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO IOCTL (avc.h)
Der IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO E/A-Steuerelementcode steuert die Enumeration virtueller Untereinheiten. Sie ist für den Benutzermodus sowie Kernelmoduskomponenten über den IRP_MJ_DEVICE_CONTROL Dispatch verfügbar. Für die Treiber-zu-Treiber-Kommunikation ist es ein METHOD_BUFFERED IOCTL. Legen Sie daher die IRP-Felder entsprechend fest (IrpStack->Parameters.DeviceIoControl.InputBufferLength und Irp->AssociatedIrp.SystemBuffer).
IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO wird verwendet, um alle Untereinheits-IDs eines einzelnen Typs zu entfernen. Der ID-Teil der Untereinheitsadresse wird ignoriert.
Diese IOCTL verwendet die AVC_SUBUNIT_ADDR_SPEC Struktur.
Hauptcode
Statusblock
Bei erfolgreicher Ausführung legt der AV/C-Protokolltreiber Irp->IoStatus.Status-auf STATUS_SUCCESS fest.
Mögliche andere Rückgabewerte sind:
Rückgabewert | Beschreibung |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Es wurde kein Puffer übergeben oder nicht genügend Ressourcen zum Ausführen einer Registrierungsabfrage verfügbar. |
STATUS_INVALID_BUFFER_SIZE | Der in Irp->AssociatedIrp.SystemBuffer übergebene Puffer muss mindestens so groß wie "sizeof(AVC_SUBUNIT_ADDR_SPEC)" sein, das eine Single-Byte-Untereinheitsadresse enthält, jedoch auf eine 32 Byte-Untereinheitsadresse beschränkt ist. |
STATUS_INVALID_PARAMETER | Die Untereinheitsadresse wurde falsch angegeben. |
STATUS_ACCESS_DENIED | Der aktuelle Benutzer verfügt über unzureichende Registrierungszugriffsberechtigungen, um das Update dauerhaft zu machen. |
Bemerkungen
Muss bei IRQL = PASSIVE_LEVEL aufgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Header- | avc.h (include Avc.h) |