Функция SHCreateThread (shlwapi.h)
Создает поток.
Синтаксис
BOOL SHCreateThread(
[in] LPTHREAD_START_ROUTINE pfnThreadProc,
[in, optional] void *pData,
[in] SHCT_FLAGS flags,
[in, optional] LPTHREAD_START_ROUTINE pfnCallback
);
Параметры
[in] pfnThreadProc
Тип: LPTHREAD_START_ROUTINE
Указатель на определяемую приложением функцию типа LPTHREAD_START_ROUTINE . Если новый поток был успешно создан, эта определяемая приложением функция вызывается в контексте этого потока. SHCreateThread не дожидается завершения функции, на которую указывает этот параметр, прежде чем вернуться к вызывающей функции. Возвращаемое значение определяемой приложением функции представляет собой код выхода потока.
[in, optional] pData
Тип: void*
Указатель на дополнительную структуру данных, определяемую приложением, которая содержит данные инициализации. Он передается в функцию, на которую указывает pfnThreadProc и, при необходимости, pfnCallback. Это значение может иметь значение NULL.
[in] flags
Тип: SHCT_FLAGS
Флаги, управляющие поведением функции. Одна или несколько констант CTF .
[in, optional] pfnCallback
Тип: LPTHREAD_START_ROUTINE
Указатель на необязательную определяемую приложением функцию типа LPTHREAD_START_ROUTINE . Эта функция вызывается в контексте созданного потока перед вызовом функции, на которую указывает pfnThreadProc . Он также получит pData в качестве аргумента. SHCreateThread будет ожидать возврата функции, на которую указывает pfnCallback , прежде чем вернуться к вызывающей. Возвращаемое значение функции, на которую указывает pfnCallback , игнорируется.
Возвращаемое значение
Тип: BOOL
Возвращает значение TRUE , если поток успешно создан, или false в противном случае. При сбое используйте GetLastError , чтобы получить определенное значение ошибки, как показано ниже.
if (!SHCreateThread(...))
{
hr = HRESULT_FROM_WIN32( GetLastError() );
}
else
{
....
}
Комментарии
Функция, на которую указывают pfnThreadProc и pfnCallback , должна иметь следующую форму.
DWORD WINAPI ThreadProc(LPVOID pData)
{
...
}
Имя функции является произвольным. Параметр pData указывает на определяемую приложением структуру данных со сведениями об инициализации.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional, Windows XP [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |
Библиотека | Shlwapi.lib |
DLL | Shlwapi.dll (версия 5.0 или более поздняя) |