Método IWDFDriver::CreateWdfObject (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 CreateWdfObject crea un objeto WDF personalizado (o usuario) a partir de un objeto WDF primario.
Sintaxis
HRESULT CreateWdfObject(
[in, optional] IUnknown *pCallbackInterface,
[in, optional] IWDFObject *pParentObject,
[out] IWDFObject **ppWdfObject
);
Parámetros
[in, optional] pCallbackInterface
Puntero a la interfaz IUnknown que usa el marco para determinar las funciones de devolución de llamada de eventos relacionadas con objetos a las que se suscribe el controlador en el objeto personalizado recién creado. Este parámetro es opcional. El controlador puede pasar NULL si el controlador no requiere notificación. Si el controlador pasa un puntero válido, el marco llamará a QueryInterface en la interfaz IUnknown para la interfaz IObjectCleanup . Si el marco obtiene la interfaz IObjectCleanup del controlador, el marco puede llamar posteriormente al método IObjectCleanup::OnCleanup del controlador para notificar al controlador que se limpia el objeto personalizado.
[in, optional] pParentObject
Puntero a la interfaz IWDFObject del objeto WDF primario. Si es NULL, el objeto de controlador se convierte en el elemento primario predeterminado.
[out] ppWdfObject
Puntero a un búfer que recibe un puntero a la interfaz IWDFObject del objeto WDF recién creado.
Valor devuelto
CreateWdfObject 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.
Comentarios
El controlador puede llamar a CreateWdfObject para crear un objeto base de marco general para su propio uso. El controlador puede asociar memoria de contexto, asignar un objeto primario y registrar una interfaz IObjectCleanup . Posteriormente, el marco llama al método IObjectCleanup::OnCleanup para limpiar el objeto secundario.
Si no se especifica ningún objeto primario en el parámetro pParentObject , el controlador se convierte en el elemento primario predeterminado. Por lo tanto, cuando se elimina el objeto de controlador, el marco limpia el objeto secundario.
Si se asigna un objeto primario, el objeto secundario se elimina cuando se elimina el objeto primario. En otras palabras, la duración de un objeto secundario se limita a la del elemento primario.
Si el controlador debe limpiar el objeto secundario antes de eliminar el objeto primario, el controlador puede llamar al método IWDFObject::D eleteWdfObject .
Requisitos
Requisito | Value |
---|---|
Finalización del soporte técnico | No disponible en UMDF 2.0 y versiones posteriores. |
Plataforma de destino | Escritorio |
Versión mínima de UMDF | 1.5 |
Encabezado | wudfddi.h (incluya Wudfddi.h) |
Archivo DLL | WUDFx.dll |