Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le funzioni seguenti vengono usate nella sincronizzazione.
- funzioni asincrone
- variabile Condition e funzioni di blocco SRW
- funzioni di sezione critiche
- Funzioni evento
- funzioni di inizializzazione monouso
- funzioni interlocked
- funzioni Mutex
- funzioni dello spazio dei nomi privato
- funzioni semaforo
- funzioni elenco collegate da Singly
- funzioni di barriera di sincronizzazione
- funzioni timer coda timer
- funzioni wait
- funzioni timer waitable
Funzioni asincrone
| Funzione asincrona | Descrizione |
|---|---|
| APCProc | Funzione di callback definita dall'applicazione usata con la funzioneQueueUserAPC. |
| GetOverlappedResult | Recupera i risultati di un'operazione sovrapposta. |
| GetOverlappedResultEx | Recupera i risultati di un'operazione sovrapposta entro un intervallo di timeout specificato. |
| QueueUserAPC | Aggiunge un oggetto APC (User-Mode Asynchronous Procedure Call) alla coda APC del thread specificato. |
Variabili di condizione e funzioni di blocco SRW
| Variabile condition e funzione di blocco SRW | Descrizione |
|---|---|
| AcquireSRWLockExclusive | Acquisisce un blocco di lettura/scrittura sottile (SRW) in modalità esclusiva. |
| AcquireSRWLockShared | Acquisisce un blocco di lettura/scrittura sottile (SRW) in modalità condivisa. |
| InitializeConditionVariable | Inizializza una variabile di condizione. |
| InitializeSRWLock | Inizializzare un blocco di lettura/scrittura sottile (SRW). |
| ReleaseSRWLockExclusive | Rilascia un blocco di lettura/scrittura sottile (SRW) acquisito in modalità esclusiva. |
| ReleaseSRWLockShared | Rilascia un blocco SRW (Slim Reader/Writer) acquisito in modalità condivisa. |
| SleepConditionVariableCS | Sospendo la variabile di condizione specificata e rilascia la sezione critica specificata come operazione atomica. |
| SleepConditionVariableSRW | Sospendo la variabile di condizione specificata e rilascia il blocco specificato come operazione atomica. |
| TryAcquireSRWLockExclusive | Tenta di acquisire un blocco di lettura/scrittura sottile (SRW) in modalità esclusiva. Se la chiamata ha esito positivo, il thread chiamante assume la proprietà del blocco. |
| TryAcquireSRWLockShared | Tenta di acquisire un blocco SRW (Slim Reader/Writer) in modalità condivisa. Se la chiamata ha esito positivo, il thread chiamante assume la proprietà del blocco. |
| WakeAllConditionVariable | Riattivare tutti i thread in attesa della variabile di condizione specificata. |
| WakeConditionVariable | Riattivare un singolo thread in attesa della variabile di condizione specificata. |
Funzioni di sezione critiche
| Funzione di sezione critica | Descrizione |
|---|---|
| DeleteCriticalSection | Rilascia tutte le risorse usate da un oggetto sezione critica non generato. |
| EnterCriticalSection | Attende la proprietà dell'oggetto sezione critica specificato. |
| initializeCriticalSection | Inizializza un oggetto sezione critica. |
| InitializeCriticalSectionAndSpinCount | Inizializza un oggetto sezione critica e imposta il numero di rotazioni per la sezione critica. |
| initializeCriticalSectionEx | Inizializza un oggetto sezione critica con un conteggio di rotazioni e flag facoltativi. |
| LeaveCriticalSection | Rilascia la proprietà dell'oggetto sezione critica specificata. |
| SetCriticalSectionSpinCount | Imposta il numero di rotazioni per la sezione critica specificata. |
| tryEnterCriticalSection | Tenta di immettere una sezione critica senza bloccare. |
Funzioni di evento
| Funzione event | Descrizione |
|---|---|
| CreateEvent | Crea o apre un oggetto evento denominato o senza nome. |
| CreateEventEx | Crea o apre un oggetto evento denominato o senza nome e restituisce un handle all'oggetto . |
| OpenEvent | Apre un oggetto evento denominato esistente. |
| PulseEvent | Imposta l'oggetto evento specificato sullo stato segnalato e quindi lo reimposta sullo stato non firmato dopo il rilascio del numero appropriato di thread in attesa. |
| ResetEvent | Imposta l'oggetto evento specificato sullo stato non firmato. |
| SetEvent | Imposta l'oggetto evento specificato sullo stato segnalato. |
Funzioni di inizializzazione monouso
| Funzione di inizializzazione monouso | Descrizione |
|---|---|
| InitOnceBeginInitialize | Avvia l'inizializzazione una tantum. |
| InitOnceComplete | Completa l'inizializzazione una tantum. |
| InitOnceExecuteOnce | Esegue correttamente la funzione specificata una volta. Nessun altro thread che specifica la stessa struttura di inizializzazione una tantum può eseguire questa funzione mentre viene eseguita dal thread corrente. |
| InitOnceInitialize | Inizializza una struttura di inizializzazione una tantum. |
Funzioni interlocked
| Funzione interlocked | Descrizione |
|---|---|
| InterlockedAdd | Esegue un'operazione di addizione atomica sui valori di LONG specificati. |
| InterlockedAddAcquire | Esegue un'operazione di addizione atomica sui valori di LONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedAddRelease | Esegue un'operazione di addizione atomica sui valori di LONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedAddNoFence | Esegue un'operazione di addizione atomica sui valori di LONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedAdd64 | Esegue un'operazione di addizione atomica sui valori di LONGLONG specificati. |
| InterlockedAddAcquire64 | Esegue un'operazione di addizione atomica sui valori di LONGLONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedAddRelease64 | Esegue un'operazione di addizione atomica sui valori di LONGLONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedAddNoFence64 | Esegue un'operazione di addizione atomica sui valori di LONGLONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedAnd | Esegue un'operazione AND atomica sui valori di LONG specificati. |
| InterlockedAndAcquire | Esegue un'operazione AND atomica sui valori di LONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedAndRelease | Esegue un'operazione AND atomica sui valori di LONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedAndNoFence | Esegue un'operazione AND atomica sui valori di LONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| interlockedAnd8 | Esegue un'operazione AND atomica sui valori char specificati. |
| InterlockedAnd8Acquire | Esegue un'operazione AND atomica sui valori char specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedAnd8Release | Esegue un'operazione AND atomica sui valori char specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedAnd8NoFence | Esegue un'operazione AND atomica sui valori char specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| interlockedAnd16 | Esegue un'operazione AND atomica sui valori SHORT specificati. |
| InterlockedAnd16Acquire | Esegue un'operazione AND atomica sui valori SHORT specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedAnd16Release | Esegue un'operazione AND atomica sui valori SHORT specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedAnd16NoFence | Esegue un'operazione AND atomica sui valori SHORT specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedAnd64 | Esegue un'operazione AND atomica sui valori LONGLONG specificati. |
| InterlockedAnd64Acquire | Esegue un'operazione AND atomica sui valori LONGLONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedAnd64Release | Esegue un'operazione AND atomica sui valori LONGLONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedAnd64NoFence | Esegue un'operazione AND atomica sui valori LONGLONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| interlockedBitTestAndComplement | Verifica il bit specificato del valore di LONG specificato e lo integra. |
| InterlockedBitTestAndComplement64 | Verifica il bit specificato del valore LONG64 specificato e lo integra. L'operazione è atomica |
| InterlockedBitTestAndResetAcquire | Verifica il bit specificato del valore di LONG specificato e lo imposta su 0. L'operazione è atomica e viene eseguita con la semantica di ordinamento della memoria di acquisizione |
| InterlockedBitTestAndResetRelease | Verifica il bit specificato del valore di LONG specificato e lo imposta su 0. L'operazione è atomica e viene eseguita usando la semantica di rilascio della memoria |
| InterlockedBitTestAndSetAcquire | Verifica il bit specificato del valore di LONG specificato e lo imposta su 1. L'operazione è atomica e viene eseguita con la semantica di ordinamento della memoria di acquisizione |
| InterlockedBitTestAndSetRelease | Verifica il bit specificato del valore di LONG specificato e lo imposta su 1. L'operazione è atomica e viene eseguita con la semantica di ordinamento della memoria di rilascio |
| InterlockedBitTestAndReset | Verifica il bit specificato del valore di LONG specificato e lo imposta su 0. |
| InterlockedBitTestAndReset64 | Verifica il bit specificato dell'valore LONG64 specificato e lo imposta su 0. |
| InterlockedBitTestAndSet | Verifica il bit specificato del valore di LONG specificato e lo imposta su 1. |
| InterlockedBitTestAndSet64 | Verifica il bit specificato del valore di LONG64 specificato e lo imposta su 1. |
| InterlockedCompare64Exchange128 | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta i valori e gli scambi a 64 bit specificati con il valore a 128 bit specificato in base al risultato del confronto. |
| InterlockedCompare64ExchangeAcquire128 | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta i valori e gli scambi a 64 bit specificati con il valore a 128 bit specificato in base al risultato del confronto. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedCompare64ExchangeRelease128 | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta i valori e gli scambi a 64 bit specificati con il valore a 128 bit specificato in base al risultato del confronto. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedCompareExchange | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 32 bit specificati e scambia con un altro valore a 32 bit in base al risultato del confronto. |
| InterlockedCompareExchangeAcquire | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 32 bit specificati e scambia con un altro valore a 32 bit in base al risultato del confronto. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedCompareExchangeRelease | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 32 bit specificati e scambia con un altro valore a 32 bit in base al risultato del confronto. Lo scambio viene eseguito con la semantica di ordinamento della memoria rilasciata. |
| InterlockedCompareExchangeNoFence | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 32 bit specificati e scambia con un altro valore a 32 bit in base al risultato del confronto. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| interlockedCompareExchange64 | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 64 bit specificati e scambia con un altro valore a 64 bit in base al risultato del confronto. |
| InterlockedCompareExchangeAcquire64 | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 64 bit specificati e scambia con un altro valore a 64 bit in base al risultato del confronto. Lo scambio viene eseguito con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedCompareExchangeRelease64 | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 64 bit specificati e scambia con un altro valore a 64 bit in base al risultato del confronto. Lo scambio viene eseguito con la semantica di ordinamento della memoria rilasciata. |
| InterlockedCompareExchangeNoFence64 | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 64 bit specificati e scambia con un altro valore a 64 bit in base al risultato del confronto. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedCompareExchange16 | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 16 bit specificati e scambia con un altro valore a 16 bit in base al risultato del confronto |
| InterlockedCompareExchange16Acquire | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 16 bit specificati e scambia con un altro valore a 16 bit in base al risultato del confronto. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione |
| InterlockedCompareExchange16Release | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 16 bit specificati e scambia con un altro valore a 16 bit in base al risultato del confronto. Lo scambio viene eseguito con la semantica di ordinamento della memoria di rilascio |
| InterlockedCompareExchange16NoFence | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori a 16 bit specificati e scambia con un altro valore a 16 bit in base al risultato del confronto. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedCompareExchange128 | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori e scambi a 128 bit specificati con un altro valore a 128 bit in base al risultato del confronto |
| InterlockedCompareExchangePointer | Esegue un'operazione atomica di confronto e scambio sui valori del puntatore specificati. La funzione confronta due valori di puntatore specificati e scambia con un altro valore puntatore in base al risultato del confronto. |
| InterlockedCompareExchangePointerAcquire | Esegue un'operazione atomica di confronto e scambio sui valori del puntatore specificati. La funzione confronta due valori di puntatore specificati e scambia con un altro valore puntatore in base al risultato del confronto. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedCompareExchangePointerRelease | Esegue un'operazione atomica di confronto e scambio sui valori del puntatore specificati. La funzione confronta due valori di puntatore specificati e scambia con un altro valore puntatore in base al risultato del confronto. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedCompareExchangePointerNoFence | Esegue un'operazione atomica di confronto e scambio sui valori specificati. La funzione confronta due valori di puntatore specificati e scambia con un altro valore puntatore in base al risultato del confronto. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedDecrement | Decrementi (diminuisce di uno) il valore della variabile a 32 bit specificata come operazione atomica. |
| InterlockedDecrementAcquire | Decrementi (diminuisce di uno) il valore della variabile a 32 bit specificata come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedDecrementRelease | Decrementi (diminuisce di uno) il valore della variabile a 32 bit specificata come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedDecrementNoFence | Decrementi (diminuisce di uno) il valore della variabile a 32 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedDecrement16 | Decrementi (diminuisce di uno) il valore della variabile a 16 bit specificata come operazione atomica |
| InterlockedDecrement16Acquire | Decrementi (diminuisce di uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione |
| InterlockedDecrement16Release | Decrementi (diminuisce di uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio |
| InterlockedDecrement16NoFence | Decrementi (diminuisce di uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedDecrement64 | Decrementi (diminuisce di uno) il valore della variabile a 64 bit specificata come operazione atomica. |
| InterlockedDecrementAcquire64 | Decrementi (diminuisce di uno) il valore della variabile a 64 bit specificata come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedDecrementRelease64 | Decrementi (diminuisce di uno) il valore della variabile a 64 bit specificata come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedDecrementNoFence64 | Decrementi (diminuisce di uno) il valore della variabile a 64 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedExchange | Imposta una variabile a 32 bit sul valore specificato come operazione atomica. |
| InterlockedExchangeAcquire | Imposta una variabile a 32 bit sul valore specificato come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedExchangeNoFence | Imposta una variabile a 64 bit sul valore specificato come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedExchange8 | Imposta una variabile a 8 bit sul valore specificato come operazione atomica |
| InterlockedExchange16 | Imposta una variabile a 16 bit sul valore specificato come operazione atomica. |
| InterlockedExchange16Acquire | Imposta una variabile a 16 bit sul valore specificato come operazione atomica. L'operazione viene eseguita usando la semantica di ordinamento della memoria di acquisizione |
| InterlockedExchange16NoFence | Imposta una variabile a 16 bit sul valore specificato come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedExchange64 | Imposta una variabile a 64 bit sul valore specificato come operazione atomica. |
| interlockedExchangeAcquire64 | Imposta una variabile a 32 bit sul valore specificato come operazione atomica. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedExchangeNoFence64 | Imposta una variabile a 64 bit sul valore specificato come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedExchangePointer | Scambia in modo atomico una coppia di valori puntatore. |
| InterlockedExchangePointerAcquire | Scambia in modo atomico una coppia di valori puntatore. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedExchangePointerNoFence | Scambia in modo atomico una coppia di indirizzi. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedExchangeSubtract | Esegue una sottrazione atomica di due valori. |
| InterlockedExchangeAdd | Esegue un'aggiunta atomica di due valori a 32 bit. |
| InterlockedExchangeAddAcquire | Esegue un'aggiunta atomica di due valori a 32 bit. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedExchangeAddRelease | Esegue un'aggiunta atomica di due valori a 32 bit. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedExchangeAddNoFence | Esegue un'aggiunta atomica di due valori a 32 bit. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedExchangeAdd64 | Esegue un'aggiunta atomica di due valori a 64 bit. |
| InterlockedExchangeAddAcquire64 | Esegue un'aggiunta atomica di due valori a 64 bit. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedExchangeAddRelease64 | Esegue un'aggiunta atomica di due valori a 64 bit. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedExchangeAddNoFence64 | Esegue un'aggiunta atomica di due valori a 64 bit. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedIncrement | Incrementa (aumenta di uno) il valore della variabile a 32 bit specificata come operazione atomica. |
| InterlockedIncrementAcquire | Incrementa (aumenta di uno) il valore della variabile a 32 bit specificata come operazione atomica. L'operazione viene eseguita usando la semantica di acquisizione dell'ordinamento della memoria. |
| InterlockedIncrementRelease | Incrementa (aumenta di uno) il valore della variabile a 32 bit specificata come operazione atomica. L'operazione viene eseguita usando la semantica di ordinamento della memoria di rilascio. |
| InterlockedIncrementNoFence | Incrementa (aumenta di uno) il valore della variabile a 32 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedIncrement16 | Incrementa (aumenta di uno) il valore della variabile a 16 bit specificata come operazione atomica |
| InterlockedIncrement16Acquire | Incrementa (aumenta di uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita usando la semantica di ordinamento della memoria di acquisizione |
| InterlockedIncrement16Release | Incrementa (aumenta di uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita usando la semantica di ordinamento della memoria di rilascio |
| InterlockedIncrement16NoFence | Incrementa (aumenta di uno) il valore della variabile a 16 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| interlockedIncrement64 | Incrementa (aumenta di uno) il valore della variabile a 64 bit specificata come operazione atomica. |
| InterlockedIncrementAcquire64 | Incrementa (aumenta di uno) il valore della variabile a 64 bit specificata come operazione atomica. L'operazione viene eseguita usando la semantica di acquisizione dell'ordinamento della memoria. |
| InterlockedIncrementRelease64 | Incrementa (aumenta di uno) il valore della variabile a 64 bit specificata come operazione atomica. L'operazione viene eseguita usando la semantica di ordinamento della memoria di rilascio. |
| InterlockedIncrementNoFence64 | Incrementa (aumenta di uno) il valore della variabile a 64 bit specificata come operazione atomica. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedOr | Esegue un'operazione OR atomica sui valori di LONG specificati. |
| InterlockedOrAcquire | Esegue un'operazione OR atomica sui valori di LONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedOrRelease | Esegue un'operazione OR atomica sui valori di LONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedOrNoFence | Esegue un'operazione OR atomica sui valori di LONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| interlockedOr8 di | Esegue un'operazione OR atomica sui valori char specificati. |
| InterlockedOr8Acquire | Esegue un'operazione OR atomica sui valori char specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedOr8Release | Esegue un'operazione OR atomica sui valori char specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedOr8NoFence | Esegue un'operazione OR atomica sui valori char specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| interlockedOr16 | Esegue un'operazione OR atomica sui valori di SHORT specificati. |
| InterlockedOr16Acquire | Esegue un'operazione OR atomica sui valori di SHORT specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedOr16Release | Esegue un'operazione OR atomica sui valori di SHORT specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedOr16NoFence | Esegue un'operazione OR atomica sui valori di SHORT specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedOr64 | Esegue un'operazione OR atomica sui valori di LONGLONG specificati. |
| InterlockedOr64Acquire | Esegue un'operazione OR atomica sui valori di LONGLONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedOr64Release | Esegue un'operazione OR atomica sui valori di LONGLONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedOr64NoFence | Esegue un'operazione OR atomica sui valori di LONGLONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedXor | Esegue un'operazione XOR atomica sui valori di LONG specificati. |
| InterlockedXorAcquire | Esegue un'operazione XOR atomica sui valori di LONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedXorRelease | Esegue un'operazione XOR atomica sui valori di LONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedXorNoFence | Esegue un'operazione XOR atomica sui valori di LONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedXor8 | Esegue un'operazione XOR atomica sui valori char specificati. |
| InterlockedXor8Acquire | Esegue un'operazione XOR atomica sui valori char specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedXor8Release | Esegue un'operazione XOR atomica sui valori char specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedXor8NoFence | Esegue un'operazione XOR atomica sui valori char specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| interlockedXor16 | Esegue un'operazione XOR atomica sui valori SHORT specificati. |
| InterlockedXor16Acquire | Esegue un'operazione XOR atomica sui valori SHORT specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedXor16Release | Esegue un'operazione XOR atomica sui valori SHORT specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedXor16NoFence | Esegue un'operazione XOR atomica sui valori SHORT specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
| InterlockedXor64 | Esegue un'operazione XOR atomica sui valori di LONGLONG specificati. |
| InterlockedXor64Acquire | Esegue un'operazione XOR atomica sui valori di LONGLONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di acquisizione. |
| InterlockedXor64Release | Esegue un'operazione XOR atomica sui valori di LONGLONG specificati. L'operazione viene eseguita con la semantica di ordinamento della memoria di rilascio. |
| InterlockedXor64NoFence | Esegue un'operazione XOR atomica sui valori di LONGLONG specificati. L'operazione viene eseguita in modo atomico, ma senza usare barriere di memoria |
Funzioni Mutex
| Funzione Mutex | Descrizione |
|---|---|
| CreateMutex | Crea o apre un oggetto mutex denominato o senza nome. |
| CreateMutexEx | Crea o apre un oggetto mutex denominato o senza nome e restituisce un handle all'oggetto . |
| OpenMutex | Apre un oggetto mutex denominato esistente. |
| ReleaseMutex | Rilascia la proprietà dell'oggetto mutex specificato. |
Funzioni dello spazio dei nomi privato
| Funzione spazio dei nomi privato | Descrizione |
|---|---|
| AddSIDToBoundaryDescriptor | Aggiunge un nuovo identificatore di sicurezza (SID) al descrittore di limite specificato. |
| AddIntegrityLabelToBoundaryDescriptor | Aggiunge un nuovo IDENTIFICATORe di sicurezza (SID) necessario al descrittore di limite specificato. |
| ClosePrivateNamespace | Chiude un handle dello spazio dei nomi aperto. |
| CreateBoundaryDescriptor | Crea un descrittore di limiti. |
| CreatePrivateNamespace | Crea uno spazio dei nomi privato. |
| deleteBoundaryDescriptor | Elimina il descrittore di limite specificato. |
| OpenPrivateNamespace | Apre uno spazio dei nomi privato. |
Funzioni semaforo
| Funzione semaforo | Descrizione |
|---|---|
| CreateSemaphore | Crea o apre un oggetto semaforo denominato o senza nome. |
| CreateSemaphoreEx | Crea o apre un oggetto semaforo denominato o senza nome e restituisce un handle all'oggetto . |
| OpenSemaphore | Apre un oggetto semaforo denominato esistente. |
| ReleaseSemaphore | Aumenta il conteggio dell'oggetto semaforo specificato in base a una quantità specificata. |
Funzioni elenco collegate da Singly
| Funzione elenco collegato singly | Descrizione |
|---|---|
| InitializeSListHead | Inizializza l'intestazione di un elenco collegato cantamente. |
| InterlockedFlushSList | Scarica l'intero elenco di elementi in un elenco collegato cantamente. |
| InterlockedPopEntrySList | Rimuove un elemento dalla parte anteriore di un elenco collegato cantamente. |
| InterlockedPushEntrySList | Inserisce un elemento nella parte anteriore di un elenco collegato cantamente. |
| InterlockedPushListSList | Inserisce un elenco collegato singly all'inizio di un altro elenco collegato. |
| InterlockedPushListSListEx | Inserisce un elenco collegato singly all'inizio di un altro elenco collegato. L'accesso agli elenchi viene sincronizzato in un sistema multiprocessore. Questa versione del metodo non usa la convenzione di chiamata __fastcall |
| QueryDepthSList | Recupera il numero di voci nell'elenco collegato specificato. |
| RtlFirstEntrySList | Recupera la prima voce di un elenco collegato singly. |
| RtlInitializeSListHead | Inizializza l'intestazione di un elenco collegato cantamente. Le applicazioni devono invece chiamare InitializeSListHead. |
| RtlInterlockedFlushSList | Scarica l'intero elenco di elementi in un elenco collegato cantamente. Le applicazioni devono invece chiamare InterlockedFlushSList. |
| RtlInterlockedPopEntrySList | Rimuove un elemento dalla parte anteriore di un elenco collegato cantamente. Le applicazioni devono invece chiamare InterlockedPopEntrySList. |
| RtlInterlockedPushEntrySList | Inserisce un elemento nella parte anteriore di un elenco collegato cantamente. Le applicazioni devono chiamare InterlockedPushEntrySList. |
| RtlQueryDepthSList | Recupera il numero di voci nell'elenco collegato specificato. Le applicazioni devono invece chiamare QueryDepthSList. |
Funzioni di barriera di sincronizzazione
| Funzione barriera di sincronizzazione | Descrizione |
|---|---|
| DeleteSynchronizationBarrier | Elimina una barriera di sincronizzazione. |
| EnterSynchronizationBarrier | Entra in una barriera di sincronizzazione e attende il numero appropriato di thread per il rendezvous alla barriera. |
| InitializeSynchronizationBarrier | Inizializza una nuova barriera di sincronizzazione. |
Funzioni timer della coda timer
| Funzione timer della coda timer | Descrizione |
|---|---|
| ChangeTimerQueueTimer | Aggiorna un timer della coda timer. |
| CreateTimerQueue | Crea una coda per i timer. |
| CreateTimerQueueTimer | Crea un timer della coda timer. |
| DeleteTimerQueue | Elimina una coda timer. |
| DeleteTimerQueueEx | Elimina una coda timer. |
| DeleteTimerQueueTimer | Annulla un timer della coda timer. |
Funzioni di attesa
| Funzione Wait | Descrizione |
|---|---|
| msgWaitForMultipleObjects | Attende che uno o tutti gli oggetti specificati si trovino nello stato segnalato o che scade l'intervallo di timeout. Gli oggetti possono includere oggetti evento di input. |
| MsgWaitForMultipleObjectsEx | Attende che uno o tutti gli oggetti specificati si trovino nello stato segnalato, una routine di completamento I/O o una chiamata asincrona (APC) al thread o l'intervallo di timeout trascorso. La matrice di oggetti può includere oggetti evento di input. |
| RegisterWaitForSingleObject | Indirizza un thread di attesa nel pool di thread per attendere l'oggetto. |
| SignalObjectAndWait | Segnala un oggetto e attende un altro oggetto come singola operazione. |
| UnregisterWait | Annulla un'operazione di attesa registrata. |
| UnregisterWaitEx | Annulla un'operazione di attesa registrata. |
| WaitForMultipleObjects | Attende che uno o tutti gli oggetti specificati si trovino nello stato segnalato o che scade l'intervallo di timeout. |
| WaitForMultipleObjectsEx | Attende che uno o tutti gli oggetti specificati si trovino nello stato segnalato, una routine di completamento I/O o una chiamata asincrona (APC) al thread o l'intervallo di timeout trascorso. |
| WaitForSingleObject | Attende che l'oggetto specificato non sia nello stato segnalato o che l'intervallo di timeout scade. |
| WaitForSingleObjectEx | Attende fino a quando l'oggetto specificato non è nello stato segnalato, una routine di completamento I/O o una chiamata di procedura asincrona (APC) viene accodata al thread o l'intervallo di timeout trascorso. |
| WaitOnAddress | Attende la modifica del valore in corrispondenza dell'indirizzo specificato. |
| WaitOrTimerCallback | Funzione definita dall'applicazione che funge da indirizzo iniziale per un callback timer o un callback di attesa registrato. |
| WakeByAddressAll | Riattiva tutti i thread in attesa della modifica del valore di un indirizzo. |
| wakeByAddressSingle | Riattiva un thread in attesa della modifica del valore di un indirizzo. |
Funzioni timer di attesa
| Funzione waitable-timer | Descrizione |
|---|---|
| CancelWaitableTimer | Imposta il timer waitable specificato sullo stato inattivo. |
| CreateWaitableTimer | Crea o apre un oggetto timer waitable. |
| CreateWaitableTimerEx | Crea o apre un oggetto timer waitable e restituisce un handle all'oggetto . |
| OpenWaitableTimer | Apre un oggetto timer denominato waitable esistente. |
| SetWaitableTimer | Attiva il timer waitable specificato. |
| SetWaitableTimerEx | Attiva il timer waitable specificato e fornisce informazioni di contesto per il timer. . |
| TimerAPCProc | Routine di completamento timer definita dall'applicazione usata con la funzionesetWaitableTimer. |