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


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

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

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

Синтаксис

BOOLEAN WdfRequestIsFrom32BitProcess(
  [in] WDFREQUEST Request
);

Параметры

[in] Request

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

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

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

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

Замечания

Драйверы могут вызывать WdfRequestIsFrom32BitProcess, чтобы определить, может ли запрос ввода-вывода содержать элементы данных, которые необходимо преобразовать, или "thunked", прежде чем они могут использоваться в 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