Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
The ReadLong64FromUserAcquire function safely reads a LONG64 value from user-mode memory with acquire semantics.
Syntax
LONG64 ReadLong64FromUserAcquire(
const volatile LONG64 *Source
);
Parameters
Source
[in] Указатель на расположение памяти в пользовательском режиме, из которого следует считывать значение LONG64.
Return value
ReadLong64FromUserAcquire returns the LONG64 value read from the specified user-mode memory address.
Remarks
Эта функция обеспечивает безопасный способ чтения значения LONG64 из памяти пользовательского режима. Он гарантирует, что указанный адрес является адресом пользовательского режима перед чтением. The acquire semantics ensure that subsequent memory operations can't be reordered before this read operation.
Эта функция не применяет выравнивание.
При сбое доступа к памяти возникает структурированное исключение, например, если исходный адрес не является адресом пользовательского режима или недоступен.
Эта функция никогда не будет оптимизирована компилятором, и компилятор не создаст дополнительные доступы к этому расположению памяти до вызова функции или после возврата функции (если исходный код явно не выполняет эти доступы). The memory access is performed with memory_order_acquire 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 |