Freigeben über


InterlockedCompareStore-Funktion

Vergleicht die Eingabe atomar mit dem Vergleichswert.

Syntax

void InterlockedCompareStore(
  in UINT dest,
  in UINT compare_value,
  in UINT value
);

Parameter

dest [in]

Typ: UINT

Die Zieladresse.

compare_value [in]

Typ: UINT

Der Vergleichswert.

Wert [in]

Typ: UINT

Der Eingabewert.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Bemerkungen

Dieser Vorgang kann nur für int- oder uint-typisierte Ressourcen und freigegebene Arbeitsspeichervariablen ausgeführt werden. Es gibt drei mögliche Verwendungsmöglichkeiten für diese Funktion. Die erste ist, wenn R ein Shared Memory-Variablentyp ist. In diesem Fall führt die Funktion den Vorgang für das von dest referenzierte Shared Memory-Register aus. Das zweite Szenario ist, wenn R ein Ressourcenvariablentyp ist. In diesem Szenario führt die Funktion den Vorgang für den Ressourcenspeicherort aus, auf den von dest verwiesen wird. Schließlich ist das dritte Szenario, wenn R ein lokaler Variablentyp ist. In diesem Szenario reduziert sich die Funktion auf den Vorgang, der mit lokalen Vorgängen ausgeführt wird.

Diese Funktion wird in den folgenden Shadertypen unterstützt:

VS HS DS GS PS CS
x x x x x x

 

Siehe auch

RWByteAddressBuffer

Shadermodell 5