Condividi tramite


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:

Alcuni driver, in particolare i driver di filtro, potrebbero non creare oggetti dispositivo per alcuni dispositivi. Se una funzione di callback EvtDriverDeviceAdd non crea un oggetto dispositivo, deve comunque restituire STATUS_SUCCESS a meno che non sia stato rilevato un errore.

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

Vedi anche

WDFDEVICE_INIT

WDF_DRIVER_CONFIG

WdfDriverCreate