> ## 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.

# XUserGetLocalId

> XUserGetLocalId

# XUserGetLocalId

Récupère un ID de session de jeu unique pour un utilisateur.

## Syntaxe

```cpp theme={null}
HRESULT XUserGetLocalId(  
         XUserHandle user,  
         XUserLocalId* userLocalId  
)  
```

### Paramètres

*user*   \_In\_\
Type : XUserHandle

Handle de l'utilisateur dont l'ID local doit être récupéré.

*userLocalId*   \_Out\_\
Type : [XUserLocalId\*](/fr/reference/system/xuser/structs/xuserlocalid)

Contient un ID de session de jeu unique pour un utilisateur.

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT.\
Pour obtenir la liste des codes d'erreur, consultez [Codes d'erreur](/fr/reference/errorcodes).

## Remarques

Pour récupérer l'ID d'utilisateur d'un utilisateur spécifique, appelez [XUserGetId](/fr/reference/system/xuser/functions/xusergetid).

Pour récupérer l'état d'un utilisateur spécifique, appelez [XUserGetState](/fr/reference/system/xuser/functions/xusergetstate).

Pour récupérer la tranche d'âge d'un utilisateur spécifique, appelez [XUserGetAgeGroup](/fr/reference/system/xuser/functions/xusergetagegroup).

**XUserLocalId** identifie de manière unique un utilisateur au sein d'une session de jeu. Si vous dupliquez **XUserHandle**, les deux handles conservent le même **XUserLocalId**. Une fois la session de jeu terminée, le même utilisateur peut avoir un **XUserLocalId** différent lors de la session suivante. N'utilisez pas ces ID pour suivre les utilisateurs d'une session de jeu à l'autre.

L'exemple suivant montre comment utiliser **XUserLocalId** pour récupérer le point de terminaison audio par défaut d'un utilisateur.

```cpp theme={null}
HRESULT GetAudioDeviceAssociation(
    IMMDeviceEnumerator* audioDeviceEnumerator,
    XUserLocalId user,
    XUserDefaultAudioEndpointKind defaultAudioEndpointKind,
    _Outptr_result_maybenull_ IMMDevice** endpoint)
{
    wchar_t audioDeviceId[XUserAudioEndpointMaxUtf16Count];
    RETURN_IF_FAILED_WITH_EXPECTED(XUserGetDefaultAudioEndpointUtf16(user, defaultAudioEndpointKind, std::size(audioDeviceId), audioDeviceId, nullptr), E_NOTFOUND);

    return audioDeviceEnumerator->GetDevice(audioDeviceId, endpoint);
}

HRESULT GetAudioAssociations()
{
    Mwrl::ComPtr<IMMDeviceEnumerator> audioDeviceEnumerator;

    RETURN_IF_FAILED(CoCreateInstance(
        __uuidof(MMDeviceEnumerator),
        nullptr,
        CLSCTX_ALL,
        __uuidof(IMMDeviceEnumerator),
        (void**)&audioDeviceEnumerator));

    XUserLocalId userLocalId;
    RETURN_IF_FAILED(XUserGetLocalId(_handle.get(), &userLocalId));

    {
        wil::unique_cotaskmem_string id;
        Mwrl::ComPtr<IMMDevice> device;
        if (SUCCEEDED(GetAudioDeviceAssociation(audioDeviceEnumerator.Get(), userLocalId, XUserDefaultAudioEndpointKind::CommunicationRender, &device)))
        {
            RETURN_IF_FAILED(device->GetId(&id));
        }
        appLog.AddLog("Preferred render communication device id: %S\n", id.get());
    }

    {
        wil::unique_cotaskmem_string id;
        Mwrl::ComPtr<IMMDevice> device;
        if (SUCCEEDED(GetAudioDeviceAssociation(audioDeviceEnumerator.Get(), userLocalId, XUserDefaultAudioEndpointKind::CommunicationCapture, &device)))
        {
            RETURN_IF_FAILED(device->GetId(&id));
        }
        appLog.AddLog("Preferred capture communication device id: %S\n", id.get());
    }

    return S_OK;
}
```

## Configuration requise

**En-tête :** XUser.h

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge :** Windows, Steam Deck, consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[XUser](/fr/reference/system/xuser/xuser_members)

[XUserGetId](/fr/reference/system/xuser/functions/xusergetid)

[XUserGetState](/fr/reference/system/xuser/functions/xusergetstate)

[XUserGetAgeGroup](/fr/reference/system/xuser/functions/xusergetagegroup)


## Related topics

- [XUserGetLocalId](/reference/system/xuser/functions/xusergetlocalid.md)
- [XUserLocalId](/reference/system/xuser/structs/xuserlocalid.md)
- [Users and input devices](/build/core-features/common/user/users-input-devices.md)
- [User identity and XUser](/build/core-features/common/user/player-identity-xuser.md)
- [Identidad de usuario y XUser](/es/build/core-features/common/user/player-identity-xuser.md)
