Compartilhar via


WDF_FILEOBJECT_CLASS enumeração (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

A enumeração WDF_FILEOBJECT_CLASS define valores que identificam se um driver requer um objeto de arquivo de estrutura para representar um arquivo que um aplicativo ou outro driver está tentando criar ou abrir. Esses valores também especificam onde a estrutura pode armazenar o identificador do 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
O driver não requer um objeto de arquivo de estrutura.
WdfFileObjectWdfCanUseFsContext
Valor: 2
O driver requer um objeto de arquivo de estrutura. A estrutura pode armazenar o identificador do objeto no membro FsContext da estrutura de FILE_OBJECT do WDM (Modelo de Driver do Windows) do arquivo.
WdfFileObjectWdfCanUseFsContext2
Valor: 3
O driver requer um objeto de arquivo de estrutura. A estrutura pode armazenar o identificador do objeto no membro FsContext2 da estrutura de FILE_OBJECT do WDM do arquivo.
WdfFileObjectWdfCannotUseFsContexts
Valor: 4
O driver requer um objeto de arquivo de estrutura. A estrutura não pode armazenar o identificador do objeto no membro FsContext ou FsContext2 da estrutura de FILE_OBJECT do WDM do arquivo, porque um ou mais drivers estão usando esses membros. Portanto, a estrutura deve armazenar o identificador internamente.
WdfFileObjectCanBeOptional
Valor: 0x80000000
O driver normalmente requer um objeto de arquivo de estrutura, mas o driver também pode lidar com situações especiais em que um objeto de arquivo de estrutura está ausente ou diferente. Para obter mais informações sobre essas situações, consulte a seção Comentários a seguir.

WdfFileObjectCanBeOptional é um sinalizador de bit que seu driver pode OR com o valor do enumerador WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 ou WdfFileObjectWdfCannotUseFsContexts .

A maioria dos drivers baseados em estrutura não usa esse sinalizador de bits.

O valor WdfFileObjectCanBeOptional está disponível na versão 1.9 e versões posteriores do KMDF.

Comentários

A enumeração WDF_FILEOBJECT_CLASS é usada na estrutura WDF_FILEOBJECT_CONFIG .

Se o driver chamar WdfRequestGetFileObject para obter objetos de arquivo de estrutura para solicitações de E/S e se você souber que alguns dos IRPs (pacotes de solicitação de E/S) do WDM recebidos pelo driver não incluem objetos de arquivo WDM, o driver poderá definir o sinalizador de bits WdfFileObjectCanBeOptional .

Se o driver definir o WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 ou WdfFileObjectWdfCannotUseFsContexts e não define o sinalizador de bits WdfFileObjectCanBeOptional , o verificador da estrutura relata um erro para os seguintes casos quando o driver chama o método WdfRequestGetFileObject :

  • Um IRP não inclui um objeto de arquivo WDM.
  • Um IRP inclui um objeto de arquivo WDM, mas o objeto de arquivo é diferente daquele que o IRP de criação de arquivo incluiu.
Se o sinalizador de bit WdfFileObjectCanBeOptional estiver definido, o verificador da estrutura ignorará esses casos.

Requisitos

Requisito Valor
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (inclua Wdf.h)

Confira também

FILE_OBJECT

WDF_FILEOBJECT_CONFIG