Функция WdfDeviceGetFileObject (wdfdevice.h)
[Относится только к KMDF]
Метод WdfDeviceGetFileObject возвращает дескриптор для объекта файла платформы, связанного с указанным объектом файла WDM.
Синтаксис
WDFFILEOBJECT WdfDeviceGetFileObject(
[in] WDFDEVICE Device,
[in] PFILE_OBJECT FileObject
);
Параметры
[in] Device
Дескриптор объекта устройства платформы.
[in] FileObject
Указатель на структуру WDM FILE_OBJECT .
Возвращаемое значение
WdfDeviceGetFileObject возвращает дескриптор для объекта файла платформы, связанного с указанным объектом файла WDM. Если объект файла платформы не был создан для файла или если недопустимый указатель FileObject , метод возвращает значение NULL.
Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Комментарии
Дополнительные сведения об объектах файлов платформы см. в разделе Объекты файлов платформы.
Примеры
В следующем примере кода получается указатель на именованный объект устройства WDM и соответствующий ему объект файла WDM, если можно предоставить запрошенный доступ к объектам . Затем в примере получается дескриптор объекта файла платформы, связанного с объектом файла WDM.
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;
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (см. раздел Управление версиями библиотеки Платформы). |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |