Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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. |