Función InterlockedExchange (miniport.h)
La rutina InterlockedExchange establece una variable entera en un valor determinado como una operación atómica.
Sintaxis
LONG InterlockedExchange(
[in, out] LONG volatile *Target,
[in] LONG Value
);
Parámetros
[in, out] Target
Puntero a una variable que se va a establecer en el valor proporcionado como una operación atómica.
[in] Value
Especifica el valor al que se establecerá la variable.
Valor devuelto
InterlockedExchange devuelve el valor de la variable en Target cuando se produjo la llamada.
Comentarios
InterlockedExchange debe usarse en lugar de ExInterlockedExchangeUlong, ya que es más rápido y eficaz.
El compilador implementa InterlockedExchange en línea cuando sea adecuado y posible. No requiere un bloqueo de número y, por tanto, se puede usar de forma segura en datos paginables.
Una llamada a la rutina InterlockedExchange solo es atómica con respecto a otras llamadas Xxx interbloqueadas.
Las operaciones interbloqueadas no se pueden usar en memoria no almacenada en caché.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 2000. |
Plataforma de destino | Universal |
Encabezado | miniport.h (incluya Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
Library | OneCoreUAP.lib en Windows 10 |
IRQL | Cualquier nivel |