Funções de sincronização
As seguintes funções são usadas na sincronização.
- Funções assíncronas
- Variável de condição e funções de bloqueio SRW
- Funções de secção crítica
- Funções de evento
- Funções de inicialização única
- Funções interligadas
- funções Mutex
- Funções de namespace privado
- Semáforo funciona
- Funções de lista vinculadas individualmente
- Funções de barreira de sincronização
- Funções de temporizador de fila de temporizador
- Funções de espera
- Funções de temporizador de espera
Funções assíncronas
Função assíncrona | Descrição |
---|---|
APCProc | Uma função de retorno de chamada definida pelo aplicativo usada com a funçãoQueueUserAPC. |
GetOverlappedResult | Recupera os resultados de uma operação sobreposta. |
GetOverlappedResultEx | Recupera os resultados de uma operação sobreposta dentro de um intervalo de tempo limite especificado. |
QueueUserAPC | Adiciona um objeto de chamada de procedimento assíncrono (APC) de modo de usuário à fila APC do thread especificado. |
Variável de condição e funções de bloqueio SRW
Variável de condição e função de bloqueio SRW | Descrição |
---|---|
AcquireSRWLockExclusive | Adquire um bloqueio fino de leitor/gravador (SRW) no modo exclusivo. |
AcquireSRWLockShared | Adquire um bloqueio fino de leitor/gravador (SRW) no modo compartilhado. |
InitializeConditionVariable | Inicializa uma variável de condição. |
InitializeSRWLock | Inicialize um bloqueio fino de leitor/gravador (SRW). |
ReleaseSRWLockExclusive | Libera um bloqueio fino de leitor/gravador (SRW) que foi adquirido no modo exclusivo. |
ReleaseSRWLockShared | Libera um bloqueio fino de leitor/gravador (SRW) que foi adquirido no modo compartilhado. |
SleepConditionVariableCS | Suspende na variável de condição especificada e libera a seção crítica especificada como uma operação atômica. |
SleepConditionVariableSRW | Suspende na variável de condição especificada e libera o bloqueio especificado como uma operação atômica. |
TryAcquireSRWLockExclusive | Tenta adquirir um bloqueio fino de leitor/gravador (SRW) no modo exclusivo. Se a chamada for bem-sucedida, o thread de chamada assume a propriedade do bloqueio. |
TryAcquireSRWLockShared | Tenta adquirir um bloqueio fino de leitor/gravador (SRW) no modo compartilhado. Se a chamada for bem-sucedida, o thread de chamada assume a propriedade do bloqueio. |
WakeAllConditionVariable | Acorde todos os threads aguardando na variável de condição especificada. |
WakeConditionVariable | Despertar um único thread aguardando na variável de condição especificada. |
Funções críticas da secção
Função de secção crítica | Descrição |
---|---|
DeleteCriticalSection | Libera todos os recursos usados por um objeto de seção crítica não proprietário. |
EnterCriticalSection | Aguarda a propriedade do objeto de seção crítica especificado. |
InitializeCriticalSection | Inicializa um objeto de seção crítica. |
InitializeCriticalSectionAndSpinCount | Inicializa um objeto de seção crítica e define a contagem de rotação para a seção crítica. |
InitializeCriticalSectionEx | Inicializa um objeto de seção crítica com uma contagem de rotação e sinalizadores opcionais. |
LeaveCriticalSection | Libera a propriedade do objeto de seção crítica especificado. |
SetCriticalSectionSpinCount | Define a contagem de rotação para a seção crítica especificada. |
TryEnterCriticalSection | Tenta entrar em uma seção crítica sem bloquear. |
Funções de evento
Função de evento | Descrição |
---|---|
CreateEvent | Cria ou abre um objeto de evento nomeado ou não nomeado. |
CreateEventEx | Cria ou abre um objeto de evento nomeado ou não nomeado e retorna um identificador para o objeto. |
OpenEvent | Abre um objeto de evento nomeado existente. |
PulseEvent | Define o objeto de evento especificado para o estado sinalizado e, em seguida, redefine para o estado não sinalizado depois de liberar o número apropriado de threads em espera. |
ResetEvent | Define o objeto de evento especificado para o estado não sinalizado. |
SetEvent | Define o objeto de evento especificado para o estado sinalizado. |
Funções de inicialização única
Função de inicialização única | Descrição |
---|---|
InitOnceBeginInitialize | Inicia a inicialização única. |
InitOnceComplete | Conclui a inicialização única. |
InitOnceExecuteOnce | Executa a função especificada com êxito uma vez. Nenhum outro thread que especifique a mesma estrutura de inicialização única pode executar essa função enquanto ela está sendo executada pelo thread atual. |
InitOnceInitialize | Inicializa uma estrutura de inicialização única. |
Funções interligadas
Função interligada | Descrição |
---|---|
InterlockedAdicionar | Executa uma operação de adição atômica nos valores especificados LONG. |
InterlockedAddAcquire | Executa uma operação de adição atômica nos valores especificados LONG. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedAddRelease | Executa uma operação de adição atômica nos valores especificados LONG. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedAddNoFence | Executa uma operação de adição atômica nos valores especificados LONG. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedAdd64 | Executa uma operação de adição atômica nos valores de especificados LONGLONG. |
InterlockedAddAcquire64 | Executa uma operação de adição atômica nos valores de especificados LONGLONG. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedAddRelease64 | Executa uma operação de adição atômica nos valores de especificados LONGLONG. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedAddNoFence64 | Executa uma operação de adição atômica nos valores de especificados LONGLONG. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedE | Executa uma operação atômica AND nos valores especificados LONG. |
InterlockedAndAcquire | Executa uma operação atômica AND nos valores especificados LONG. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedAndRelease | Executa uma operação atômica AND nos valores especificados LONG. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedAndNoFence | Executa uma operação atômica AND nos valores especificados LONG. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedAnd8 | Executa uma operação AND atômica nos valores de de caracteres de especificados. |
InterlockedAnd8Adquirir | Executa uma operação AND atômica nos valores de de caracteres de especificados. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedAnd8Release | Executa uma operação AND atômica nos valores de de caracteres de especificados. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedAnd8NoFence | Executa uma operação AND atômica nos valores de de caracteres de especificados. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedAnd16 | Executa uma operação atômica AND nos valores especificados SHORT. |
InterlockedAnd16Adquira | Executa uma operação atômica AND nos valores especificados SHORT. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedAnd16Release | Executa uma operação atômica AND nos valores especificados SHORT. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedAnd16NoFence | Executa uma operação atômica AND nos valores especificados SHORT. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedAnd64 | Executa uma operação atômica AND nos valores de especificados LONGLONG. |
InterlockedAnd64Adquirir | Executa uma operação atômica AND nos valores de especificados LONGLONG. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedAnd64Release | Executa uma operação atômica AND nos valores de especificados LONGLONG. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedAnd64NoFence | Executa uma operação atômica AND nos valores de especificados LONGLONG. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedBitTestAndComplement | Testa o bit especificado do valor de especificado LONG e complementa-o. |
InterlockedBitTestAndComplement64 | Testa o bit especificado do valor de especificado LONG64 e complementa-o. A operação é atómica |
InterlockedBitTestAndResetAcquire | Testa o bit especificado do valor de LONG especificado e o define como 0. A operação é atômica e é realizada com semântica de ordenação de memória |
InterlockedBitTestAndResetRelease | Testa o bit especificado do valor de LONG especificado e o define como 0. A operação é atômica e é realizada usando semântica de liberação de memória |
InterlockedBitTestAndSetAcquire | Testa o bit especificado do valor de LONG especificado e o define como 1. A operação é atômica e é realizada com semântica de ordenação de memória |
InterlockedBitTestAndSetRelease | Testa o bit especificado do valor de LONG especificado e o define como 1. A operação é atômica e é realizada com semântica de ordenação de memória de liberação |
InterlockedBitTestAndReset | Testa o bit especificado do valor de LONG especificado e o define como 0. |
InterlockedBitTestAndReset64 | Testa o bit especificado do valor de LONG64 especificado e o define como 0. |
InterlockedBitTestAndSet | Testa o bit especificado do valor de LONG especificado e o define como 1. |
InterlockedBitTestAndSet64 | Testa o bit especificado do valor de LONG64 especificado e o define como 1. |
InterlockedCompare64Exchange128 | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara os valores de 64 bits especificados e trocas com o valor de 128 bits especificado com base no resultado da comparação. |
InterlockedCompare64ExchangeAcquire128 | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara os valores de 64 bits especificados e trocas com o valor de 128 bits especificado com base no resultado da comparação. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedCompare64ExchangeRelease128 | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara os valores de 64 bits especificados e trocas com o valor de 128 bits especificado com base no resultado da comparação. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedCompareExchange | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 32 bits especificados e trocas com outro valor de 32 bits com base no resultado da comparação. |
InterlockedCompareExchangeAdquirir | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 32 bits especificados e trocas com outro valor de 32 bits com base no resultado da comparação. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedCompareExchangeRelease | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 32 bits especificados e trocas com outro valor de 32 bits com base no resultado da comparação. A troca é realizada com semântica de ordenação de memória de liberação. |
InterlockedCompareExchangeNoFence | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 32 bits especificados e trocas com outro valor de 32 bits com base no resultado da comparação. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedCompareExchange64 | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 64 bits especificados e trocas com outro valor de 64 bits com base no resultado da comparação. |
InterlockedCompareExchangeAcquire64 | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 64 bits especificados e trocas com outro valor de 64 bits com base no resultado da comparação. A troca é realizada com semântica de ordenação de memória adquirida. |
InterlockedCompareExchangeRelease64 | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 64 bits especificados e trocas com outro valor de 64 bits com base no resultado da comparação. A troca é realizada com semântica de ordenação de memória de liberação. |
InterlockedCompareExchangeNoFence64 | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 64 bits especificados e trocas com outro valor de 64 bits com base no resultado da comparação. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedCompareExchange16 | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 16 bits especificados e trocas com outro valor de 16 bits com base no resultado da comparação |
InterlockedCompareExchange16Adquira | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 16 bits especificados e trocas com outro valor de 16 bits com base no resultado da comparação. A operação é realizada com a semântica de ordenação de memória adquirida |
InterlockedCompareExchange16Release | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 16 bits especificados e trocas com outro valor de 16 bits com base no resultado da comparação. A troca é realizada com semântica de ordenação de memória de liberação |
InterlockedCompareExchange16NoFence | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 16 bits especificados e trocas com outro valor de 16 bits com base no resultado da comparação. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedCompareExchange128 | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de 128 bits especificados e trocas com outro valor de 128 bits com base no resultado da comparação |
InterlockedCompareExchangePointer | Executa uma operação de comparação e troca atômica nos valores de ponteiro especificados. A função compara dois valores de ponteiro especificados e trocas com outro valor de ponteiro com base no resultado da comparação. |
InterlockedCompareExchangePointerAcquire | Executa uma operação de comparação e troca atômica nos valores de ponteiro especificados. A função compara dois valores de ponteiro especificados e trocas com outro valor de ponteiro com base no resultado da comparação. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedCompareExchangePointerRelease | Executa uma operação de comparação e troca atômica nos valores de ponteiro especificados. A função compara dois valores de ponteiro especificados e trocas com outro valor de ponteiro com base no resultado da comparação. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedCompareExchangePointerNoFence | Executa uma operação de comparação e troca atômica nos valores especificados. A função compara dois valores de ponteiro especificados e trocas com outro valor de ponteiro com base no resultado da comparação. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedDecrement | Decrements (diminui em um) o valor da variável de 32 bits especificada como uma operação atômica. |
InterlockedDecrementAdquirir | Decrements (diminui em um) o valor da variável de 32 bits especificada como uma operação atômica. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedDecrementRelease | Decrements (diminui em um) o valor da variável de 32 bits especificada como uma operação atômica. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedDecrementNoFence | Decrements (diminui em um) o valor da variável de 32 bits especificada como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedDecrement16 | Decrements (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica |
InterlockedDecrement16Adquira | Decrements (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é realizada com a semântica de ordenação de memória adquirida |
InterlockedDecrement16Release | Decrements (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada com semântica de ordenação de memória de liberação |
InterlockedDecrement16NoFence | Decrements (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedDecrement64 | Decrements (diminui em um) o valor da variável de 64 bits especificada como uma operação atômica. |
InterlockedDecrementAcquire64 | Decrements (diminui em um) o valor da variável de 64 bits especificada como uma operação atômica. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedDecrementRelease64 | Decrements (diminui em um) o valor da variável de 64 bits especificada como uma operação atômica. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedDecrementNoFence64 | Decrements (diminui em um) o valor da variável de 64 bits especificada como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedExchange | Define uma variável de 32 bits para o valor especificado como uma operação atômica. |
InterlockedExchangeAdquirir | Define uma variável de 32 bits para o valor especificado como uma operação atômica. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedExchangeNoFence | Define uma variável de 64 bits para o valor especificado como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedExchange8 | Define uma variável de 8 bits para o valor especificado como uma operação atômica |
InterlockedExchange16 | Define uma variável de 16 bits para o valor especificado como uma operação atômica. |
InterlockedExchange16Adquira | Define uma variável de 16 bits para o valor especificado como uma operação atômica. A operação é realizada usando a semântica de ordenação de memória de aquisição |
InterlockedExchange16NoFence | Define uma variável de 16 bits para o valor especificado como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedExchange64 | Define uma variável de 64 bits para o valor especificado como uma operação atômica. |
InterlockedExchangeAcquire64 | Define uma variável de 32 bits para o valor especificado como uma operação atômica. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedExchangeNoFence64 | Define uma variável de 64 bits para o valor especificado como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedExchangePointer | Atomicamente troca um par de valores de ponteiro. |
InterlockedExchangePointerAcquire | Atomicamente troca um par de valores de ponteiro. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedExchangePointerNoFence | Atomicamente troca um par de endereços. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedExchangeSubtract | Executa uma subtração atômica de dois valores. |
InterlockedExchangeAdicionar | Executa uma adição atômica de dois valores de 32 bits. |
InterlockedExchangeAddAcquire | Executa uma adição atômica de dois valores de 32 bits. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedExchangeAddRelease | Executa uma adição atômica de dois valores de 32 bits. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedExchangeAddNoFence | Executa uma adição atômica de dois valores de 32 bits. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedExchangeAdd64 | Executa uma adição atômica de dois valores de 64 bits. |
InterlockedExchangeAddAcquire64 | Executa uma adição atômica de dois valores de 64 bits. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedExchangeAddRelease64 | Executa uma adição atômica de dois valores de 64 bits. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedExchangeAddNoFence64 | Executa uma adição atômica de dois valores de 64 bits. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedIncrement | Incrementa (aumenta em um) o valor da variável de 32 bits especificada como uma operação atômica. |
InterlockedIncrementAcquire | Incrementa (aumenta em um) o valor da variável de 32 bits especificada como uma operação atômica. A operação é realizada usando a semântica de ordenação de memória de aquisição. |
InterlockedIncrementRelease | Incrementa (aumenta em um) o valor da variável de 32 bits especificada como uma operação atômica. A operação é executada usando a semântica de ordenação de memória de liberação. |
InterlockedIncrementNoFence | Incrementa (aumenta em um) o valor da variável de 32 bits especificada como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedIncrement16 | Incrementa (aumenta em um) o valor da variável de 16 bits especificada como uma operação atômica |
InterlockedIncrement16Adquirir | Incrementa (aumenta em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é realizada usando a semântica de ordenação de memória de aquisição |
InterlockedIncrement16Release | Incrementa (aumenta em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada usando a semântica de ordenação de memória de liberação |
InterlockedIncrement16NoFence | Incrementa (aumenta em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedIncrement64 | Incrementa (aumenta em um) o valor da variável de 64 bits especificada como uma operação atômica. |
InterlockedIncrementAcquire64 | Incrementa (aumenta em um) o valor da variável de 64 bits especificada como uma operação atômica. A operação é realizada usando a semântica de ordenação de memória de aquisição. |
InterlockedIncrementRelease64 | Incrementa (aumenta em um) o valor da variável de 64 bits especificada como uma operação atômica. A operação é executada usando a semântica de ordenação de memória de liberação. |
InterlockedIncrementNoFence64 | Incrementa (aumenta em um) o valor da variável de 64 bits especificada como uma operação atômica. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedOr | Executa uma operação atômica OR nos valores especificados LONG. |
InterlockedOrAcquire | Executa uma operação atômica OR nos valores especificados LONG. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedOrRelease | Executa uma operação atômica OR nos valores especificados LONG. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedOrNoFence | Executa uma operação atômica OR nos valores especificados LONG. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedOr8 | Executa uma operação OR atômica nos valores de de caracteres de especificados. |
InterlockedOr8Adquirir | Executa uma operação OR atômica nos valores de de caracteres de especificados. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedOr8Release | Executa uma operação OR atômica nos valores de de caracteres de especificados. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedOr8NoFence | Executa uma operação OR atômica nos valores de de caracteres de especificados. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedOr16 | Executa uma operação atômica OR nos valores especificados SHORT. |
InterlockedOr16Adquira | Executa uma operação atômica OR nos valores especificados SHORT. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedOr16Release | Executa uma operação atômica OR nos valores especificados SHORT. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedOr16NoFence | Executa uma operação atômica OR nos valores especificados SHORT. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedOr64 | Executa uma operação atômica OR nos valores de especificados LONGLONG. |
InterlockedOr64Adquira | Executa uma operação atômica OR nos valores de especificados LONGLONG. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedOr64Release | Executa uma operação atômica OR nos valores de especificados LONGLONG. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedOr64NoFence | Executa uma operação atômica OR nos valores de especificados LONGLONG. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedXor | Executa uma operação XOR atômica nos valores especificados LONG. |
InterlockedXorAcquire | Executa uma operação XOR atômica nos valores especificados LONG. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedXorRelease | Executa uma operação XOR atômica nos valores especificados LONG. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedXorNoFence | Executa uma operação XOR atômica nos valores especificados LONG. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedXor8 | Executa uma operação XOR atômica nos valores de de caracteres de especificados. |
InterlockedXor8Adquirir | Executa uma operação XOR atômica nos valores de de caracteres de especificados. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedXor8Release | Executa uma operação XOR atômica nos valores de de caracteres de especificados. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedXor8NoFence | Executa uma operação XOR atômica nos valores de de caracteres de especificados. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedXor16 | Executa uma operação XOR atômica nos valores especificados SHORT. |
InterlockedXor16Adquira | Executa uma operação XOR atômica nos valores especificados SHORT. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedXor16Release | Executa uma operação XOR atômica nos valores especificados SHORT. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedXor16NoFence | Executa uma operação XOR atômica nos valores especificados SHORT. A operação é realizada atomicamente, mas sem usar barreiras de memória |
InterlockedXor64 | Executa uma operação XOR atômica nos valores de especificados LONGLONG. |
InterlockedXor64Adquira | Executa uma operação XOR atômica nos valores de especificados LONGLONG. A operação é realizada com a semântica de ordenação de memória de aquisição. |
InterlockedXor64Release | Executa uma operação XOR atômica nos valores de especificados LONGLONG. A operação é executada com semântica de ordenação de memória de liberação. |
InterlockedXor64NoFence | Executa uma operação XOR atômica nos valores de especificados LONGLONG. A operação é realizada atomicamente, mas sem usar barreiras de memória |
Funções Mutex
Função Mutex | Descrição |
---|---|
CreateMutex | Cria ou abre um objeto mutex nomeado ou sem nome. |
CreateMutexEx | Cria ou abre um objeto mutex nomeado ou não nomeado e retorna um identificador para o objeto. |
OpenMutex | Abre um objeto mutex nomeado existente. |
ReleaseMutex | Libera a propriedade do objeto mutex especificado. |
Funções de namespace privado
Função de namespace privado | Descrição |
---|---|
AddSIDToBoundaryDescriptor | Adiciona um novo identificador de segurança (SID) ao descritor de limite especificado. |
AddIntegrityLabelToBoundaryDescriptor | Adiciona um novo identificador de segurança necessário (SID) ao descritor de limite especificado. |
ClosePrivateNamespace | Fecha um identificador de namespace aberto. |
CreateBoundaryDescriptor | Cria um descritor de limite. |
CreatePrivateNamespace | Cria um namespace privado. |
DeleteBoundaryDescriptor | Exclui o descritor de limite especificado. |
OpenPrivateNamespace | Abre um namespace privado. |
Funções do semáforo
Função semáforo | Descrição |
---|---|
CreateSemaphore | Cria ou abre um objeto semáforo nomeado ou sem nome. |
CreateSemaphoreEx | Cria ou abre um objeto semáforo nomeado ou não nomeado e retorna um identificador para o objeto. |
OpenSemaphore | Abre um objeto semáforo nomeado existente. |
ReleaseSemaphore | Aumenta a contagem do objeto semáforo especificado em uma quantidade especificada. |
Funções de lista vinculadas individualmente
Função de lista vinculada isoladamente | Descrição |
---|---|
InitializeSListHead | Inicializa o cabeçalho de uma lista vinculada individualmente. |
InterlockedFlushSList | Libera toda a lista de itens em uma lista vinculada individualmente. |
InterlockedPopEntrySList | Remove um item da frente de uma lista vinculada individualmente. |
InterlockedPushEntrySList | Insere um item na frente de uma lista vinculada individualmente. |
InterlockedPushListSList | Insere uma lista vinculada individualmente na frente de outra lista vinculada individualmente. |
InterlockedPushListSListEx | Insere uma lista vinculada individualmente na frente de outra lista vinculada individualmente. O acesso às listas é sincronizado em um sistema multiprocessador. Esta versão do método não usa a convenção de chamada __fastcall |
QueryDepthSList | Recupera o número de entradas na lista de links individuais especificada. |
RtlFirstEntrySList | Recupera a primeira entrada em uma lista vinculada individualmente. |
RtlInitializeSListHead | Inicializa o cabeçalho de uma lista vinculada individualmente. Em vez disso, os aplicativos devem chamar InitializeSListHead. |
RtlInterlockedFlushSList | Libera toda a lista de itens em uma lista vinculada individualmente. Em vez disso, os aplicativos devem chamar InterlockedFlushSList. |
RtlInterlockedPopEntrySList | Remove um item da frente de uma lista vinculada individualmente. Em vez disso, os aplicativos devem chamar InterlockedPopEntrySList. |
RtlInterlockedPushEntrySList | Insere um item na frente de uma lista vinculada individualmente. Em vez disso, os aplicativos devem chamar InterlockedPushEntrySList. |
RtlQueryDepthSList | Recupera o número de entradas na lista de links individuais especificada. Em vez disso, os aplicativos devem chamar QueryDepthSList. |
Funções de barreira de sincronização
Funções de temporizador de fila de temporizador
Função de temporizador de fila de temporizador | Descrição |
---|---|
ChangeTimerQueueTimer | Atualiza um temporizador de fila. |
CreateTimerQueue | Cria uma fila para temporizadores. |
CreateTimerQueueTimer | Cria um temporizador de fila de temporizador. |
DeleteTimerQueue | Exclui uma fila de temporizador. |
DeleteTimerQueueEx | Exclui uma fila de temporizador. |
DeleteTimerQueueTimer | Cancela um temporizador de fila. |
Funções de espera
Função de espera | Descrição |
---|---|
MsgWaitForMultipleObjects | Aguarda até que um ou todos os objetos especificados estejam no estado sinalizado ou o intervalo de tempo limite decorria. Os objetos podem incluir objetos de evento de entrada. |
MsgWaitForMultipleObjectsEx | Aguarda até que um ou todos os objetos especificados estejam no estado sinalizado, uma rotina de conclusão de E/S ou chamada de procedimento assíncrona (APC) seja enfileirada para o thread ou o intervalo de tempo limite decorria. A matriz de objetos pode incluir objetos de evento de entrada. |
RegisterWaitForSingleObject | Direciona um thread de espera no pool de threads para aguardar no objeto. |
SignalObjectAndWait | Sinaliza um objeto e aguarda em outro objeto como uma única operação. |
UnregisterWait | Cancela uma operação de espera registrada. |
UnregisterWaitEx | Cancela uma operação de espera registrada. |
WaitForMultipleObjects | Aguarda até que um ou todos os objetos especificados estejam no estado sinalizado ou o intervalo de tempo limite decorria. |
WaitForMultipleObjectsEx | Aguarda até que um ou todos os objetos especificados estejam no estado sinalizado, uma rotina de conclusão de E/S ou chamada de procedimento assíncrona (APC) seja enfileirada para o thread ou o intervalo de tempo limite decorria. |
WaitForSingleObject | Aguarda até que o objeto especificado esteja no estado sinalizado ou o intervalo de tempo limite decorra. |
WaitForSingleObjectEx | Aguarda até que o objeto especificado esteja no estado sinalizado, uma rotina de conclusão de E/S ou chamada de procedimento assíncrona (APC) seja enfileirada para o thread ou o intervalo de tempo limite decorra. |
WaitOnAddress | Aguarda que o valor no endereço especificado seja alterado. |
WaitOrTimerCallback | Uma função definida pelo aplicativo que serve como o endereço inicial para um retorno de chamada de temporizador ou um retorno de chamada de espera registrado. |
WakeByAddressTodos os | Ativa todos os threads aguardando a alteração do valor de um endereço. |
WakeByAddressSingle | Ativa um thread aguardando a alteração do valor de um endereço. |
Funções de temporizador de espera
Função de temporizador de espera | Descrição |
---|---|
CancelWaitableTimer | Define o temporizador de espera especificado para o estado inativo. |
CreateWaitableTimer | Cria ou abre um objeto de temporizador de espera. |
CreateWaitableTimerEx | Cria ou abre um objeto de temporizador de espera e retorna um identificador para o objeto. |
OpenWaitableTimer | Abre um objeto de temporizador de espera nomeado existente. |
SetWaitableTimer | Ativa o temporizador de espera especificado. |
SetWaitableTimerEx | Ativa o temporizador de espera especificado e fornece informações de contexto para o temporizador. . |
TimerAPCProc | Rotina de conclusão do temporizador definida pelo aplicativo usada com a funçãoSetWaitableTimer. |