WdfRequestGetFileObject-Funktion (wdfrequest.h)
[Gilt für KMDF und UMDF]
Die WdfRequestGetFileObject Methode ruft das Frameworkdateiobjekt ab, das einer angegebenen E/A-Anforderung zugeordnet ist.
Syntax
WDFFILEOBJECT WdfRequestGetFileObject(
[in] WDFREQUEST Request
);
Parameter
[in] Request
Ein Handle zu einem Framework-Anforderungsobjekt.
Rückgabewert
WdfRequestGetFileObject gibt ein Handle an das Frameworkdateiobjekt zurück, wenn das Framework ein Dateiobjekt für die angegebene Anforderung erstellt hat. Andernfalls gibt diese Methode NULL-zurück. (Ein Treiber testet in der Regel auf einen NULL- Rückgabewert, wenn er das WdfFileObjectCanBeOptional- Bit-Flag in der WDF_FILEOBJECT_CONFIG-Struktur festlegt.)
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Die WdfRequestGetFileObject--Methode gibt NULL- zurück, wenn eine der folgenden:
- Ihr Treiber hat WdfDeviceInitSetFileObjectConfig nicht aufgerufen und einen WDF_FILEOBJECT_CLASS Wert angegeben, der bewirkt, dass das Framework Dateiobjekte erstellt.
- Ein anderer Treiber hat eine Lese-, Schreib- oder E/A-Steuerelementanforderung an Ihren Treiber gesendet, ohne zuerst einen Anforderungstyp von WdfRequestTypeCreatezu senden.
Beispiele
Das folgende Codebeispiel ruft das Dateiobjekt einer E/A-Anforderung ab und ruft dann eine treiberdefinierte Routine auf, die einen Zeiger auf den Kontextbereich des Dateiobjekts abruft.
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;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfrequest.h (include Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | <=DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), FileObjectConfigured(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal (kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |