Freigeben über


InterlockedDecrement64-Funktion (winnt.h)

Verringert (verringert) den Wert der angegebenen 64-Bit-Variablen als atomischen Vorgang.

Um mit 32-Bit-Werten zu arbeiten, verwenden Sie die Funktion InterlockedDecrement .

Syntax

LONG64 InterlockedDecrement64(
  [in, out] LONG64 volatile *Addend
);

Parameter

[in, out] Addend

Ein Zeiger auf die Variable, die dekrementiert werden soll.

Rückgabewert

Die Funktion gibt den resultierenden dekrementierten Wert zurück.

Hinweise

Die Variable, auf die der Addend-Parameter verweist, muss an einer 64-Bit-Grenze ausgerichtet werden. Andernfalls verhält sich diese Funktion auf x86-Multiprozessorsystemen und allen Nicht-x86-Systemen unvorhersehbar. Weitere Informationen finden Sie unter _aligned_malloc.

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.

Diese Funktion wird nach Möglichkeit mithilfe eines intrinsischen Compilers implementiert. Weitere Informationen finden Sie in der WinBase.h-Headerdatei und _InterlockedDecrement64.

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 InterlockedDecrementAcquire64 oder InterlockedDecrementRelease64 .

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winnt.h (windows.h einschließen)

Weitere Informationen

Ineinandergreifen des Variablenzugriffs

InterlockedDecrement

InterlockedDecrement16

InterlockedDecrement16Acquire

InterlockedDecrement16NoFence

InterlockedDecrement16Release

InterlockedDecrementAcquire

InterlockedDecrementAcquire64

InterlockedDecrementNoFence

InterlockedDecrementNoFence64

InterlockedDecrementRelease

InterlockedDecrementRelease64

Synchronisierungsfunktionen