IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO IOCTL (avc.h)
Der IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO E/A-Steuerungscode steuert die Enumeration virtueller Untereinheiten. 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>).
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 es standen nicht genügend Ressourcen zum Ausführen einer Registrierungsabfrage zur Verfügung. |
STATUS_INVALID_BUFFER_SIZE | Der in Irp->AssociatedIrp.SystemBuffer übergebene Puffer muss mindestens so groß sein wie sizeof(AVC_SUBUNIT_ADDR_SPEC), die eine Single-Byte-Untereinheitsadresse enthält, aber auf eine 32-Byte-Untereinheitsadresse beschränkt sein. |
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. |
Hinweise
Muss unter IRQL = PASSIVE_LEVEL aufgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | avc.h (include Avc.h) |