WdfDeviceGetFileObject-Funktion (wdfdevice.h)
[Gilt nur für KMDF]
Die WdfDeviceGetFileObject-Methode gibt ein Handle für das Frameworkdateiobjekt zurück, das einem angegebenen WDM-Dateiobjekt zugeordnet ist.
Syntax
WDFFILEOBJECT WdfDeviceGetFileObject(
[in] WDFDEVICE Device,
[in] PFILE_OBJECT FileObject
);
Parameter
[in] Device
Ein Handle für ein Framework-Geräteobjekt.
[in] FileObject
Ein Zeiger auf eine WDM-FILE_OBJECT-Struktur .
Rückgabewert
WdfDeviceGetFileObject gibt ein Handle für das Frameworkdateiobjekt zurück, das dem angegebenen WDM-Dateiobjekt zugeordnet ist. Wenn kein Frameworkdateiobjekt für die Datei erstellt wurde oder der FileObject-Zeiger ungültig ist, gibt die Methode NULL zurück.
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Weitere Informationen zu Frameworkdateiobjekten finden Sie unter Frameworkdateiobjekte.
Beispiele
Im folgenden Codebeispiel wird ein Zeiger auf ein benanntes WDM-Geräteobjekt und das zugehörige WDM-Dateiobjekt abgerufen, wenn der angeforderte Zugriff auf die -Objekte gewährt werden kann. Anschließend ruft das Beispiel ein Handle für das Frameworkdateiobjekt ab, das dem WDM-Dateiobjekt zugeordnet ist.
PFILE_OBJECT pWdmFileObject = NULL;
PDEVICE_OBJECT pWdmDeviceObject = NULL;
WDFFILEOBJECT fileObject = NULL;
NTSTATUS status = STATUS_SUCCESS;
BOOLEAN success = TRUE;
status = IoGetDeviceObjectPointer(
&inputFileName, // File name
FILE_ALL_ACCESS, // Access mask
&pWdmFileObject, // Output pointer of WDM file object
&pWdmDeviceObject // Output pointer of WDM device object
);
if(!NT_SUCCESS(status)){
success = FALSE;
break;
}
fileObject = WdfDeviceGetFileObject(
gDeviceObject, // Handle to device object
pWdmFileObject // Handle to WDM file object
);
if(fileObject == NULL){
success = FALSE;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.) |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |