Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
The ReadLargeIntegerFromUser function safely reads a LARGE_INTEGER value from user-mode memory.
Syntax
LARGE_INTEGER ReadLargeIntegerFromUser(
const volatile LARGE_INTEGER *Source
);
Parameters
Source
[in] Указатель на расположение памяти в пользовательском режиме, из которого следует считывать значение LARGE_INTEGER.
Return value
ReadLargeIntegerFromUser returns the LARGE_INTEGER value read from the specified user-mode memory address.
Remarks
Эта функция обеспечивает безопасный способ чтения значения LARGE_INTEGER из памяти пользовательского режима. Он гарантирует, что указанный адрес является адресом пользовательского режима перед чтением.
Эта функция не применяет выравнивание.
При сбое доступа к памяти возникает структурированное исключение, например, если исходный адрес не является адресом пользовательского режима или недоступен.
Эта функция никогда не будет оптимизирована компилятором, и компилятор не создаст дополнительные доступы к этому расположению памяти до вызова функции или после возврата функции (если исходный код явно не выполняет эти доступы). The memory access is performed with memory_order_relaxed semantics.
Эта функция работает во всех версиях Windows, а не только на последних версиях. You need to consume the latest WDK to get the function declaration from the usermode_accessors.h header. You also need the library (umaccess.lib) from the latest WDK. Однако результирующий драйвер будет работать в более ранних версиях Windows.
Requirements
| Requirement | Value |
|---|---|
| Минимальный поддерживаемый клиент | See Remarks |
| Header | usermode_accessors.h |
| Library | umaccess.lib |
| IRQL | Меньше или равно APC_LEVEL |