estructura de 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 del controlador o NULL.

EvtFileClose

Puntero a la función de devolución de llamada EvtFileClose del controlador o NULL.

EvtFileCleanup

Puntero a la función de devolución de llamada EvtFileCleanup 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 WDF_FILEOBJECT_CLASS tipo que 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 controlador del objeto.

Comentarios

La estructura WDF_FILEOBJECT_CONFIG se usa como entrada para el método WdfDeviceInitSetFileObjectConfig .

WDF_FILEOBJECT_CONFIG se debe inicializar llamando a WDF_FILEOBJECT_CONFIG_INIT.

Comportamiento del marco para AutoForwardCleanupClose

Si AutoForwardCleanupClose está establecido 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 una función de devolución de llamada EvtDeviceFileCreate y no ha llamado a WdfDeviceConfigureRequestDispatching para establecer una cola de E/S para recibir solicitudes de creación de archivos. El marco de trabajo no reenvía 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, completar o cancelar las solicitudes.
  • El marco envía solicitudes de limpieza y cierre de archivos al controlador inferior siguiente después de llamar a las funciones de devolución de llamada EvtFileCleanup y EvtFileClose del controlador.
Si AutoForwardCleanupClose está establecido en WdfFalse, el marco no reenvía las solicitudes de creación, limpieza o cierre de archivos. En su lugar, el marco completa las solicitudes del controlador.

Si AutoForwardCleanupClose se establece en WdfUseDefault, el marco usa el comportamiento de WdfTrue para los controladores de filtro y el comportamiento de WdfFalse para los controladores de función.

Comportamiento del controlador 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, WdfRequestTypeCleanup y WdfRequestTypeClose. Por lo tanto, si el controlador proporciona una función de devolución de llamada EvtDeviceFileCreate o una cola de E/S que recibe solicitudes de creación de archivos, debe usar las reglas siguientes:
  • 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 o no funciones de devolución de llamada EvtFileCleanup y EvtFileClose .
  • Si el controlador establece AutoForwardCleanupClose en WdfFalse, el controlador no debe reenviar solicitudes de creación de archivos al destino de E/S local. Debe seguir esta regla porque el marco no reenviará las solicitudes de limpieza y cierre al destino local, independientemente de si el controlador proporciona o no funciones de devolución de llamada EvtFileCleanup y EvtFileClose .
  • Si el controlador establece AutoForwardCleanupClose en WdfDefault, el controlador debe seguir la regla de WdfTrue si es un controlador de filtro. El controlador debe seguir la regla de WdfFalse si es un controlador de función.

Requisitos

Requisito Value
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfdevice.h (incluya Wdf.h)