Compartir a través de


Introducción a los objetos framework

Las interfaces que windows Driver Frameworks (WDF) proporciona a los controladores se basan en objetos. El marco define varios objetos. Estos objetos exportan métodos (funciones) y propiedades (datos) a los que pueden acceder los controladores. Los objetos framework también inician eventos, que los controladores pueden admitir al proporcionar funciones de devolución de llamada de eventos.

Los controladores basados en marcos nunca acceden directamente a objetos de marco. En su lugar, los controladores hacen referencia a los objetos mediante identificadores, que el controlador pasa como entrada a los métodos de objeto.

Todos los objetos de marco tienen las siguientes características:

Recuento de referencias
El marco de trabajo mantiene un recuento del número de referencias a cada objeto. Cuando el marco crea un objeto, establece el recuento de referencias del objeto en uno. Cuando el marco haya terminado de usar un objeto , disminuye el recuento de referencias. El marco de trabajo no puede eliminar el objeto hasta que el recuento de referencias se reduzca a cero, por lo que los controladores pueden evitar la eliminación de un objeto incrementando su recuento de referencias.

Espacio de contexto
Los controladores basados en marcos pueden crear espacio de contexto específico del objeto para cada objeto de marco que el controlador recibe o crea. Los controladores deben almacenar todos los datos específicos del objeto en el espacio de contexto de un objeto. Para obtener más información sobre el espacio de contexto, vea Espacio de contexto de objetos de marco.

Funciones de devolución de llamada de eliminación
Los controladores pueden registrar funciones de devolución de llamada a las que llama el marco cuando se elimina un objeto. Las funciones de devolución de llamada pueden quitar recursos asignados por controladores, como asignaciones de memoria específicas del objeto. Para obtener más información sobre estas funciones de devolución de llamada, vea Ciclo de vida de objetos de marco.

Objeto primario
Todos los objetos de marco de trabajo pueden tener un objeto primario. El marco designa un objeto primario predeterminado para la mayoría de los objetos. Cuando un controlador crea un objeto, puede designar un objeto primario que invalide el objeto primario predeterminado del objeto. Para designar el objeto primario de un objeto, los controladores establecen el miembro ParentObject de la estructura WDF_OBJECT_ATTRIBUTES del objeto. (Para algunos tipos de objetos, los controladores no pueden invalidar el objeto primario predeterminado). Cuando el marco o un controlador elimina un objeto primario, el marco también elimina los elementos secundarios del objeto primario.

Para obtener información general sobre todos los objetos definidos por WDF, vea Resumen de objetos framework.