Arquitectura de WDF
WDF proporciona interfaces basadas en objetos para controladores. Las interfaces de objeto definidas por el marco constan de:
Métodos de objeto
Los métodos son funciones a las que un controlador puede llamar para realizar una operación en el objeto o para obtener o establecer una propiedad de objeto. Los métodos se denominan ObjectAction de Wdf, donde Object describe el objeto y Action indica lo que hace la función. Por ejemplo, WdfDeviceCreate crea un objeto de dispositivo.
Funciones de devolución de llamada de eventos de objeto
Las funciones de devolución de llamada de eventos son funciones que proporciona un controlador. Cada función de devolución de llamada de evento está asociada a un evento específico que se puede producir en un objeto . El marco llama a la función de devolución de llamada de eventos cuando se produce el evento asociado. Por convención, los marcadores de posición de las funciones de devolución de llamada de eventos se denominanEvt ObjectEvent, aunque puede asignar un nombre a estas devoluciones de llamada todo lo que elija en el controlador. Por ejemplo, un controlador registra la devolución de llamada de evento EvtDeviceD0Entry para recibir una notificación cuando su dispositivo entra en estado de trabajo.
Propiedades del objeto
Las propiedades son valores almacenados dentro de un objeto y que un controlador puede obtener (es decir, obtener) y establecer (es decir, cambiar). En muchos casos, las propiedades se asignan directamente a los campos de los objetos WDM correspondientes. Las propiedades que no pueden producir errores se denominan Valorde obtención de objetos Wdf y Valor del conjunto de objetos Wdf, y las propiedades que pueden producir errores se denominan Valorde recuperación del objeto Wdf y Valorde asignaciónde objetosWdf. El objeto describe el objeto y Value identifica los datos que establece o devuelve la función. Por ejemplo, WdfDeviceGetDriver devuelve un identificador al objeto de controlador asociado al objeto de dispositivo.
Identificadores de objeto
Un controlador basado en marcos nunca accede directamente a objetos de marco. En su lugar, el controlador recibe identificadores de objeto, que puede pasar a los métodos de un objeto.
El marco define varios tipos de objetos que usan los controladores basados en marcos:
Un objeto de controlador de marco representa cada controlador.
Un objeto de dispositivo de marco representa cada dispositivo que admite un controlador.
Los objetos de cola de marco representan colas de E/S que reciben las solicitudes de E/S de un dispositivo.
Los objetos de solicitud de marco representan solicitudes de E/S que recibe cada cola de E/S.
Para obtener una lista de todos los objetos que define el marco de trabajo, vea Resumen de objetos de marco.