Функция 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)

См. также раздел

IoGetDeviceObjectPointer