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 di stato

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

I possibili altri valori restituiti 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 come sizeof(AVC_SUBUNIT_ADDR_SPEC) che include un indirizzo di subunit a byte singolo, ma limitato a un indirizzo di subunit da 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.

Osservazioni

Deve essere chiamato in IRQL = PASSIVE_LEVEL.

Fabbisogno

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

Vedere anche

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_BUS_RESET

IOCTL_AVC_CLASS

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO