CreateDispatcherQueueController 함수(dispatcherqueue.h)
DispatcherQueueController를 만듭니다. 생성된 DispatcherQueueController 를 사용하여 DispatcherQueue 의 수명을 만들고 관리하여 디스패처 큐의 스레드에서 대기 중인 작업을 우선 순위순으로 실행합니다.
구문
HRESULT CreateDispatcherQueueController(
[in] DispatcherQueueOptions options,
[out] PDISPATCHERQUEUECONTROLLER *dispatcherQueueController
);
매개 변수
[in] options
생성된 DispatcherQueueController에 대한 COM 아파트의 스레딩 선호도 및 유형입니다. 자세한 내용은 설명을 참조하세요.
[out] dispatcherQueueController
생성된 디스패처 큐 컨트롤러입니다.
반환 값
성공을 위한 S_OK. 그렇지 않으면 오류 코드입니다.
설명
Windows 10 버전 1709에 도입되었습니다.
options.threadType이 DQTYPE_THREAD_DEDICATED 경우 이 함수는 스레드를 만들고, 지정된 COM 아파트로 초기화하고, DispatcherQueue를 해당 스레드와 연결합니다. 디스패처 큐 이벤트 루프는 디스패처 큐가 명시적으로 종료될 때까지 새 전용 스레드에서 실행됩니다. 스레드 및 메모리 누수 방지를 위해 디스패처 큐가 완료되면 DispatcherQueueController.ShutdownQueueAsync 를 호출합니다.
options.threadType이 DQTYPE_THREAD_CURRENT 경우 DispatcherQueue가 만들어지고 현재 스레드와 연결됩니다. 현재 스레드와 연결된 DispatcherQueue 가 이미 있는 경우 오류가 발생합니다. 현재 스레드는 디스패처 큐가 작업을 디스패치할 수 있도록 메시지를 펌핑해야 합니다. 현재 스레드가 종료되기 전에 DispatcherQueueController.ShutdownQueueAsync를 호출하고 IAsyncAction 이 완료될 때까지 메시지를 계속 펌핑해야 합니다.
이 호출은 DispatcherQueueController 및 새 스레드(있는 경우)가 만들어질 때까지 반환되지 않습니다.
요구 사항
대상 플랫폼 | Windows |
헤더 | dispatcherqueue.h |
라이브러리 | CoreMessaging.lib |
DLL | CoreMessaging.dll |