DisassociateCurrentThreadFromCallback 함수(threadpoolapiset.h)

현재 실행 중인 콜백 함수와 콜백을 시작한 개체 간의 연결을 제거합니다. 현재 스레드는 더 이상 개체를 대신하여 콜백을 실행하는 것으로 간주되지 않습니다.

구문

void DisassociateCurrentThreadFromCallback(
  [in, out] PTP_CALLBACK_INSTANCE pci
);

매개 변수

[in, out] pci

콜백 instance 정의하는 TP_CALLBACK_INSTANCE 구조체에 대한 포인터입니다. 포인터가 콜백 함수에 전달됩니다.

반환 값

없음

설명

개체를 대신하여 콜백을 실행하는 마지막 스레드인 경우 개체의 콜백이 완료되기를 기다리는 모든 스레드가 해제됩니다.

스레드가 스레드 풀로 돌아올 때까지 스레드는 개체의 정리 그룹과 연결된 상태로 유지됩니다. 이렇게 하면 DLL 종료 루틴이 미해결 콜백과 안전하게 동기화되고 모든 콜백이 완료되면 DLL의 코드 언로드를 진행할 수 있습니다.

콜백 생성 개체는 콜백 기간 동안 유효한 상태로 유지됩니다. 콜백 개체를 다시 사용하거나 해제할 수 있습니다(정리 그룹 릴리스와의 동기화는 여전히 필요함).

이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 0x0600 이상으로 정의합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 threadpoolapiset.h(Windows 7, Windows Server 2008 Windows Server 2008 R2의 Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

CallbackMayRunLong

FreeLibraryWhenCallbackReturns

LeaveCriticalSectionWhenCallbackReturns

ReleaseMutexWhenCallbackReturns

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns

스레드 풀

TrySubmitThreadpoolCallback