Share via


InterlockedAnd-Funktion (winnt.h)

Führt einen atomaren AND-Vorgang für die angegebenen LONG-Werte aus.

Syntax

LONG InterlockedAnd(
  [in, out] LONG volatile *Destination,
  [in]      LONG          Value
);

Parameter

[in, out] Destination

Ein Zeiger auf den ersten Operanden. Dieser Wert wird durch das Ergebnis des Vorgangs ersetzt.

[in] Value

Der zweite Operand.

Rückgabewert

Die Funktion gibt den ursprünglichen Wert des Parameters Destination zurück.

Hinweise

Die ineinandergreifenden Funktionen bieten einen einfachen Mechanismus zum Synchronisieren des Zugriffs auf eine Variable, die von mehreren Threads gemeinsam genutzt wird. Diese Funktion ist in Bezug auf Aufrufe von anderen ineinandergreifenden Funktionen unteilbar.

Bei Intel Itanium-basierten Systemen und x64-Architekturen wird diese Funktion mithilfe des intrinsischen Compilers implementiert. Verwenden Sie für die x86-Architektur den intrinsischen _InterlockedAnd Compiler direkt.

Diese Funktion generiert eine vollständige Speicherbarriere (oder einen Zaun), um sicherzustellen, dass Speichervorgänge in der richtigen Reihenfolge abgeschlossen werden.

Itanium-basierte Systeme: Verwenden Sie für leistungskritische Anwendungen stattdessen InterlockedAndAcquire oder InterlockedAndRelease .

Hinweis Diese Funktion wird auf Windows RT-basierten Systemen unterstützt.
 

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile winnt.h (windows.h einschließen)

Weitere Informationen

Ineinandergreifen des Variablenzugriffs

InterlockedAnd16

InterlockedAnd16Acquire

InterlockedAnd16NoFence

InterlockedAnd16Release

InterlockedAnd64

InterlockedAnd64Acquire

InterlockedAnd64NoFence

InterlockedAnd64Release

InterlockedAnd8

InterlockedAnd8Acquire

InterlockedAnd8NoFence

InterlockedAnd8Release

InterlockedAndAcquire

InterlockedAndNoFence

InterlockedAndRelease

Synchronisierungsfunktionen