Freigeben über


InterlockedDecrement16-Funktion (winnt.h)

Dekrementiert (verringert um eins) den Wert der angegebenen 16-Bit-Variablen als atomaren Vorgang.

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

Um mit 64-Bit-Werten zu arbeiten, verwenden Sie die Funktion InterlockedDecrement64 .

Syntax

SHORT InterlockedDecrement16(
  [in, out] SHORT 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 16-Bit-Grenze ausgerichtet werden. Andernfalls verhält sich diese Funktion auf x86-Multiprozessorsystemen und allen Nicht-x86-Systemen unvorhersehbar. Siehe _aligned_malloc.

Die verriegelten 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 anderer ineinander verzahnter Funktionen atomar.

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

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

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

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winnt.h (Einschließen von Windows.h)

Weitere Informationen

Zugriff auf verriegelte Variablen

InterlockedDecrement

InterlockedDecrement16Acquire

InterlockedDecrement16NoFence

InterlockedDecrement16Release

InterlockedDecrement64

InterlockedDecrementAcquire

InterlockedDecrementAcquire64

InterlockedDecrementNoFence

InterlockedDecrementNoFence64

InterlockedDecrementRelease

InterlockedDecrementRelease64

Synchronisierungsfunktionen