EVT_WDF_DRIVER_DEVICE_ADD funzione di callback (wdfdriver.h)
[Si applica a KMDF e UMDF]
La funzione di callback dell'evento EvtDriverDeviceAdd di un driver esegue operazioni di inizializzazione del dispositivo quando il gestore di Plug and Play (PnP) segnala l'esistenza di un dispositivo.
Sintassi
EVT_WDF_DRIVER_DEVICE_ADD EvtWdfDriverDeviceAdd;
NTSTATUS EvtWdfDriverDeviceAdd(
[in] WDFDRIVER Driver,
[in, out] PWDFDEVICE_INIT DeviceInit
)
{...}
Parametri
[in] Driver
Handle per un oggetto driver framework che rappresenta il driver.
[in, out] DeviceInit
Puntatore a una struttura di WDFDEVICE_INIT allocata dal framework.
Valore restituito
La funzione di callbackEvtDriverDeviceAdd deve restituire STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questa funzione di callback deve restituire uno dei valori di stato di errore definiti in Ntstatus.h. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
Commenti
Ogni driver basato su framework che supporta i dispositivi PnP deve fornire la funzione di callback EvtDriverDeviceAdd . Il driver deve inserire l'indirizzo della funzione di callback nella struttura WDF_DRIVER_CONFIG prima di chiamare WdfDriverCreate.
Il framework chiama la funzione di callback EvtDriverDeviceAdd del driver dopo che un driver del bus rileva un dispositivo con un identificatore hardware (ID) che corrisponde a un ID hardware supportato dal driver. Specificare gli ID hardware supportati dal driver fornendo un file INF, che il sistema operativo usa per installare i driver la prima volta che uno dei dispositivi è connesso al computer. Per altre informazioni su come il sistema usa i file INF e gli ID hardware, vedere How Setup Selects Drivers .For more information about how the system uses INF files and hardware ID, see How Setup Selects Drivers.
La funzione di callback EvtDriverDeviceAdd di un driver esegue in genere almeno alcune delle operazioni di inizializzazione seguenti:
-
Creare un oggetto dispositivo framework per rappresentare il dispositivo.
-
Creare code di I/O in modo che il driver possa ricevere richieste di I/O.
-
Creare interfacce di dispositivo usate dalle applicazioni per comunicare con il dispositivo.
-
Creare interfacce definite dal driver che altri driver possono usare.
- Inizializzare il supporto di Strumentazione gestione Windows (WMI).
-
Creare oggetti interrupt, se il driver gestisce gli interrupt del dispositivo.
-
Abilitare le transazioni DMA (Direct Memory Access), se il driver gestisce le operazioni DMA.
Se la funzione di callback EvtDriverDeviceAdd di un driver crea un oggetto dispositivo ma non restituisce STATUS_SUCCESS, il framework elimina l'oggetto dispositivo e i relativi dispositivi figlio.
Se la funzione di callback EvtDriverDeviceAdd di un driver di funzione non restituisce STATUS_SUCCESS, la gestione di I/O non crea uno stack di dispositivi per il dispositivo.
Se la funzione di callback EvtDriverDeviceAdd di un driver di filtro non restituisce STATUS_SUCCESS, il framework converte il valore restituito in STATUS_SUCCESS e il gestore di I/O compila lo stack di dispositivi senza il driver di filtro.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdriver.h (include Wdf.h) |
IRQL | PASSIVE_LEVEL |