Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As funções a seguir são usadas na sincronização.
- Funções assíncronas
- Variável de condição e funções de bloqueio SRW
- Funções de seção críticas
- Funções de evento
- Funções de inicialização única
- Funções interligadas
- Funções mutex
- Funções de namespace privado
- Funções de semáforo
- Funções de lista vinculadas ao Singly
- 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ção QueueUserAPC . |
| GetOverlappedResult | Recupera os resultados de uma operação sobreposta. |
| GetOverlappedResultEx | Recupera os resultados de uma operação sobreposta em um intervalo de tempo limite especificado. |
| QueueUserAPC | Adiciona um objeto APC (chamada de procedimento assíncrono) no 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 de leitor/gravador fino (SRW) no modo exclusivo. |
| AcquireSRWLockShared | Adquire um bloqueio de leitor/gravador fino (SRW) no modo compartilhado. |
| InitializeConditionVariable | Inicializa uma variável de condição. |
| InitializeSRWLock | Inicializar um bloqueio de leitor/gravador fino (SRW). |
| ReleaseSRWLockExclusive | Libera um bloqueio de leitor/gravador fino (SRW) que foi adquirido no modo exclusivo. |
| ReleaseSRWLockShared | Libera um bloqueio de leitor/gravador fino (SRW) que foi adquirido no modo compartilhado. |
| SleepConditionVariableCS | Dorme na variável de condição especificada e libera a seção crítica especificada como uma operação atômica. |
| SleepConditionVariableSRW | Dorme na variável de condição especificada e libera o bloqueio especificado como uma operação atômica. |
| TryAcquireSRWLockExclusive | Tenta adquirir um bloqueio de leitor/gravador fino (SRW) no modo exclusivo. Se a chamada for bem-sucedida, o thread de chamada assumirá a propriedade do bloqueio. |
| TryAcquireSRWLockShared | Tenta adquirir um bloqueio de leitor/gravador fino (SRW) no modo compartilhado. Se a chamada for bem-sucedida, o thread de chamada assumirá a propriedade do bloqueio. |
| WakeAllConditionVariable | Ative todos os threads aguardando a variável de condição especificada. |
| WakeConditionVariable | Ative um único thread aguardando a variável de condição especificada. |
Funções de seção críticas
| Função de seção crítica | Descrição |
|---|---|
| Deletecriticalsection | Libera todos os recursos usados por um objeto de seção crítica sem proprietário. |
| Entercriticalsection | Aguarda a propriedade do objeto de seção crítica especificado. |
| Initializecriticalsection | Inicializa um objeto de seção crítico. |
| InitializeCriticalSectionAndSpinCount | Inicializa um objeto de seção crítico e define a contagem de rotação para a seção crítica. |
| InitializeCriticalSectionEx | Inicializa um objeto de seção crítico com uma contagem de rotação e sinalizadores opcionais. |
| Leavecriticalsection | Libera a propriedade do objeto de seção crítico especificado. |
| SetCriticalSectionSpinCount | Define a contagem de rotação para a seção crítica especificada. |
| TryEnterCriticalSection | Tenta inserir 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 sem nome. |
| CreateEventEx | Cria ou abre um objeto de evento nomeado ou sem nome 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 o redefine para o estado não atribuído depois de liberar o número apropriado de threads de espera. |
| Resetevent | Define o objeto de evento especificado como o estado não atribuído. |
| SetEvent | Define o objeto de evento especificado como 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 intertravada | Descrição |
|---|---|
| InterlockedAdd | Executa uma operação de adição atômica nos valores LONG especificados. |
| InterlockedAddAcquire | Executa uma operação de adição atômica nos valores LONG especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedAddRelease | Executa uma operação de adição atômica nos valores LONG especificados. A operação é executada com semântica de ordenação de memória de versão. |
| InterlockedAddNoFence | Executa uma operação de adição atômica nos valores LONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedAdd64 | Executa uma operação de adição atômica nos valores LONGLONG especificados. |
| InterlockedAddAcquire64 | Executa uma operação de adição atômica nos valores LONGLONG especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedAddRelease64 | Executa uma operação de adição atômica nos valores LONGLONG especificados. A operação é executada com semântica de ordenação de memória de versão. |
| InterlockedAddNoFence64 | Executa uma operação de adição atômica nos valores LONGLONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedAnd | Executa uma operação AND atômica nos valores LONG especificados. |
| InterlockedAndAcquire | Executa uma operação AND atômica nos valores LONG especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedAndRelease | Executa uma operação AND atômica nos valores LONG especificados. A operação é executada com semântica de ordenação de memória de versão. |
| InterlockedAndNoFence | Executa uma operação AND atômica nos valores LONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedAnd8 | Executa uma operação AND atômica nos valores char especificados. |
| InterlockedAnd8Acquire | Executa uma operação AND atômica nos valores char especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedAnd8Release | Executa uma operação AND atômica nos valores char especificados. A operação é executada com semântica de ordenação de memória de versão. |
| InterlockedAnd8NoFence | Executa uma operação AND atômica nos valores char especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedAnd16 | Executa uma operação AND atômica nos valores SHORT especificados. |
| InterlockedAnd16Acquire | Executa uma operação AND atômica nos valores SHORT especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedAnd16Release | Executa uma operação AND atômica nos valores SHORT especificados. A operação é executada com semântica de ordenação de memória de versão. |
| InterlockedAnd16NoFence | Executa uma operação AND atômica nos valores SHORT especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedAnd64 | Executa uma operação AND atômica nos valores LONGLONG especificados. |
| InterlockedAnd64Acquire | Executa uma operação AND atômica nos valores LONGLONG especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedAnd64Release | Executa uma operação AND atômica nos valores LONGLONG especificados. A operação é executada com semântica de ordenação de memória de versão. |
| InterlockedAnd64NoFence | Executa uma operação AND atômica nos valores LONGLONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedBitTestAndComplement | Testa o bit especificado do valor LONG especificado e o complementa. |
| InterlockedBitTestAndComplement64 | Testa o bit especificado do valor LONG64 especificado e o complementa. A operação é atômica |
| InterlockedBitTestAndResetAcquire | Testa o bit especificado do valor LONG especificado e o define como 0. A operação é atômica e é executada com semântica de ordenação de memória adquirida |
| InterlockedBitTestAndResetRelease | Testa o bit especificado do valor LONG especificado e o define como 0. A operação é atômica e é executada usando semântica de liberação de memória |
| InterlockedBitTestAndSetAcquire | Testa o bit especificado do valor LONG especificado e o define como 1. A operação é atômica e é executada com semântica de ordenação de memória adquirida |
| InterlockedBitTestAndSetRelease | Testa o bit especificado do valor LONG especificado e o define como 1. A operação é atômica e é executada com semântica de ordenação de memória de liberação |
| InterlockedBitTestAndReset | Testa o bit especificado do valor LONG especificado e o define como 0. |
| InterlockedBitTestAndReset64 | Testa o bit especificado do valor LONG64 especificado e o define como 0. |
| InterlockedBitTestAndSet | Testa o bit especificado do valor LONG especificado e o define como 1. |
| InterlockedBitTestAndSet64 | Testa o bit especificado do valor LONG64 especificado e o define como 1. |
| InterlockedCompare64Exchange128 | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara os valores e as trocas de 64 bits especificados com o valor de 128 bits especificado com base no resultado da comparação. |
| InterlockedCompare64ExchangeAcquire128 | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara os valores e as trocas de 64 bits especificados 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 aquisição. |
| InterlockedCompare64ExchangeRelease128 | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara os valores e as trocas de 64 bits especificados 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 atômica de comparação e troca nos valores especificados. A função compara dois valores de 32 bits especificados e troca com outro valor de 32 bits com base no resultado da comparação. |
| InterlockedCompareExchangeAcquire | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 32 bits especificados e troca com outro valor de 32 bits com base no resultado da comparação. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedCompareExchangeRelease | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 32 bits especificados e troca com outro valor de 32 bits com base no resultado da comparação. A troca é executada com semântica de ordenação de memória de liberação. |
| InterlockedCompareExchangeNoFence | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 32 bits especificados e troca com outro valor de 32 bits com base no resultado da comparação. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedCompareExchange64 | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 64 bits especificados e troca com outro valor de 64 bits com base no resultado da comparação. |
| InterlockedCompareExchangeAcquire64 | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 64 bits especificados e troca com outro valor de 64 bits com base no resultado da comparação. A troca é executada com semântica de ordenação de memória de aquisição. |
| InterlockedCompareExchangeRelease64 | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 64 bits especificados e troca com outro valor de 64 bits com base no resultado da comparação. A troca é executada com semântica de ordenação de memória de liberação. |
| InterlockedCompareExchangeNoFence64 | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 64 bits especificados e troca com outro valor de 64 bits com base no resultado da comparação. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedCompareExchange16 | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 16 bits especificados e troca com outro valor de 16 bits com base no resultado da comparação |
| InterlockedCompareExchange16Acquire | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 16 bits especificados e troca com outro valor de 16 bits com base no resultado da comparação. A operação é executada com semântica de ordenação de memória de aquisição |
| InterlockedCompareExchange16Release | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 16 bits especificados e troca com outro valor de 16 bits com base no resultado da comparação. A troca é executada com semântica de ordenação de memória de liberação |
| InterlockedCompareExchange16NoFence | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 16 bits especificados e troca com outro valor de 16 bits com base no resultado da comparação. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedCompareExchange128 | Executa uma operação atômica de comparação e troca nos valores especificados. A função compara dois valores de 128 bits especificados e troca com outro valor de 128 bits com base no resultado da comparação |
| InterlockedCompareExchangePointer | Executa uma operação atômica de comparação e troca nos valores de ponteiro especificados. A função compara dois valores de ponteiro especificados e troca com outro valor de ponteiro com base no resultado da comparação. |
| InterlockedCompareExchangePointerAcquire | Executa uma operação atômica de comparação e troca nos valores de ponteiro especificados. A função compara dois valores de ponteiro especificados e troca 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 aquisição. |
| InterlockedCompareExchangePointerRelease | Executa uma operação atômica de comparação e troca nos valores de ponteiro especificados. A função compara dois valores de ponteiro especificados e troca 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 atômica de comparação e troca nos valores especificados. A função compara dois valores de ponteiro especificados e troca com outro valor de ponteiro com base no resultado da comparação. A operação é executada atomicamente, mas sem usar barreiras de memória |
| Interlockeddecrement | Diminui (diminui em um) o valor da variável de 32 bits especificada como uma operação atômica. |
| InterlockedDecrementAcquire | Diminui (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 aquisição. |
| InterlockedDecrementRelease | Diminui (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 | Diminui (diminui em um) o valor da variável de 32 bits especificada como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedDecrement16 | Diminui (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica |
| InterlockedDecrement16Acquire | Diminui (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 aquisição |
| InterlockedDecrement16Release | Diminui (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 | Diminui (diminui em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedDecrement64 | Diminui (diminui em um) o valor da variável de 64 bits especificada como uma operação atômica. |
| InterlockedDecrementAcquire64 | Diminui (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 aquisição. |
| InterlockedDecrementRelease64 | Diminui (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 | Diminui (diminui em um) o valor da variável de 64 bits especificada como uma operação atômica. A operação é executada 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. |
| InterlockedExchangeAcquire | Define uma variável de 32 bits para o valor especificado como uma operação atômica. A operação é executada com 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 é executada 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. |
| InterlockedExchange16Acquire | Define uma variável de 16 bits para o valor especificado como uma operação atômica. A operação é executada usando 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 é executada 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 é executada com 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 é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedExchangePointer | Troca atomicamente um par de valores de ponteiro. |
| InterlockedExchangePointerAcquire | Troca atomicamente um par de valores de ponteiro. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedExchangePointerNoFence | Troca atomicamente um par de endereços. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedExchangeSubtract | Executa uma subtração atômica de dois valores. |
| Interlockedexchangeadd | 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 é executada com 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 é executada 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 é executada com 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 é executada 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 é executada usando 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 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 é executada 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 |
| InterlockedIncrement16Acquire | Incrementa (aumenta em um) o valor da variável de 16 bits especificada como uma operação atômica. A operação é executada usando 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 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 é executada 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 é executada usando 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 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 é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedOr | Executa uma operação OR atômica nos valores LONG especificados. |
| InterlockedOrAcquire | Executa uma operação OR atômica nos valores LONG especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedOrRelease | Executa uma operação OR atômica nos valores LONG especificados. A operação é executada com semântica de ordenação de memória de liberação. |
| InterlockedOrNoFence | Executa uma operação OR atômica nos valores LONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedOr8 | Executa uma operação OR atômica nos valores char especificados. |
| InterlockedOr8Acquire | Executa uma operação OR atômica nos valores char especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedOr8Release | Executa uma operação OR atômica nos valores char 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 char especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedOr16 | Executa uma operação OR atômica nos valores SHORT especificados. |
| InterlockedOr16Acquire | Executa uma operação OR atômica nos valores SHORT especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedOr16Release | Executa uma operação OR atômica nos valores SHORT especificados. A operação é executada com semântica de ordenação de memória de liberação. |
| InterlockedOr16NoFence | Executa uma operação OR atômica nos valores SHORT especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedOr64 | Executa uma operação OR atômica nos valores LONGLONG especificados. |
| InterlockedOr64Acquire | Executa uma operação OR atômica nos valores LONGLONG especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedOr64Release | Executa uma operação OR atômica nos valores LONGLONG especificados. A operação é executada com semântica de ordenação de memória de liberação. |
| InterlockedOr64NoFence | Executa uma operação OR atômica nos valores LONGLONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedXor | Executa uma operação XOR atômica nos valores LONG especificados. |
| InterlockedXorAcquire | Executa uma operação XOR atômica nos valores LONG especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedXorRelease | Executa uma operação XOR atômica nos valores LONG especificados. 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 LONG especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedXor8 | Executa uma operação XOR atômica nos valores char especificados. |
| InterlockedXor8Acquire | Executa uma operação XOR atômica nos valores char especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedXor8Release | Executa uma operação XOR atômica nos valores char 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 char especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedXor16 | Executa uma operação XOR atômica nos valores SHORT especificados. |
| InterlockedXor16Acquire | Executa uma operação XOR atômica nos valores SHORT especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedXor16Release | Executa uma operação XOR atômica nos valores SHORT especificados. 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 SHORT especificados. A operação é executada atomicamente, mas sem usar barreiras de memória |
| InterlockedXor64 | Executa uma operação XOR atômica nos valores LONGLONG especificados. |
| InterlockedXor64Acquire | Executa uma operação XOR atômica nos valores LONGLONG especificados. A operação é executada com semântica de ordenação de memória de aquisição. |
| InterlockedXor64Release | Executa uma operação XOR atômica nos valores LONGLONG especificados. 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 LONGLONG especificados. A operação é executada 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 sem nome 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 privadas
| Função de namespace privado | Descrição |
|---|---|
| AddSIDToBoundaryDescriptor | Adiciona um novo SID (identificador de segurança) ao descritor de limite especificado. |
| AddIntegrityLabelToBoundaryDescriptor | Adiciona um novo SID (identificador de segurança) necessário 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 de semáforo
| Função semaphore | Descrição |
|---|---|
| Createsemaphore | Cria ou abre um objeto de semáforo nomeado ou sem nome. |
| CreateSemaphoreEx | Cria ou abre um objeto de semáforo nomeado ou sem nome e retorna um identificador para o objeto . |
| OpenSemaphore | Abre um objeto de semáforo nomeado existente. |
| Releasesemaphore | Aumenta a contagem do objeto de semáforo especificado em um valor especificado. |
Funções de lista vinculadas ao Singly
| Função de lista vinculada ao Singly | Descrição |
|---|---|
| InitializeSListHead | Inicializa o cabeçalho de uma lista vinculada. |
| InterlockedFlushSList | Libera toda a lista de itens em uma lista vinculada. |
| InterlockedPopEntrySList | Remove um item da frente de uma lista vinculada. |
| InterlockedPushEntrySList | Insere um item na frente de uma lista vinculada. |
| InterlockedPushListSList | Insere uma lista vinculada na frente de outra lista vinculada. |
| InterlockedPushListSListEx | Insere uma lista vinculada na frente de outra lista vinculada. 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 vinculada de forma singly especificada. |
| RtlFirstEntrySList | Recupera a primeira entrada em uma lista vinculada. |
| RtlInitializeSListHead | Inicializa o cabeçalho de uma lista vinculada. Em vez disso, os aplicativos devem chamar InitializeSListHead . |
| RtlInterlockedFlushSList | Libera toda a lista de itens em uma lista vinculada. Em vez disso, os aplicativos devem chamar InterlockedFlushSList . |
| RtlInterlockedPopEntrySList | Remove um item da frente de uma lista vinculada. Em vez disso, os aplicativos devem chamar InterlockedPopEntrySList . |
| RtlInterlockedPushEntrySList | Insere um item na frente de uma lista vinculada. Em vez disso, os aplicativos devem chamar InterlockedPushEntrySList . |
| RtlQueryDepthSList | Recupera o número de entradas na lista vinculada de forma singly especificada. Em vez disso, os aplicativos devem chamar QueryDepthSList . |
Funções de barreira de sincronização
| Função de barreira de sincronização | Descrição |
|---|---|
| DeleteSynchronizationBarrier | Exclui uma barreira de sincronização. |
| EnterSynchronizationBarrier | Entra em uma barreira de sincronização e aguarda o número apropriado de threads se encontrarem na barreira. |
| InitializeSynchronizationBarrier | Inicializa uma nova barreira de sincronização. |
Funções de temporizador de fila de temporizador
| Função timer-queue timer | Descrição |
|---|---|
| ChangeTimerQueueTimer | Atualizações um temporizador de fila de temporizador. |
| 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 de temporizador. |
Funções de espera
| Função Wait | Descrição |
|---|---|
| Msgwaitformultipleobjects | Aguarda até que um ou todos os objetos especificados estejam no estado sinalizado ou o intervalo de tempo limite se especifique. 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 APC (chamada de procedimento assíncrono) seja enfileirada para o thread ou o intervalo de tempo limite decorrido. A matriz de objetos pode incluir objetos de evento de entrada. |
| Registerwaitforsingleobject | Direciona um thread de espera no pool de threads para aguardar o objeto . |
| SignalObjectAndWait | Sinaliza um objeto e aguarda 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 se especifique. |
| WaitForMultipleObjectsEx | Aguarda até que um ou todos os objetos especificados estejam no estado sinalizado, uma rotina de conclusão de E/S ou APC (chamada de procedimento assíncrono) seja enfileirada para o thread ou o intervalo de tempo limite decorrido. |
| WaitForSingleObject | Aguarda até que o objeto especificado esteja no estado sinalizado ou o intervalo de tempo limite se especifique. |
| WaitForSingleObjectEx | Aguarda até que o objeto especificado esteja no estado sinalizado, uma rotina de conclusão de E/S ou APC (chamada de procedimento assíncrono) seja enfileirada para o thread ou o intervalo de tempo limite decorre. |
| WaitOnAddress | Aguarda o valor no endereço especificado ser 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. |
| WakeByAddressAll | 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 waitable-timer
| Função waitable-timer | Descrição |
|---|---|
| CancelWaitableTimer | Define o temporizador de espera especificado como o estado inativo. |
| CreateWaitableTimer | Cria ou abre um objeto de temporizador de espera. |
| CreateWaitableTimerEx | Cria ou abre um objeto de temporizador que pode ser esperado e retorna um identificador para o objeto . |
| OpenWaitableTimer | Abre um objeto de temporizador chamado 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ção SetWaitableTimer . |