Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zweck
Game Bar Presence Writer ist eine Komponente, die benachrichtigt wird, wenn sich der Zustand "Anwesenheit" eines Spiels ändert (d. h. ein Spiel, das im Vordergrund ausgeführt wird). Diese Funktionalität ist in Windows 10 und höher verfügbar. Standardmäßig legt der vorhandene Anwesenheitsschreiber für game bar den Xbox Live-Anwesenheitsstatus eines Benutzers für ein ausgeführtes Spiel fest, wenn die Xbox-App installiert ist, der Benutzer bei seinem Xbox-Konto angemeldet ist und der Benutzer die Xbox Live-Anwesenheit aktiviert hat, wenn er ein Spiel auf seinem PC ausführt. Windows-Anwendungsentwickler können dieses Standardverhalten mit ihrer eigenen Implementierung außer Kraft setzen.
Wichtig
Durch die Bereitstellung einer benutzerdefinierten Implementierung des Game Bar Presence Writer wird das Standardverhalten des Xbox Live-Anwesenheitsstatus eines Benutzers festgelegt, wenn er ein Spiel ausführt, nicht mehr verfügbar ist.
Implementieren eines out of proc COM-Servers, der die Funktionen von Game Bar Presence Writer implementiert
Um eine Game Bar Presence Writer-Implementierung bereitzustellen, müssen Sie einen out-proc-COM-Server implementieren, der die folgenden COM-Schnittstellen implementiert hat:
import "oaidl.idl";
import "Inspectable.idl";
#include <sdkddkver.h>
namespace Windows.Gaming.GameBar.PresenceServer.Internal
{
// typedefs
typedef enum GameNotificationEvent GameNotificationEvent;
typedef enum AppIdType AppIdType;
typedef UINT64 WindowId;
interface IPresenceWriter;
runtimeclass PresenceWriter;
// enums
enum GameNotificationEvent
{
None = 0,
GotFocus,
LostFocus,
AppClose
};
// enums
enum AppIdType
{
Aumid = 0, // Application User Model Id
TitleId // Xbox Live Title Id
};
[uuid(782674D9-5CBB-4FCA-AD72-D9AC5F7AE963)]
[exclusiveto(PresenceWriter)]
interface IPresenceWriter : IInspectable
{
HRESULT UpdatePresence([in] WindowId hWnd, [in] GameNotificationEvent @event, [in] HSTRING appId, [in] AppIdType appIdType);
}
[marshaling_behavior(agile)]
runtimeclass PresenceWriter
{
[default] interface IPresenceWriter;
}
}
Wenn ein Spiel auf dem Computer des Benutzers ausgeführt wird, wird UpdatePresence mit den folgenden Parametern aufgerufen:
-
hWnd [in]
-
Ein Handle für das Fenster des laufenden Spiels.
-
Ereignis [in]
-
Ereignis, das angibt, ob das Spiel den Fokus hat (GotFocus), verlorenen Fokus (LostFocus) oder das Spiel wie geschlossen (AppClose).
-
appId- [in]
-
Anwendungsbezeichner des Spiels. Wenn appIdType-Aumid ist, ist appId die Anwendungsbenutzermodell-ID. Wenn appId-TitleId ist, ist appId die Xbox Live Title ID.
-
appIdType- [in]
-
Gibt an, ob appId der Anwendungsbenutzermodell-ID (Aumid) des Spiels der Xbox Live Title ID (TitleId) des Spiels entspricht.
Registrieren der COM-Serverimplementierung für Anwesenheits-Writer
Damit Die Implementierung von Game Bar Presence Writer ausgeführt werden kann, muss sichergestellt werden, dass der folgende Registrierungswert festgelegt ist:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsRuntime\Server\Windows.Gaming.GameBar.Internal.PresenceWriterServer\ExePath
Datentyp | Bereich | Standardwert |
---|---|---|
REG_SZ | Pfad zur ausführbaren |