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

Recupera un identificador de sesión de juego único para un usuario.

## Sintaxis

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

### Parámetros

*user*   \_In\_\
Tipo: XUserHandle

Un identificador al usuario del que se recupera el identificador local.

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

Contiene un identificador de sesión de juego único para un usuario.

### Valor devuelto

Tipo: HRESULT

Código de éxito o de error HRESULT.\
Para obtener una lista de los códigos de error, consulte [Códigos de error](/reference/errorcodes).

## Comentarios

Para recuperar el identificador de usuario de un usuario específico, llame a [XUserGetId](/reference/system/xuser/functions/xusergetid).

Para recuperar el estado de un usuario específico, llame a [XUserGetState](/reference/system/xuser/functions/xusergetstate).

Para recuperar el grupo de edad de un usuario específico, llame a [XUserGetAgeGroup](/reference/system/xuser/functions/xusergetagegroup).

El **XUserLocalId** identifica de forma única a un usuario dentro de una sesión de juego. Si duplica **XUserHandle**, ambos identificadores mantienen el mismo **XUserLocalId**. Una vez que finaliza la sesión de juego, el mismo usuario podría tener un **XUserLocalId** diferente durante la siguiente sesión. No use estos identificadores para realizar el seguimiento de los usuarios entre sesiones de juego.

El ejemplo siguiente muestra cómo usar el **XUserLocalId** para recuperar el punto de conexión de audio predeterminado de un usuario.

```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;
}
```

## Requisitos

**Encabezado:** XUser.h

**Biblioteca:** xgameruntime.lib

**Plataformas compatibles:** Windows, Steam Deck, consolas de la familia XBOX One y consolas XBOX Series

## Consulte también

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

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

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

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


## Related topics

- [XUserLocalId](/es/reference/system/xuser/structs/xuserlocalid.md)
- [Identidad de usuario y XUser](/es/build/core-features/common/user/player-identity-xuser.md)
- [Usuarios y dispositivos de entrada](/es/build/core-features/common/user/users-input-devices.md)
- [XUser](/es/reference/system/xuser/xuser_members.md)
- [Contenedores de API de C# de Unity para el GDK](/es/build/gdk-and-engines/unity/unity-api-wrappers.md)
