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
IPnpCallbackHardware::OnReleaseHardware