Método IDriverEntry::OnDeviceAdd (wudfddi.h)

[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción con UMDF.

El método OnDeviceAdd agrega un nuevo dispositivo a un sistema.

Sintaxis

HRESULT OnDeviceAdd(
  [in] IWDFDriver           *pWdfDriver,
  [in] IWDFDeviceInitialize *pWdfDeviceInit
);

Parámetros

[in] pWdfDriver

Puntero a la interfaz IWDFDriver del objeto de controlador primario al que pertenece el nuevo dispositivo.

[in] pWdfDeviceInit

Puntero a la interfaz IWDFDeviceInitialize que el controlador usa para inicializar el dispositivo recién creado.

Valor devuelto

OnDeviceAdd devuelve S_OK si la operación se realiza correctamente. De lo contrario, este método devuelve uno de los códigos de error definidos en Winerror.h. El controlador debe devolver S_OK solo si llamó correctamente al método IWDFDriver::CreateDevice para crear el objeto de dispositivo de marco. Si el controlador devuelve un código de error, UMDF desgarra toda la pila del dispositivo, independientemente de si el controlador es un controlador de filtro o un controlador de función.

Comentarios

Se crea un nuevo objeto de dispositivo para cada dispositivo que se carga en el proceso de host del controlador. Cuando llega un nuevo dispositivo en el sistema, el marco llama a OnDeviceAdd para notificar al controlador la llegada y pasa las interfaces IWDFDriver e IWDFDeviceInitialize en la llamada. El controlador puede llamar al método IWDFDeviceInitialize::RetrieveDevicePropertyStore para consultar la información del dispositivo que se proporciona como parte de la instalación del dispositivo. El controlador debe llamar al método IWDFDriver::CreateDevice para configurar y crear el dispositivo. Si el controlador no llama correctamente a IWDFDriver::CreateDevice antes de que devuelva S_OK, UMDF determina que el comportamiento del controlador es incorrecto y finaliza el proceso de host.

Cualquier controlador cuyo método OnDeviceAdd devuelva S_OK recibirá posteriormente una llamada a su método IPnpCallbackHardware::OnReleaseHardware cuando la UMDF desactive la pila del dispositivo.

No use la interfaz IWDFDeviceInitialize a la que apunta el parámetro pWdfDeviceInit después de que el controlador haya llamado A IWDFDriver::CreateDevice.

Para obtener más información, vea Agregar un dispositivo.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado wudfddi.h (incluya Wudfddi.h)

Consulte también

IDriverEntry

IPnpCallbackHardware::OnReleaseHardware

IWDFDeviceInitialize

IWDFDeviceInitialize::RetrieveDevicePropertyStore

IWDFDriver

IWDFDriver::CreateDevice