Поделиться через


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

Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Замечания

Дополнительные сведения об объектах файлов платформы см. в разделе Framework File Objects.

Примеры

Следующий пример кода получает указатель на именованный объект устройства 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 (include Wdf.h)
библиотеки Wdf01000.sys (см. управление версиями библиотеки Платформы).)
IRQL <= DISPATCH_LEVEL
правил соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

См. также

IoGetDeviceObjectPointer