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


Функция WdfRequestGetFileObject (wdfrequest.h)

[Применимо к KMDF и UMDF]

Метод WdfRequestGetFileObject извлекает объект файла платформы, связанный с указанным запросом ввода-вывода.

Синтаксис

WDFFILEOBJECT WdfRequestGetFileObject(
  [in] WDFREQUEST Request
);

Параметры

[in] Request

Дескриптор объекта запроса платформы.

Возвращаемое значение

WdfRequestGetFileObject возвращает дескриптор объекту файла платформы, если платформа создала объект файла для указанного запроса. В противном случае этот метод возвращает NULL. (Драйвер обычно проверяет значение NULL возвращаемого значения, только если он задает флаг WdfFileObjectCanBeOptional битов в структуре WDF_FILEOBJECT_CONFIG.)

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

Замечания

Метод WdfRequestGetFileObject возвращает NULL, если:

  • Драйвер не вызвал WdfDeviceInitSetFileObjectConfig и указал значение WDF_FILEOBJECT_CLASS, которое приводит к созданию объектов файлов платформы.
  • Другой драйвер отправил запрос на чтение, запись или ввод-вывод в драйвер без первой отправки типа запроса WdfRequestTypeCreate.
Дополнительные сведения о WdfRequestGetFileObject и объектах файлов платформы см. в файловой платформы.

Примеры

Следующий пример кода получает объект файла запроса ввода-вывода, а затем вызывает определяемую драйвером подпрограмму, которая получает указатель на пространство контекста объекта файла.

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;
}

Требования

Требование Ценность
целевая платформа Всеобщий
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
заголовка wdfrequest.h (включая Wdf.h)
библиотеки Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
правил соответствия DDI DriverCreate(kmdf), FileObjectConfigured(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessAccess,KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

См. также

WDF_FILEOBJECT_CLASS

WdfDeviceInitSetFileObjectConfig