> ## 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éprécié.** Cette API est dépréciée depuis la version 2604 du GDK et sera supprimée dans une version future du GDK. Sur la pile de diffusion en continu actuelle de XBOX Cloud Gaming, cette API n'est pas fonctionnelle et retourne `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-CA/services/xbox-services/fundamentals/s2s-auth-calls/service-authentication/security-tokens/live-token-claims).
</Info>

Cette API retourne une adresse IP pour l'appareil client de l'utilisateur final utilisé pour diffuser du contenu en continu au moyen du service de diffusion de jeux en continu 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 renseignements. Si vous avez des questions ou des préoccupations concernant l'utilisation conforme de cette API, communiquez avec 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 diffusion en continu interrogé.

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

Taille maximale de la mémoire tampon `ipAddress` fournie. En général, 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

Retourne **S\_OK** en cas de réussite; sinon, retourne 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-CA/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 pourraient l'être plus tard. |
| E\_NOT\_SUFFICIENT\_BUFFER | 0x7A | *ipAddress* n'est pas assez grand pour contenir l'adresse IP et le caractère nul de fin. |

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

## Remarques

L'`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 au besoin.

L'adresse IP retournée est celle que la XBOX a reçue du client de diffusion en continu. Si le client de diffusion en continu utilise un RPV 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 retournées pendant le développement ou dans des scénarios de jeu à distance où le client de diffusion en continu 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-CA/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)
