Compartir a través de


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

Consulte también

IObjectCleanup

IObjectCleanup::OnCleanup

IWDFDriver

IWDFObject

IWDFObject::D eleteWdfObject