énumération WDF_FILEOBJECT_CLASS (wdfdevice.h)
[S’applique à KMDF et UMDF]
L’énumération WDF_FILEOBJECT_CLASS définit des valeurs qui identifient si un pilote nécessite un objet de fichier d’infrastructure pour représenter un fichier qu’une application ou un autre pilote tente de créer ou d’ouvrir. Ces valeurs spécifient également l’emplacement où l’infrastructure peut stocker le handle de l’objet.
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 Valeur : 0 Réservé à un usage interne. |
WdfFileObjectNotRequired Valeur : 1 Le pilote ne nécessite pas d’objet de fichier d’infrastructure. |
WdfFileObjectWdfCanUseFsContext Valeur : 2 Le pilote nécessite un objet de fichier d’infrastructure. L’infrastructure peut stocker le handle de l’objet dans le membre FsContext de la structure FILE_OBJECT du modèle de pilote Windows (WDM) du fichier. |
WdfFileObjectWdfCanUseFsContext2 Valeur : 3 Le pilote nécessite un objet de fichier d’infrastructure. L’infrastructure peut stocker le handle de l’objet dans le membre FsContext2 de la structure de FILE_OBJECT WDM du fichier. |
WdfFileObjectWdfCannotUseFsContexts Valeur : 4 Le pilote nécessite un objet de fichier d’infrastructure. L’infrastructure ne peut pas stocker le handle de l’objet dans le membre FsContext ou FsContext2 de la structure FILE_OBJECT WDM du fichier, car un ou plusieurs pilotes utilisent ces membres. Par conséquent, l’infrastructure doit stocker le handle en interne. |
WdfFileObjectCanBeOptional Valeur : 0x80000000 Le pilote nécessite généralement un objet de fichier d’infrastructure, mais il peut également gérer des situations spéciales dans lesquelles un objet de fichier d’infrastructure est manquant ou différent. Pour plus d’informations sur ces situations, consultez la section Remarques suivante. WdfFileObjectCanBeOptional est un indicateur de bits que votre pilote peut OU avec la valeur d’énumérateur WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 ou WdfFileObjectWdfCannotUseFsContexts . La plupart des pilotes basés sur l’infrastructure n’utilisent pas cet indicateur de bits. La valeur WdfFileObjectCanBeOptional est disponible dans la version 1.9 et les versions ultérieures de KMDF. |
Remarques
L’énumération WDF_FILEOBJECT_CLASS est utilisée dans la structure WDF_FILEOBJECT_CONFIG.
Si votre pilote appelle WdfRequestGetFileObject pour obtenir des objets de fichier d’infrastructure pour les demandes d’E/S, et si vous savez que certains des paquets de demandes d’E/S WDM que votre pilote reçoit n’incluent pas d’objets de fichier WDM, le pilote peut définir l’indicateur de bits WdfFileObjectCanBeOptional .
Si votre pilote définit la valeur WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 ou WdfFileObjectWdfCannotUseFsContexts et ne définit pas l’indicateur de bits WdfFileObjectCanBeOptional , le vérificateur de l’infrastructure signale une erreur pour les cas suivants lorsque le pilote appelle la méthode WdfRequestGetFileObject :
- Un IRP n’inclut pas d’objet de fichier WDM.
- Un IRP inclut un objet de fichier WDM, mais l’objet file est différent de celui inclus dans l’IRP de création de fichier.
Configuration requise
Condition requise | Valeur |
---|---|
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfdevice.h (inclure Wdf.h) |