CoreDispatcher 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Windows 런타임 핵심 이벤트 메시지 디스패처를 제공합니다. 이 유형의 인스턴스는 창 메시지를 처리하고 클라이언트에 이벤트를 디스패치합니다.
public ref class CoreDispatcher sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class CoreDispatcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class CoreDispatcher
Public NotInheritable Class CoreDispatcher
- 상속
- 특성
- 구현
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10240.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
|
설명
이 형식의 인스턴스는 CoreWindow.Dispatcher 속성에서 가져올 수 있습니다. 현재 CoreWindow instance CoreWindow.GetForCurrentThread를 호출하여 가져올 수 있습니다.
// App.cpp
...
// An implementation of IFrameworkView::Run.
void Run()
{
CoreWindow window{ CoreWindow::GetForCurrentThread() };
window.Activate();
CoreDispatcher dispatcher{ window.Dispatcher() };
dispatcher.ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit);
}
// The CoreApplication::Run call indirectly calls the App::Run function above.
int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int)
{
CoreApplication::Run(App());
}
void MyCoreWindowEvents::Run() // this is an implementation of IFrameworkView::Run() used to show context. It is called by CoreApplication::Run().
{
CoreWindow::GetForCurrentThread()->Activate();
//...
CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit);
}
속성
CurrentPriority |
현재 작업의 우선 순위를 가져오고 설정합니다. |
HasThreadAccess |
이 CoreWindow instance 제공된 이벤트 디스패처가 현재 스레드에 액세스할 수 있는지 여부를 지정하는 값을 가져옵니다. |
메서드
ProcessEvents(CoreProcessEventsOption) |
이 CoreWindow instance 대한 입력 이벤트 큐를 처리하는 디스패처를 시작합니다. |
RunAsync(CoreDispatcherPriority, DispatchedHandler) |
작업자 스레드에서 UI 스레드에서 제공된 콜백을 예약하고 결과를 비동기적으로 반환합니다. |
RunIdleAsync(IdleDispatchedHandler) |
유휴 우선 순위의 작업자 스레드에서 UI 스레드에 대한 콜백을 예약하고 결과를 비동기적으로 반환합니다. |
ShouldYield() |
현재 작업보다 우선 순위가 높은 작업 큐에 항목이 있는 경우 호출자가 생성해야 하는지 여부를 쿼리합니다. |
ShouldYield(CoreDispatcherPriority) |
지정된 우선 순위 이상의 작업 큐에 항목이 있는 경우 호출자가 생성해야 하는지 여부를 쿼리합니다. |
StopProcessEvents() |
디스패처가 큐에 대기 중인 이벤트를 처리하지 못하도록 합니다. |
TryRunAsync(CoreDispatcherPriority, DispatchedHandler) |
작업자 스레드에서 UI 스레드에서 지정된 콜백을 예약하고 결과를 비동기적으로 반환합니다. |
TryRunIdleAsync(IdleDispatchedHandler) |
유휴 우선 순위의 작업자 스레드에서 UI 스레드에 대한 콜백을 예약하고 결과를 비동기적으로 반환합니다. |
이벤트
AcceleratorKeyActivated |
가속기 키가 활성화될 때 발생합니다(누르거나 누름). |