WdfRequestGetFileObject, fonction (wdfrequest.h)
[S’applique à KMDF et UMDF]
La méthode WdfRequestGetFileObject récupère l’objet de fichier d’infrastructure associé à une demande d’E/S spécifiée.
Syntaxe
WDFFILEOBJECT WdfRequestGetFileObject(
[in] WDFREQUEST Request
);
Paramètres
[in] Request
Handle pour un objet de requête d’infrastructure.
Valeur retournée
WdfRequestGetFileObject retourne un handle à l’objet de fichier d’infrastructure, si l’infrastructure a créé un objet file pour la requête spécifiée. Sinon, cette méthode retourne NULL. (Un pilote teste généralement une valeur de retour NULL uniquement s’il définit l’indicateur de bits WdfFileObjectCanBeOptional dans la structure WDF_FILEOBJECT_CONFIG .)
Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.
Remarques
La méthode WdfRequestGetFileObject retourne NULL si :
- Votre pilote n’a pas appelé WdfDeviceInitSetFileObjectConfig et a spécifié une valeur WDF_FILEOBJECT_CLASS qui amène l’infrastructure à créer des objets de fichier.
- Un autre pilote a envoyé une demande de contrôle de lecture, d’écriture ou d’E/S à votre pilote sans d’abord envoyer un type de requête WdfRequestTypeCreate.
Exemples
L’exemple de code suivant obtient l’objet fichier d’une requête d’E/S, puis appelle une routine définie par le pilote qui obtient un pointeur vers l’espace de contexte de l’objet fichier.
VOID
MyEvtIoWrite(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t Length
)
{
WDFFILEOBJECT fileObject;
PFILE_OPEN_CONTEXT pOpenContext;
fileObject = WdfRequestGetFileObject(Request);
pOpenContext = GetFileObjectContext(fileObject)->OpenContext;
}
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfrequest.h (inclure Wdf.h) |
Bibliothèque | Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Règles de conformité DDI | DriverCreate(kmdf), FileObjectConfigured(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |