Função SHCreateThread (shlwapi.h)
Cria um thread.
Sintaxe
BOOL SHCreateThread(
[in] LPTHREAD_START_ROUTINE pfnThreadProc,
[in, optional] void *pData,
[in] SHCT_FLAGS flags,
[in, optional] LPTHREAD_START_ROUTINE pfnCallback
);
Parâmetros
[in] pfnThreadProc
Tipo: LPTHREAD_START_ROUTINE
Um ponteiro para uma função definida pelo aplicativo do tipo LPTHREAD_START_ROUTINE . Se um novo thread tiver sido criado com êxito, essa função definida pelo aplicativo será chamada no contexto desse thread. SHCreateThread não aguarda que a função apontada por esse parâmetro seja concluída antes de retornar ao chamador. O valor retornado da função definida pelo aplicativo é o código de saída do thread.
[in, optional] pData
Tipo: void*
Um ponteiro para uma estrutura de dados opcional definida pelo aplicativo que contém dados de inicialização. Ele é passado para a função apontada por pfnThreadProc e, opcionalmente, pfnCallback. Esse valor pode ser NULL.
[in] flags
Tipo: SHCT_FLAGS
Os sinalizadores que controlam o comportamento da função. Uma ou mais das constantes CTF .
[in, optional] pfnCallback
Tipo: LPTHREAD_START_ROUTINE
Um ponteiro para uma função opcional definida pelo aplicativo do tipo LPTHREAD_START_ROUTINE . Essa função é chamada no contexto do thread criado antes que a função apontada por pfnThreadProc seja chamada. Ele também receberá pData como seu argumento. SHCreateThread aguardará a função apontada por pfnCallback retornar antes de retornar ao chamador. O valor retornado da função apontada por pfnCallback é ignorado.
Retornar valor
Tipo: BOOL
Retornará TRUE se o thread for criado com êxito ou FALSE caso contrário. Em caso de falha, use GetLastError para recuperar o valor de erro específico, conforme mostrado aqui.
if (!SHCreateThread(...))
{
hr = HRESULT_FROM_WIN32( GetLastError() );
}
else
{
....
}
Comentários
A função apontada por pfnThreadProc e pfnCallback deve seguir o formulário a seguir.
DWORD WINAPI ThreadProc(LPVOID pData)
{
...
}
O nome da função é arbitrário. O parâmetro pData aponta para uma estrutura de dados definida pelo aplicativo com informações de inicialização.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shlwapi.h |
Biblioteca | Shlwapi.lib |
DLL | Shlwapi.dll (versão 5.0 ou posterior) |