SwapChainPanel.CreateCoreIndependentInputSource Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
CreateCoreIndependentInputSource(InputPointerSourceDeviceKinds) |
Erstellt ein Kerneingabeobjekt, das die Eingabetypen behandelt, wie durch den deviceKinds-Parameter angegeben. Dieses Kerneingabeobjekt kann Eingabeereignisse in einem Hintergrundthread verarbeiten. |
CreateCoreIndependentInputSource(CoreInputDeviceTypes) |
Erstellt ein Kerneingabeobjekt, das die Eingabetypen behandelt, wie durch den deviceTypes-Parameter angegeben. Dieses Kerneingabeobjekt kann Eingabeereignisse in einem Hintergrundthread verarbeiten. |
CreateCoreIndependentInputSource(InputPointerSourceDeviceKinds)
Erstellt ein Kerneingabeobjekt, das die Eingabetypen behandelt, wie durch den deviceKinds-Parameter angegeben. Dieses Kerneingabeobjekt kann Eingabeereignisse in einem Hintergrundthread verarbeiten.
public:
virtual InputPointerSource ^ CreateCoreIndependentInputSource(InputPointerSourceDeviceKinds deviceKinds) = CreateCoreIndependentInputSource;
InputPointerSource CreateCoreIndependentInputSource(InputPointerSourceDeviceKinds const& deviceKinds);
public InputPointerSource CreateCoreIndependentInputSource(InputPointerSourceDeviceKinds deviceKinds);
function createCoreIndependentInputSource(deviceKinds)
Public Function CreateCoreIndependentInputSource (deviceKinds As InputPointerSourceDeviceKinds) As InputPointerSource
Parameter
- deviceKinds
- InputPointerSourceDeviceKinds
Ein kombinierter Wert der -Enumeration.
Gibt zurück
Ein Objekt, das das Eingabesubsystem für Interopzwecke darstellt und für Eingabeereignisverbindungspunkte verwendet werden kann.
Hinweise
Diese Methode ermöglicht es einer App, die ein SwapChainPanel enthält, Eingaben und Rendering unabhängig vom XAML-UI-Thread zu verarbeiten, da Sie die Eingabeverarbeitungslogik absichtlich in einem Hintergrundthread bereitstellen. Sie müssen CreateCoreIndependentInputSource aus einem Nicht-UI-Thread aufrufen. Andernfalls schlägt diese Methode fehl.
Verwenden Sie diese Methode, um ein Kerneingabeobjekt zu erstellen und es Ihrem SwapChainPanel zuzuordnen. Nach erfolgreicher Erstellung werden die Benutzereingaben der angegebenen Gerätetypen, die auf SwapChainPanel-Inhalte zugreifen, an den Thread umgeleitet, von dem CreateCoreIndependentInputSource aufgerufen wurde. Ihre App kann diese Eingabe verarbeiten, indem sie sich für Eingabeereignisse registriert und diese Ereignisse in einem Hintergrundthread verarbeitet. Um Eingabenachrichten über das CoreIndependentInputSource-Objekt zu empfangen, muss der App-Code eine SwapchainPanel festlegen und (auf Microsoft DirectX-Ebene) mindestens einmal aus dieser Swapchain rendern. Dadurch wird das Rendering bereitgestellt, das Treffertests ermöglicht.
In der Regel verwenden Sie CoreDispatcher.ProcessEvents als Teil der Ereignisbehandlung. Rufen Sie einen CoreDispatcher-Verweis von CoreIndependentInputSource.Dispatcher ab. Weitere Informationen zur Verwendung von Hintergrundthreads finden Sie unter ThreadPool oder Threading und asynchrone Programmierung.
Sie können diese Methode mehrmals aufrufen. Jedes Mal, wenn CreateCoreIndependentInputSource aufgerufen wird, wird das vorherige CoreIndependentInputSource-Objekt dem SwapChainPanel nicht zugeordnet. Anders ausgedrückt: Nur ein CoreIndependentInputSource-Objekt kann Ereignisse gleichzeitig abrufen.
Beispielcode zur Verwendung von CreateCoreIndependentInputSource finden Sie in der DrawingPanel
Klassendefinition, die Teil des XAML SwapChainPanel DirectX-Interopbeispiels ist.
CreateCoreIndependentInputSource kann NULL zurückgeben, wenn deviceKinds als InputPointerSourceDeviceKinds.None übergeben wurde (dies ist jedoch keine typische Methode zum Aufrufen von CreateCoreIndependentInputSource).
Weitere Informationen
- ThreadPool
- Threading und asynchrone Programmierung
- Interoperabilität von DirectX und XAML
- XAML SwapChainPanel DirectX-Interoperabilitätsbeispiel
- Eingabebeispiel mit geringer Latenz
Gilt für:
CreateCoreIndependentInputSource(CoreInputDeviceTypes)
Erstellt ein Kerneingabeobjekt, das die Eingabetypen behandelt, wie durch den deviceTypes-Parameter angegeben. Dieses Kerneingabeobjekt kann Eingabeereignisse in einem Hintergrundthread verarbeiten.
public:
virtual ExpIndependentPointerInputObserver ^ CreateCoreIndependentInputSource(CoreInputDeviceTypes deviceTypes) = CreateCoreIndependentInputSource;
ExpIndependentPointerInputObserver CreateCoreIndependentInputSource(CoreInputDeviceTypes const& deviceTypes);
public ExpIndependentPointerInputObserver CreateCoreIndependentInputSource(CoreInputDeviceTypes deviceTypes);
function createCoreIndependentInputSource(deviceTypes)
Public Function CreateCoreIndependentInputSource (deviceTypes As CoreInputDeviceTypes) As ExpIndependentPointerInputObserver
Parameter
- deviceTypes
- CoreInputDeviceTypes
Ein kombinierter Wert der -Enumeration.
Gibt zurück
Ein -Objekt, das das Eingabesubsystem für Interoperationszwecke darstellt und für Eingabeereignisverbindungspunkte verwendet werden kann.
Hinweise
Diese Methode ermöglicht es einer App, die ein SwapChainPanel enthält, Eingaben und Rendering unabhängig vom XAML-UI-Thread zu verarbeiten, da Sie die Eingabeverarbeitungslogik absichtlich in einem Hintergrundthread bereitstellen. Sie müssen CreateCoreIndependentInputSource aus einem Nicht-UI-Thread aufrufen. Andernfalls schlägt diese Methode fehl.
Verwenden Sie diese Methode, um ein Kerneingabeobjekt zu erstellen und es Ihrem SwapChainPanel zuzuordnen. Nach erfolgreicher Erstellung werden die Benutzereingaben der angegebenen Gerätetypen, die auf SwapChainPanel-Inhalte zugreifen, an den Thread umgeleitet, von dem CreateCoreIndependentInputSource aufgerufen wurde. Ihre App kann diese Eingabe verarbeiten, indem sie sich für Eingabeereignisse registriert und diese Ereignisse in einem Hintergrundthread verarbeitet. Um Eingabenachrichten über das CoreIndependentInputSource-Objekt zu empfangen, muss der App-Code eine SwapchainPanel festlegen und (auf Microsoft DirectX-Ebene) mindestens einmal aus dieser Swapchain rendern. Dadurch wird das Rendering bereitgestellt, das Treffertests ermöglicht.
In der Regel verwenden Sie CoreDispatcher.ProcessEvents als Teil der Ereignisbehandlung. Rufen Sie einen CoreDispatcher-Verweis von CoreIndependentInputSource.Dispatcher ab. Weitere Informationen zur Verwendung von Hintergrundthreads finden Sie unter ThreadPool oder Threading und asynchrone Programmierung.
Sie können CreateCoreIndependentInputSource mehrmals aufrufen. Jedes Mal, wenn CreateCoreIndependentInputSource aufgerufen wird, wird das vorherige CoreIndependentInputSource-Objekt dem SwapChainPanel nicht zugeordnet. Anders ausgedrückt: Nur ein CoreIndependentInputSource-Objekt kann Ereignisse gleichzeitig abrufen.
Beispielcode zur Verwendung von CreateCoreIndependentInputSource finden Sie in der DrawingPanel
Klassendefinition, die Teil des XAML SwapChainPanel DirectX-Interopbeispiels ist.
CreateCoreIndependentInputSource d kann NULL zurückgeben, wenn deviceTypes als CoreInputDeviceTypes.None übergeben wurde (dies ist jedoch keine typische Methode zum Aufrufen von CreateCoreIndependentInputSource).
Weitere Informationen
- CoreIndependentInputSource
- ThreadPool
- Threading und asynchrone Programmierung
- Interoperabilität von DirectX und XAML
- XAML SwapChainPanel DirectX-Interoperabilitätsbeispiel
- Eingabebeispiel mit geringer Latenz (Windows 10)