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