enumeración WDF_FILEOBJECT_CLASS (wdfdevice.h)
[Se aplica a KMDF y UMDF]
La enumeración WDF_FILEOBJECT_CLASS define valores que identifican si un controlador requiere un objeto de archivo de marco para representar un archivo que una aplicación u otro controlador está intentando crear o abrir. Estos valores también especifican dónde puede almacenar el marco de trabajo el identificador del objeto.
Syntax
typedef enum _WDF_FILEOBJECT_CLASS {
WdfFileObjectInvalid = 0,
WdfFileObjectNotRequired = 1,
WdfFileObjectWdfCanUseFsContext = 2,
WdfFileObjectWdfCanUseFsContext2 = 3,
WdfFileObjectWdfCannotUseFsContexts = 4,
WdfFileObjectCanBeOptional = 0x80000000
} WDF_FILEOBJECT_CLASS, *PWDF_FILEOBJECT_CLASS;
Constantes
WdfFileObjectInvalid Valor: 0 Reservado para uso interno. |
WdfFileObjectNotRequired Valor: 1 El controlador no requiere un objeto de archivo de marco. |
WdfFileObjectWdfCanUseFsContext Valor: 2 El controlador requiere un objeto de archivo de marco. El marco de trabajo puede almacenar el identificador del objeto en el miembro FsContext del modelo de controlador de Windows (WDM) del archivo FILE_OBJECT estructura. |
WdfFileObjectWdfCanUseFsContext2 Valor: 3 El controlador requiere un objeto de archivo de marco. El marco de trabajo puede almacenar el identificador del objeto en el miembro FsContext2 de la estructura de FILE_OBJECT WDM del archivo. |
WdfFileObjectWdfCannotUseFsContexts Valor: 4 El controlador requiere un objeto de archivo de marco. El marco de trabajo no puede almacenar el identificador del objeto en el miembro FsContext o FsContext2 de la estructura de FILE_OBJECT WDM del archivo, porque uno o varios controladores usan estos miembros. Por lo tanto, el marco debe almacenar el identificador internamente. |
WdfFileObjectCanBeOptional Valor: 0x80000000 Normalmente, el controlador requiere un objeto de archivo de marco, pero el controlador también puede controlar situaciones especiales en las que falta un objeto de archivo de marco o diferente. Para obtener más información sobre estas situaciones, vea la siguiente sección Comentarios. WdfFileObjectCanBeOptional es una marca de bits que el controlador puede OR con el valor del enumerador WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 o WdfFileObjectWdfCannotUseFsContexts . La mayoría de los controladores basados en marcos no usan esta marca de bits. El valor WdfFileObjectCanBeOptional está disponible en la versión 1.9 y versiones posteriores de KMDF. |
Comentarios
La enumeración WDF_FILEOBJECT_CLASS se usa en la estructura WDF_FILEOBJECT_CONFIG .
Si el controlador llama a WdfRequestGetFileObject para obtener objetos de archivo de marco para solicitudes de E/S y si sabe que algunos de los paquetes de solicitud de E/S de WDM (IRP) que recibe el controlador no incluyen objetos de archivo WDM, el controlador puede establecer la marca de bits WdfFileObjectCanBeOptional .
Si el controlador establece el valor WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 o WdfFileObjectWdfCannotUseFsContexts y no establece la marca de bits WdfFileObjectCanBeOptional , el comprobador del marco notifica un error para los casos siguientes cuando el controlador llama al método WdfRequestGetFileObject :
- Un IRP no incluye un objeto de archivo WDM.
- Un IRP incluye un objeto de archivo WDM, pero el objeto de archivo es diferente del que incluía irP de creación de archivos.
Requisitos
Requisito | Value |
---|---|
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfdevice.h (incluir Wdf.h) |