Функция 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.
Примеры
Следующий пример кода получает объект файла запроса ввода-вывода, а затем вызывает определяемую драйвером подпрограмму, которая получает указатель на пространство контекста объекта файла.
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) |