Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
[in, out] Pointeur vers l’emplacement de mémoire en mode utilisateur contenant le premier opérande. Cette valeur sera remplacée par le résultat de l’opération. 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] Deuxième opérande.
Return value
The function returns the original value of the Destination parameter.
Remarks
Les fonctions interblocées fournissent un mécanisme simple pour synchroniser l’accès à une variable partagée par plusieurs threads. Cette fonction est atomique par rapport aux appels à d’autres fonctions interblocées. Il génère une barrière de mémoire complète pour s’assurer que les opérations de mémoire sont terminées dans l’ordre.
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.
La fonction déclenche une exception structurée si l’opération échoue, par exemple lorsque l’adresse de destination n’est pas une adresse en mode utilisateur valide ou est inaccessible.
Cette fonction fonctionne sur toutes les versions de Windows, pas seulement sur la dernière version. 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. Toutefois, le pilote résultant s’exécutera correctement sur les versions antérieures de Windows.
Requirements
| Requirement | Value |
|---|---|
| Client minimum requis | See Remarks |
| Header | usermode_accessors.h |
| Library | umaccess.lib |
| IRQL | Inférieur ou égal à APC_LEVEL |