Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
[Si applica a KMDF e UMDF]
Il driver EvtDriverDeviceAdd funzione di callback degli eventi esegue operazioni di inizializzazione del dispositivo quando il gestore 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
L'EvtDriverDeviceAdd funzione di callback deve restituire STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questa funzione di callback deve restituire uno dei valori di stato dell'errore definiti in Ntstatus.h. Per altre informazioni, vedere la sezione Osservazioni seguente.
Osservazioni:
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 il driver EvtDriverDeviceAdd funzione di callback 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.
Un driver EvtDriverDeviceAdd funzione di callback 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 che le applicazioni usano per comunicare con il dispositivo.
-
Creare interfacce definite dal driver che altri driver possono usare.
- Inizializzare 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 un driver EvtDriverDeviceAdd funzione di callback crea un oggetto dispositivo ma non restituisce STATUS_SUCCESS, il framework elimina l'oggetto dispositivo e i relativi dispositivi figlio.
Se un driver di funzione EvtDriverDeviceAdd funzione di callback non restituisce STATUS_SUCCESS, il gestore di I/O non crea uno stack di dispositivi per il dispositivo.
Se il driver di filtro EvtDriverDeviceAdd funzione di callback 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 minima di KMDF | 1.0 |
versione minima di UMDF | 2.0 |
intestazione | wdfdriver.h (include Wdf.h) |
IRQL | PASSIVE_LEVEL |