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.
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) |