Compartir a través de


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.
Si se establece la marca de bits WdfFileObjectCanBeOptional , el comprobador del marco omite estos casos.

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)

Consulte también

FILE_OBJECT

WDF_FILEOBJECT_CONFIG