estructura WDF_FILEOBJECT_CONFIG (wdfdevice.h)
[Se aplica a KMDF y UMDF]
La estructura WDF_FILEOBJECT_CONFIG contiene información de configuración de los objetos de archivo de marco de un controlador.
Sintaxis
typedef struct _WDF_FILEOBJECT_CONFIG {
ULONG Size;
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate;
PFN_WDF_FILE_CLOSE EvtFileClose;
PFN_WDF_FILE_CLEANUP EvtFileCleanup;
WDF_TRI_STATE AutoForwardCleanupClose;
WDF_FILEOBJECT_CLASS FileObjectClass;
} WDF_FILEOBJECT_CONFIG, *PWDF_FILEOBJECT_CONFIG;
Miembros
Size
Tamaño, en bytes, de esta estructura.
EvtDeviceFileCreate
Puntero a la función de devolución de llamada EvtDeviceFileCreate o NULL.
EvtFileClose
Puntero a la función de devolución de llamada EvtFileClo se del controlador o NULL.
EvtFileCleanup
Puntero a la función de devolución de llamada EvtFileClean up del controlador o NULL.
AutoForwardCleanupClose
Valor con tipo WDF_TRI_STATE. Para obtener más información sobre este miembro, vea la siguiente sección Comentarios.
FileObjectClass
Valor de tipo WDF_FILEOBJECT_CLASSque identifica si el controlador requiere un objeto de archivo de marco para representar cada archivo que crea o abre una aplicación u otro controlador. Además, este valor especifica dónde puede almacenar el marco de trabajo el identificador del objeto.
Observaciones
La estructura WDF_FILEOBJECT_CONFIG se usa como entrada para el método WdfDeviceInitSetFileObjectConfig.
WDF_FILEOBJECT_CONFIG debe inicializarse llamando a WDF_FILEOBJECT_CONFIG_INIT.
Comportamiento de Framework para AutoForwardCleanupClose
Si AutoForwardCleanupClose se establece en WdfTrue, el marco hace lo siguiente:- El marco reenvía las solicitudes de creación de archivos al controlador siguiente inferior si el controlador no proporciona un EvtDeviceFileCreate función de devolución de llamada y no ha llamado a WdfDeviceConfigureRequestDispatching para establecer una cola de E/S para recibir solicitudes de creación de archivos. El marco no reenvía las solicitudes de creación de archivos si el controlador proporciona una función de devolución de llamada o una cola para controlar las solicitudes, por lo que el controlador debe reenviar, completaro cancelar las solicitudes.
- El marco envía solicitudes de limpieza de archivos y cierre al controlador siguiente inferior después de llamar a las funciones de devolución de llamada de EvtFileCleanup del controlador y EvtFileClose.
Si AutoForwardCleanupClose se establece en WdfUseDefault, el marco usa comportamiento de WdfTrue para controladores de filtro y comportamiento de WdfFalse para controladores de funciones.
Comportamiento del controlador de para AutoForwardCleanupClose
El destino de E/S local del controlador siempre debe recibir un número igual de solicitudes de E/S con tipos de solicitud de WdfRequestTypeCreate, WdfRequestTypeCleanupy WdfRequestTypeClose. Por lo tanto, si el controlador proporciona una EvtDeviceFileCreate función de devolución de llamada o una cola de E/S que recibe solicitudes de creación de archivos, debe usar las siguientes reglas:- Si el controlador establece autoForwardCleanupClose en WdfTrue, el controlador debe reenviar todas las solicitudes de creación de archivos al destino de E/S local. Debe seguir esta regla porque el marco reenviará todas las solicitudes de limpieza y cierre al destino local, independientemente de si el controlador proporciona EvtFileCleanup y EvtFileClose funciones de devolución de llamada.
- Si el controlador establece AutoForwardCleanupClose en WdfFalse, el controlador debe no solicitudes de creación de archivos hacia delante al destino de E/S local. Debe seguir esta regla porque el marco no limpieza y cierre las solicitudes al destino local, independientemente de si el controlador proporciona EvtFileCleanup y funciones de devolución de llamada EvtFileClose.
- Si el controlador establece AutoForwardCleanupClose en WdfDefault, el controlador debe seguir la regla para WdfTrue si es un controlador de filtro. El controlador debe seguir la regla de WdfFalse si es un controlador de función.
Requisitos
Requisito | Valor |
---|---|
versión mínima de KMDF | 1.0 |
versión mínima de UMDF | 2.0 |
encabezado | wdfdevice.h (incluya Wdf.h) |