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 |
헤더 | shlwapi.h |
라이브러리 | Shlwapi.lib |
DLL | Shlwapi.dll(버전 5.0 이상) |