Condividi tramite


IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO IOCTL (avc.h)

Il codice di controllo I/O IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO controlla l'enumerazione delle sottounità virtuali. È disponibile per la modalità utente e per i componenti in modalità kernel tramite l'invio IRP_MJ_DEVICE_CONTROL. Per la comunicazione da driver a driver, si tratta di un METHOD_BUFFERED IOCTL, quindi impostare i campi IRP di conseguenza (IrpStack-Parameters.DeviceIoControl.InputBufferLength> e Irp-AssociatedIrp.SystemBuffer>).

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO viene usato per rimuovere tutti gli ID subunit di un singolo tipo. La parte ID dell'indirizzo di subunit viene ignorata.

Questo IOCTL usa la struttura AVC_SUBUNIT_ADDR_SPEC.

Codice principale

IRP_MJ_DEVICE_CONTROL

Blocco dello stato

In caso di esito positivo, il driver del protocollo AV/C imposta Irp-IoStatus.Status>su STATUS_SUCCESS.

Gli altri valori restituiti possibili includono:

Valore restituito Descrizione
STATUS_INSUFFICIENT_RESOURCES Non è stato passato alcun buffer o risorse insufficienti per eseguire una query del Registro di sistema.
STATUS_INVALID_BUFFER_SIZE Il buffer passato in Irp->AssociatedIrp.SystemBuffer deve essere almeno grande quanto sizeof(AVC_SUBUNIT_ADDR_SPEC) che include un indirizzo subunit a byte singolo, ma limitato a un indirizzo subunit a 32 byte.
STATUS_INVALID_PARAMETER L'indirizzo di subunit è stato specificato in modo non corretto.
STATUS_ACCESS_DENIED L'utente corrente dispone di privilegi di accesso al Registro di sistema insufficienti per rendere persistente l'aggiornamento.

Commenti

Deve essere chiamato in IRQL = PASSIVE_LEVEL.

Requisiti

Requisito Valore
Intestazione avc.h (include Avc.h)

Vedi anche

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_BUS_RESET

IOCTL_AVC_CLASS

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO