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

[Относится к KMDF и UMDF]

Метод WdfRequestIsFrom32BitProcess проверяет, является ли инициатор указанного запроса ввода-вывода 32-разрядным приложением пользовательского режима.

Синтаксис

BOOLEAN WdfRequestIsFrom32BitProcess(
  [in] WDFREQUEST Request
);

Параметры

[in] Request

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

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

В 64-разрядных системах WdfRequestIsFrom32BitProcess возвращает значение TRUE , если инициатором текущего запроса ввода-вывода является 32-разрядный процесс в пользовательском режиме, в противном случае — FALSE . В 32-разрядных системах WdfRequestIsFrom32BitProcess всегда возвращает значение TRUE.

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

Комментарии

Драйверы могут вызывать WdfRequestIsFrom32BitProcess , чтобы определить, будет ли запрос ввода-вывода содержать элементы данных, которые необходимо преобразовать или отключить, прежде чем их можно будет использовать в 64-разрядном драйвере.

Указанный дескриптор запроса должен быть получен из одной из очередей ввода-вывода драйвера, а не из вызова WdfRequestCreate.

Примеры

В следующем примере кода определяется, поступил ли запрос ввода-вывода из 32-разрядного приложения.

VOID
MyEvtIoRead(
    IN WDFQUEUE  Queue,
    IN WDFREQUEST  Request,
    IN size_t  Length
    )
{
...
    if (WdfRequestIsFrom32BitProcess(Request)) {
        //
        // The driver is running on a 64-bit computer and the 
        // I/O request came from a 32-bit application.
        //
...
    }
...
}

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfrequest.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

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

WdfRequestCreate