structure WDF_FILEOBJECT_CONFIG (wdfdevice.h)
[S’applique à KMDF et UMDF]
La structure WDF_FILEOBJECT_CONFIG contient des informations de configuration des objets de fichier framework d’un pilote.
Syntaxe
typedef struct _WDF_FILEOBJECT_CONFIG {
ULONG Size;
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate;
PFN_WDF_FILE_CLOSE EvtFileClose;
PFN_WDF_FILE_CLEANUP EvtFileCleanup;
WDF_TRI_STATE AutoForwardCleanupClose;
WDF_FILEOBJECT_CLASS FileObjectClass;
} WDF_FILEOBJECT_CONFIG, *PWDF_FILEOBJECT_CONFIG;
Membres
Size
Taille, en octets, de cette structure.
EvtDeviceFileCreate
Pointeur vers la fonction de rappel EvtDeviceFileCreate du pilote, ou NULL .
EvtFileClose
Pointeur vers la fonction de rappel EvtFileClose du pilote, ou NULL .
EvtFileCleanup
Pointeur vers la fonction de rappel evtFileCleanup du pilote, ou NULL .
AutoForwardCleanupClose
Valeur WDF_TRI_STATE-typée. Pour plus d’informations sur ce membre, consultez la section Commentaires suivante.
FileObjectClass
Valeur WDF_FILEOBJECT_CLASS-typée qui identifie si le pilote nécessite un objet de fichier framework pour représenter chaque fichier qu’une application ou un autre pilote crée ou ouvre. En outre, cette valeur spécifie où l’infrastructure peut stocker le handle de l’objet.
Remarques
La structure WDF_FILEOBJECT_CONFIG est utilisée comme entrée dans la méthode WdfDeviceInitSetFileObjectConfig.
WDF_FILEOBJECT_CONFIG devez être initialisé en appelant WDF_FILEOBJECT_CONFIG_INIT.
Comportement de Framework pour AutoForwardCleanupClose
Si AutoForwardCleanupClose est défini sur WdfTrue, le framework effectue les opérations suivantes :- L’infrastructure transfère les demandes de création de fichiers au pilote inférieur suivant si le pilote ne fournit pas de EvtDeviceFileCreate fonction de rappel et n’a pas appelé WdfDeviceConfigureRequestDispatching pour définir une file d’attente d’E/S pour recevoir des demandes de création de fichiers. L’infrastructure ne transfère pas les demandes de création de fichiers si le pilote fournit une fonction de rappel ou une file d’attente pour gérer les requêtes. Par conséquent, le pilote doit transférer, terminerou annuler annuler les demandes.
- L’infrastructure envoie le nettoyage des fichiers et ferme les requêtes au pilote inférieur suivant après avoir appelé les fonctions de rappel EvtFileCleanup et EvtFileClose.
Si AutoForwardCleanupClose est défini sur WdfUseDefault, l’infrastructure utilise comportement WdfTrue pour les pilotes de filtre et comportement de WdfFalse pour les pilotes de fonction.
Comportement du pilote pour AutoForwardCleanupClose
La cible d’E/S locale de votre pilote doit toujours recevoir un nombre égal de requêtes d’E/S avec des types de requêtes de WdfRequestTypeCreate, WdfRequestTypeCleanupet WdfRequestTypeClose. Par conséquent, si le pilote fournit une EvtDeviceFileCreate fonction de rappel ou une file d’attente d’E/S qui reçoit des demandes de création de fichier, vous devez utiliser les règles suivantes :- Si votre pilote définit AutoForwardCleanupClose sur WdfTrue, le pilote doit transférer toutes les demandes de création de fichiers à la cible d’E/S locale. Vous devez suivre cette règle, car l’infrastructure transfère toutes les demandes de nettoyage et de fermeture à la cible locale, que votre pilote fournisse evtFileCleanup et evtFileClose fonctions de rappel.
- Si votre pilote définit AutoForwardCleanupClose sur WdfFalse, le pilote doit pas transférer les demandes de création de fichiers à la cible d’E/S locale. Vous devez suivre cette règle, car l’infrastructure n'pas transférer le nettoyage et fermer les requêtes à la cible locale, que votre pilote fournisse EvtFileCleanup et fonctions de rappel EvtFileClose.
- Si votre pilote définit AutoForwardCleanupClose sur WdfDefault, le pilote doit suivre la règle pour WdfTrue s’il s’agit d’un pilote de filtre. Le pilote doit suivre la règle pour WdfFalse s’il s’agit d’un pilote de fonction.
Spécifications
Besoin | Valeur |
---|---|
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
En-tête | wdfdevice.h (include Wdf.h) |