Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
The InterlockedOrToUser function performs an atomic OR operation on a 32-bit value in user-mode memory.
Syntax
LONG InterlockedOrToUser(
LONG volatile *Destination,
LONG Value
);
Parameters
Destination
[dentro, fora] Um ponteiro para o local de memória do modo de usuário que contém o primeiro operando. Esse valor será substituído pelo resultado da operação. The pointer must be naturally aligned for the data type; that is, the memory location must be 4-byte aligned since Destination points to a 4-byte type.
Value
[in] O segundo operando.
Return value
The function returns the original value of the Destination parameter.
Remarks
As funções intertravadas fornecem um mecanismo simples para sincronizar o acesso a uma variável compartilhada por vários threads. Essa função é atômica em relação a chamadas para outras funções intertravadas. Ele gera uma barreira de memória completa para garantir que as operações de memória sejam concluídas em ordem.
This function provides atomic access to a 32-bit value in user-mode memory, performing a bitwise OR operation between the value at Destination and Value.
A função gerará uma exceção estruturada se a operação falhar, como quando o endereço de destino não for um endereço válido no modo de usuário ou estiver inacessível.
Essa função funciona em todas as versões do Windows, não apenas nas mais recentes. 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. No entanto, o driver resultante será executado bem em versões mais antigas do Windows.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | See Remarks |
| Header | usermode_accessors.h |
| Library | umaccess.lib |
| IRQL | Menor ou igual a APC_LEVEL |