Freigeben über


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

IRP_MJ_DEVICE_CONTROL

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)

Siehe auch

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_BUS_RESET

IOCTL_AVC_CLASS

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO