Freigeben über


IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO IOCTL (avc.h)

Der IOCTL_AVC_UPDATE_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_UPDATE_VIRTUAL_SUBUNIT_INFO wird verwendet, um Untereinheits-IDs eines einzelnen Typs hinzuzufügen oder zu entfernen. Nachfolgende Aufrufe mit einem anderen ID-Teil der Untereinheitsadresse bewirken, dass sich die Anzahl der aufgezählten IDs ändert. Beachten Sie, dass avc.sys nur die höchsten IDs hinzufügt oder entfernt. Dies ist eine Einschränkung der AV/C-Spezifikation, nicht der Treiberimplementierung.

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 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)

Weitere Informationen

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_BUS_RESET

IOCTL_AVC_CLASS

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO