Condividi tramite


IOCTL_AVC_BUS_RESET IOCTL (avc.h)

Il codice di controllo I/O IOCTL_AVC_BUS_RESET consente al chiamante di completare qualsiasi IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO precedente e IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO richieste di controllo che non utilizzano il flag di AVC_SUBUNIT_ADDR_TRIGGERBUSRESET. È 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). Questa richiesta non richiede parametri aggiuntivi, pertanto i buffer di input e di output devono essere impostati su NULL.

Questa richiesta causa avc.sys invalidare le relazioni tra i dispositivi, il che comporta la richiesta da parte del gestore PnP di un elenco aggiornato di oggetti dispositivo figlio (sottouniti virtuali). Se non sono presenti oggetti dispositivo figlio nuovi o rimossi, non verrà eseguita alcuna azione. Se sono presenti oggetti dispositivo figlio nuovi o rimossi, i driver verranno caricati o scaricati e verrà attivata una reimpostazione del bus 1394 per ogni PDO all'avvio o alla rimozione.

Codice principale

IRP_MJ_DEVICE_CONTROL

Blocco di stato

Irp->IoStatus.Status è impostato su STATUS_SUCCESS se la richiesta ha esito positivo.

In caso contrario, stato della condizione di errore appropriata come codice NTSTATUS.

Per altre informazioni, vedere valori NTSTATUS.

Osservazioni

Deve essere chiamato in IRQL = PASSIVE_LEVEL

Fabbisogno

Requisito Valore
intestazione avc.h

Vedere anche

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_CLASS

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO