Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
The InterlockedOr64ToUser function performs an atomic OR operation on a 64-bit value in user-mode memory.
Syntax
LONG64 InterlockedOr64ToUser(
LONG64 volatile *Destination,
LONG64 Value
);
Parameters
Destination
[in, out] Указатель на расположение памяти в пользовательском режиме, содержащее первый операнд. Это значение будет заменено результатом операции. The pointer must be naturally aligned for the data type; that is, the memory location must be 8-byte aligned since Destination points to an 8-byte type.
Value
[in] Второй операнд.
Return value
The function returns the original value of the Destination parameter.
Remarks
Межблокированные функции предоставляют простой механизм синхронизации доступа к переменной, к которой используется несколько потоков. Эта функция атомарна относительно вызовов других взаимоблокируемых функций. Он создает полный барьер памяти, чтобы обеспечить выполнение операций памяти в порядке.
This function provides atomic access to a 64-bit value in user-mode memory, performing a bitwise OR operation between the value at Destination and Value.
Функция вызывает структурированное исключение, если операция завершается ошибкой, например если целевой адрес не является допустимым адресом пользовательского режима или недоступен.
Эта функция работает во всех версиях 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 |