IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO IOCTL (avc.h)
Le code de contrôle d’E/S IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO contrôle l’énumération des sous-unités virtuelles. Il est disponible pour le mode utilisateur ainsi que pour les composants en mode noyau via la répartition IRP_MJ_DEVICE_CONTROL. Pour la communication de pilote à pilote, il s’agit d’un METHOD_BUFFERED IOCTL. Définissez donc les champs IRP en conséquence (IrpStack-Parameters.DeviceIoControl.InputBufferLength> et Irp-AssociatedIrp.SystemBuffer>).
IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO est utilisé pour supprimer tous les ID de sous-unités d’un type unique. La partie ID de l’adresse de sous-unité est ignorée.
Cet IOCTL utilise la structure AVC_SUBUNIT_ADDR_SPEC.
Code principal
Bloc d’état
En cas de réussite, le pilote de protocole AV/C définit Irp-IoStatus.Status>sur STATUS_SUCCESS.
Les autres valeurs de retour possibles sont les suivantes :
Valeur de retour | Description |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Aucune mémoire tampon n’a été passée ou les ressources disponibles sont insuffisantes pour effectuer une requête de Registre. |
STATUS_INVALID_BUFFER_SIZE | La mémoire tampon passée dans Irp->AssociatedIrp.SystemBuffer doit être au moins aussi grande que sizeof(AVC_SUBUNIT_ADDR_SPEC), qui inclut une adresse de sous-unité sur un octet, mais limitée à une adresse de sous-unité de 32 octets. |
STATUS_INVALID_PARAMETER | L’adresse de la sous-unité a été spécifiée incorrectement. |
STATUS_ACCESS_DENIED | L’utilisateur actuel dispose de privilèges d’accès au Registre insuffisants pour rendre la mise à jour persistante. |
Remarques
Doit être appelé à l’adresse IRQL = PASSIVE_LEVEL.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | avc.h (inclure Avc.h) |