What is the property CoreDispatcher.HasThreadAccess used for?

windows-8, windows-runtime, windows-store-apps

Solution

It tells you whether the thread that your code is running on can safely update the UI. Compare it to Control.InvokeRequired in Winforms and Dispatcher.CheckAccess in WPF.

When it returns false, you must use Dispatcher.RunAsync() to make sure your code runs on the right thread.

Problem

I am new to working with Windows and I am trying to understand the APIs. Windows Runtime API provides the property CoreDispatcher.HasThreadAccess, but the description in the docs of what it is is very vague: "Gets a value that specifies whether the event dispatcher provided by this instance of CoreWindow has access to the current thread or not." What does it mean when it returns false? When and why would a user-engineer use this method?

Original source