> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XGameStreamingGetClientIPAddress

> XGameStreamingGetClientIPAddress

# XGameStreamingGetClientIPAddress

<Info>
  **Déconseillé.** Cette API est déconseillée depuis la version 2604 du GDK et sera supprimée dans une version ultérieure du GDK. Sur la pile de streaming XBOX Cloud Gaming actuelle, cette API n'est pas fonctionnelle et renvoie `E_GAMESTREAMING_NO_DATA` en cas de réussite.

  Si votre titre doit déterminer s'il s'exécute sur un serveur XBOX Game Streaming, ou s'il a besoin de l'emplacement géographique approximatif de l'utilisateur, utilisez plutôt les [revendications de jeton XSTS](/fr/services/xbox-services/fundamentals/s2s-auth-calls/service-authentication/security-tokens/live-token-claims).
</Info>

Cette API renvoie l'adresse IP de l'appareil client de l'utilisateur final utilisé pour diffuser du contenu en streaming via le service de streaming de jeux Xbox. Cette API et les informations associées ne doivent être utilisées que dans le respect des directives de confidentialité standard de Microsoft concernant l'information des utilisateurs finaux sur la collecte de données. Si vous avez des questions ou des préoccupations concernant l'utilisation conforme de cette API, contactez votre représentant Microsoft.

## Syntaxe

```cpp theme={null}
HRESULT XGameStreamingGetClientIPAddress(  
         XGameStreamingClientId client,  
         size_t ipAddressSize,  
         char* ipAddress  
)  
```

### Paramètres

*client*   \_In\_\
Type : XGameStreamingClientId

Client de streaming interrogé.

*ipAddressSize*   \_In\_\
Type : size\_t

Taille maximale de la mémoire tampon `ipAddress` fournie. En règle générale, cette valeur doit simplement être **ClientIPAddressMaxBytes**.

*ipAddress*   \_Out\_writes\_z\_(ipAddressSize)\
Type : char\*

Mémoire tampon qui sera remplie avec l'adresse IP du client spécifié.

### Valeur de retour

Type : HRESULT

Renvoie **S\_OK** en cas de réussite ; sinon, renvoie un code d'erreur.

#### Erreurs potentielles

| Code d'erreur | Valeur d'erreur | Cause de l'erreur |
| - | - | - |
| E\_GAMESTREAMING\_NOT\_INITIALIZED | 0x89245400 | Le runtime XGameStreaming n'a pas été initialisé. Appelez [XGameStreamingInitialize](/fr/reference/system/xgamestreaming/functions/xgamestreaminginitialize) avant d'appeler d'autres API. |
| E\_GAMESTREAMING\_CLIENT\_NOT\_CONNECTED | 0x89245401 | Le client spécifié n'est pas connecté. |
| E\_GAMESTREAMING\_NO\_DATA | 0x89245402 | Les données demandées ne sont pas disponibles. Elles pourront l'être ultérieurement. |
| E\_NOT\_SUFFICIENT\_BUFFER | 0x7A | *ipAddress* n'est pas assez grand pour contenir l'adresse IP et le caractère de fin null. |

Pour obtenir la liste des codes d'erreur, consultez [Codes d'erreur](/fr/reference/errorcodes).

## Remarques

`ipAddress` peut être une adresse IPv4 (1.2.3.4) ou une adresse IPv6 (1:2:3:4:5:6:7:8). [ParseNetworkString](https://learn.microsoft.com/windows/win32/api/iphlpapi/nf-iphlpapi-parsenetworkstring) peut être utilisé pour analyser la chaîne si nécessaire.

L'adresse IP renvoyée est celle que la XBOX a reçue du client de streaming. Si le client de streaming utilise un VPN ou se trouve derrière un NAT, l'utilisation de l'adresse IP pour la géolocalisation peut poser problème.

<Note>
  Des adresses IP privées peuvent être renvoyées pendant le développement ou dans des scénarios de lecture à distance où le client de streaming et la XBOX se trouvent sur le même réseau privé.
</Note>

## Exemple

```C++ theme={null}
void GameStreamingClientManager::GetClientIPAddress(XGameStreamingClientId client)
{
    // Create the output buffer for the IP address
    char ipAddress[ClientIPAddressMaxBytes]; 

    // Get the IP address of the client 
    HRESULT hr = XGameStreamingGetClientIPAddress(client, ClientIPAddressMaxBytes, ipAddress); 

    if (SUCCEEDED(hr)) 
    { 
        // Game logic to use IP address
    } 
    else if (hr == E_GAMESTREAMING_CLIENT_NO_DATA) 
    { 
        // Game logic handles no data on client case 
    } 
    else 
    { 
        // In case of error just log and proceed as if there was no data 
        LogFormat(L"XGameStreamingGetClientIPAddress failed %x", hr); 
    } 
}
```

## Configuration requise

**En-tête :** xgamestreaming.h\
**Bibliothèque :** xgameruntime.lib\
**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[XGameStreaming](/fr/reference/system/xgamestreaming/xgamestreaming_members)


## Related topics

- [XGameStreamingGetClientIPAddress](/reference/system/xgamestreaming/functions/xgamestreaminggetclientipaddress.md)
- [XGameStreamingClientProperty](/reference/system/xgamestreaming/enums/xgamestreamingclientproperty.md)
- [Optimizing your game for XBOX Game Streaming](/build/core-features/common/game-streaming/game-streaming-optimizing-your-game.md)
- [XGameStreaming](/reference/system/xgamestreaming/xgamestreaming_members.md)
- [XBOX Game Streaming을 위한 게임 최적화](/ko/build/core-features/common/game-streaming/game-streaming-optimizing-your-game.md)
