Função DisassociateCurrentThreadFromCallback (threadpoolapiset.h)
Remove a associação entre a função de retorno de chamada em execução no momento e o objeto que iniciou o retorno de chamada. O thread atual não contará mais como executando um retorno de chamada em nome do objeto .
Sintaxe
void DisassociateCurrentThreadFromCallback(
[in, out] PTP_CALLBACK_INSTANCE pci
);
Parâmetros
[in, out] pci
Um ponteiro para uma estrutura TP_CALLBACK_INSTANCE que define a instância de retorno de chamada. O ponteiro é passado para a função de retorno de chamada.
Valor retornado
Nenhum
Comentários
Se esse for o último thread executando um retorno de chamada em nome do objeto, todos os threads que aguardam a conclusão dos retornos de chamada do objeto serão liberados.
O thread permanece associado ao grupo de limpeza do objeto até que o thread retorne ao pool de threads. Isso permite que as rotinas de desligamento de DLL sejam sincronizadas com segurança com retornos de chamada pendentes e prossiga com o descarregamento do código da DLL quando todos os retornos de chamada forem concluídos.
O objeto de geração de retorno de chamada permanece válido durante o retorno de chamada. O objeto de retorno de chamada pode ser reutilizado ou liberado (embora a sincronização com a versão do grupo de limpeza ainda seja necessária).
Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0600 ou superior.
Requisitos
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | threadpoolapiset.h (inclua Windows.h no Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |
Confira também
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns