Share via


CreateDispatcherQueueController 함수(dispatcherqueue.h)

DispatcherQueueController를 만듭니다. 생성된 DispatcherQueueController 를 사용하여 DispatcherQueue 의 수명을 만들고 관리하여 디스패처 큐의 스레드에서 대기 중인 작업을 우선 순위순으로 실행합니다.

구문

HRESULT CreateDispatcherQueueController(
  [in]  DispatcherQueueOptions     options,
  [out] PDISPATCHERQUEUECONTROLLER *dispatcherQueueController
);

매개 변수

[in] options

생성된 DispatcherQueueController에 대한 COM 아파트의 스레딩 선호도 및 유형입니다. 자세한 내용은 설명을 참조하세요.

[out] dispatcherQueueController

생성된 디스패처 큐 컨트롤러입니다.

중요DispatcherQueueController 는 WinRT 개체입니다.
 

반환 값

성공을 위한 S_OK. 그렇지 않으면 오류 코드입니다.

설명

Windows 10 버전 1709에 도입되었습니다.

options.threadTypeDQTYPE_THREAD_DEDICATED 경우 이 함수는 스레드를 만들고, 지정된 COM 아파트로 초기화하고, DispatcherQueue를 해당 스레드와 연결합니다. 디스패처 큐 이벤트 루프는 디스패처 큐가 명시적으로 종료될 때까지 새 전용 스레드에서 실행됩니다. 스레드 및 메모리 누수 방지를 위해 디스패처 큐가 완료되면 DispatcherQueueController.ShutdownQueueAsync 를 호출합니다.

options.threadTypeDQTYPE_THREAD_CURRENT 경우 DispatcherQueue가 만들어지고 현재 스레드와 연결됩니다. 현재 스레드와 연결된 DispatcherQueue 가 이미 있는 경우 오류가 발생합니다. 현재 스레드는 디스패처 큐가 작업을 디스패치할 수 있도록 메시지를 펌핑해야 합니다. 현재 스레드가 종료되기 전에 DispatcherQueueController.ShutdownQueueAsync를 호출하고 IAsyncAction 이 완료될 때까지 메시지를 계속 펌핑해야 합니다.

이 호출은 DispatcherQueueController 및 새 스레드(있는 경우)가 만들어질 때까지 반환되지 않습니다.

중요DispatcherQueueController 및 연결된 DispatcherQueue는 WinRT 개체입니다. 사용량에 대한 자세한 내용은 설명서를 참조하세요.
 

요구 사항

   
대상 플랫폼 Windows
헤더 dispatcherqueue.h
라이브러리 CoreMessaging.lib
DLL CoreMessaging.dll

추가 정보

DispatcherQueue

DispatcherQueueController