EVT_WDF_DRIVER_DEVICE_ADD función de devolución de llamada (wdfdriver.h)

[Se aplica a KMDF y UMDF]

La función de devolución de llamada de eventos EvtDriverDeviceAdd de un controlador realiza operaciones de inicialización de dispositivos cuando el administrador de Plug and Play (PnP) informa de la existencia de un dispositivo.

Sintaxis

EVT_WDF_DRIVER_DEVICE_ADD EvtWdfDriverDeviceAdd;

NTSTATUS EvtWdfDriverDeviceAdd(
  [in]      WDFDRIVER Driver,
  [in, out] PWDFDEVICE_INIT DeviceInit
)
{...}

Parámetros

[in] Driver

Identificador de un objeto de controlador de marco que representa el controlador.

[in, out] DeviceInit

Puntero a una estructura de WDFDEVICE_INIT asignada por el marco.

Valor devuelto

La función de devolución de llamadaEvtDriverDeviceAdd debe devolver STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, esta función de devolución de llamada debe devolver uno de los valores de estado de error definidos en Ntstatus.h. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

Comentarios

Cada controlador basado en marcos que admita dispositivos PnP debe proporcionar la función de devolución de llamada EvtDriverDeviceAdd . El controlador debe colocar la dirección de la función de devolución de llamada en su estructura de WDF_DRIVER_CONFIG antes de llamar a WdfDriverCreate.

El marco llama a la función de devolución de llamada EvtDriverDeviceAdd del controlador después de que un controlador de bus detecte un dispositivo que tenga un identificador de hardware (ID) que coincida con un identificador de hardware que admita el controlador. Especifique los identificadores de hardware que admite el controlador proporcionando un archivo INF, que el sistema operativo usa para instalar controladores la primera vez que uno de los dispositivos esté conectado al equipo. Para obtener más información sobre cómo el sistema usa archivos INF e identificadores de hardware, vea Cómo selecciona el programa de instalación de controladores.

La función de devolución de llamada EvtDriverDeviceAdd de un controlador normalmente realiza al menos algunas de las siguientes operaciones de inicialización:

Algunos controladores, especialmente los controladores de filtro, podrían no crear objetos de dispositivo para algunos dispositivos. Si una función de devolución de llamada EvtDriverDeviceAdd no crea un objeto de dispositivo, todavía debe devolver STATUS_SUCCESS a menos que se encuentre un error.

Si la función de devolución de llamada EvtDriverDeviceAdd de un controlador crea un objeto de dispositivo pero no devuelve STATUS_SUCCESS, el marco elimina el objeto de dispositivo y sus dispositivos secundarios.

Si la función de devolución de llamada EvtDriverDeviceAdd de un controlador de función no devuelve STATUS_SUCCESS, el administrador de E/S no crea una pila de dispositivos para el dispositivo.

Si la función de devolución de llamada EvtDriverDeviceAdd de un controlador de filtro no devuelve STATUS_SUCCESS, el marco convierte el valor devuelto en STATUS_SUCCESS y el administrador de E/S compila la pila de dispositivos sin el controlador de filtro.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfdriver.h (incluya Wdf.h)
IRQL PASSIVE_LEVEL

Consulte también

WDFDEVICE_INIT

WDF_DRIVER_CONFIG

WdfDriverCreate