Condividi tramite


IOCTL_AVC_BUS_RESET IOCTL (avc.h)

Il codice di controllo IOCTL_AVC_BUS_RESET I/O 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 usavano 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, è 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 del dispositivo, che comporta la richiesta 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 oggetto PDO avviato o rimosso.

Codice principale

IRP_MJ_DEVICE_CONTROL

Blocco dello 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.

Commenti

Deve essere chiamato in IRQL = PASSIVE_LEVEL

Requisiti

Requisito Valore
Intestazione avc.h

Vedi anche

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_CLASS

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO