Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
But
Game Bar Presence Writer est un composant qui est averti lorsque l’état « présence » d’un jeu (c’est-à-dire un jeu en cours d’exécution au premier plan) change. Cette fonctionnalité est disponible dans les systèmes d’exploitation Windows 10 et versions ultérieures. Par défaut, l’enregistreur de présence de barre de jeu existant définit l’état de présence Xbox Live d’un utilisateur pour un jeu en cours d’exécution si l’application Xbox est installée, l’utilisateur est connecté à son compte Xbox et l’utilisateur a activé la présence Xbox Live pour être défini lors de l’exécution d’un jeu sur son PC. Il est possible que les développeurs d’applications Windows remplacent ce comportement par défaut par leur propre implémentation.
Important
En fournissant une implémentation personnalisée de l’enregistreur de présence de barre de jeu, le comportement par défaut de l’état de présence Xbox Live d’un utilisateur défini lors de l’exécution d’un jeu ne sera plus disponible.
Implémenter un serveur COM hors processus qui implémente la fonctionnalité Enregistreur de présence de barre de jeu
Pour fournir une implémentation game Bar Presence Writer, vous devez implémenter un serveur COM hors processus qui a implémenté les interfaces COM suivantes :
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;
}
}
Lorsqu’un jeu est exécuté sur l’ordinateur de l’utilisateur, UpdatePresence est appelé avec les paramètres suivants :
-
hWnd [in]
-
Poignée de la fenêtre du jeu en cours d’exécution.
-
événement [in]
-
Événement qui corrpsonds à savoir si le jeu a eu le focus (GotFocus), perdu le focus (LostFocus) ou le jeu tel qu’il a été fermé (AppClose).
-
appId [in]
-
Identificateur d’application du jeu. Si appIdType est Aumid, appId est l’ID de modèle utilisateur de l’application. Si appId est TitleId, appId est l’ID de titre Xbox Live.
-
appIdType [in]
-
Spécifie si appId correspond à l’ID de modèle utilisateur de l’application (Aumid) du jeu de l’ID de titre Xbox Live (TitleId) du jeu.
Inscrire l’implémentation du serveur COM pour l’enregistreur de présence
Pour que votre implémentation de Game Bar Presence Writer s’exécute, elle doit s’assurer que la valeur de Registre suivante est définie :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsRuntime\Server\Windows.Gaming.GameBar.Internal.PresenceWriterServer\ExePath
Type de données | Gamme | Valeur par défaut |
---|---|---|
REG_SZ | chemin d’accès au exécutable |