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

# XAppCaptureStartUserRecord

> XAppCaptureStartUserRecord

# XAppCaptureStartUserRecord

Graba como si el usuario lo hubiera desencadenado. Si el jugador suspende o restringe el juego mientras hay una grabación en curso, la grabación se detendrá. La grabación se guarda en la partición del usuario. La configuración de captura se basa en la configuración de GameDVR. Una vez alcanzado el límite de grabaciones simultáneas, será necesario llamar a [XAppCaptureStopUserRecord](/reference/system/xappcapture/functions/xappcapturestopuserrecord) o a [XAppCaptureCancelUserRecord](/reference/system/xappcapture/functions/xappcapturecanceluserrecord) antes de poder iniciar otra grabación. La compatibilidad de Windows con esta API se agregará en una versión futura.

## Sintaxis

```cpp theme={null}
HRESULT XAppCaptureStartUserRecord(
    XUserHandle requestingUser,
    uint32_t localIdBufferLength,
    char* localIdBuffer
)
```

### Parámetros

*requestingUser* \_In\_\
Tipo: XUserHandle

Identificador que representa al usuario que solicita la grabación.

*localIdBufferLength* \_In\_\
Tipo: uint32\_t

Longitud del búfer que recibe el id. de grabación local.

*localIdBuffer* \_Out\_\
Tipo: char\*

Búfer que contiene el id. local que especifica la operación de grabación en curso.

### Valor devuelto

Tipo: HRESULT

Resultado de la función. Consulte [Códigos de error de XAppCapture](/reference/system/xappcapture/xappcapture_errors) para conocer los valores devueltos distintos de `S_OK`.

## Comentarios

Al finalizar correctamente la función, localIdOfUserRecording contiene el id. local de la grabación y debe almacenarse para detener una grabación específica con [XAppCaptureStopUserRecord](/reference/system/xappcapture/functions/xappcapturestopuserrecord) o [XAppCaptureCancelUserRecord](/reference/system/xappcapture/functions/xappcapturecanceluserrecord).

<Note>Los clips más antiguos se eliminarán cuando el espacio asignado se llene, para hacer sitio a los nuevos clips. Use [PLS](/reference/system/xpersistentlocalstorage/xpersistentlocalstorage_members) (almacenamiento local persistente), almacenamiento conectado (p. ej., [XGameSave](/reference/system/xgamesave/xgamesave_members) o [XGameSaveFiles](/reference/system/xgamesavefiles/xgamesavefiles_members)) o un sistema de almacenamiento similar para conservar los clips durante un período de tiempo determinado.</Note>

```cpp theme={null}
char localIdOfUserRecording[APPCAPTURE_MAX_LOCALID_LENGTH] = { '\0' };

XAppCaptureVideoCaptureSettings captureSettings = { 0 };
if (FAILED_LOG(XAppCaptureGetVideoCaptureSettings(&captureSettings)))
{
    return;
}

if (captureSettings.isCaptureByGamesAllowed)
{
    auto asyncBlock = std::make_unique<XAsyncBlock>();
    ZeroMemory(asyncBlock.get(), sizeof(*asyncBlock));
    asyncBlock->queue = g_taskQueue;
    asyncBlock->callback = [](XAsyncBlock* ab)
    {
        auto asyncBlock = std::unique_ptr<XAsyncBlock>(ab);

        XUserHandle user = nullptr;
        auto scopeExit = wil::scope_exit([&]()
        {
            if (user != nullptr)
            {
                XUserCloseHandle(user);
            }
        });

        if (FAILED_LOG(XUserAddResult(asyncBlock.get(), &user)))
        {
            return;
        }

        if (FAILED_LOG(XAppCaptureStartUserRecord(user, ARRAYSIZE(localIdOfUserRecording), localIdOfUserRecording)))
        {
            return;
        }
        appLog.AddLog("Recording started: localId = %s\n", localIdOfUserRecording);
    };

    if (SUCCEEDED_LOG(XUserAddAsync(
        XUserAddOptions::AddDefaultUserAllowingUI,
        asyncBlock.get())))
    {
        // Once started, release the pointer
        asyncBlock.release();
    }
}
```

## Requisitos

**Encabezado:** XAppCapture.h

**Biblioteca:** xgameruntime.lib

**Plataformas compatibles:** consolas de la familia XBOX One y consolas XBOX Series

## Consulte también

[Miembros de XAppCapture](/reference/system/xappcapture/xappcapture_members)


## Related topics

- [XAppCaptureCancelUserRecord](/es/reference/system/xappcapture/functions/xappcapturecanceluserrecord.md)
- [XAppCaptureUserRecordingResult](/es/reference/system/xappcapture/structs/xappcaptureuserrecordingresult.md)
- [XAppCaptureStopUserRecord](/es/reference/system/xappcapture/functions/xappcapturestopuserrecord.md)
- [XAppCapture](/es/reference/system/xappcapture/xappcapture_members.md)
- [XAppCaptureRecordTimespan](/es/reference/system/xappcapture/functions/xappcapturerecordtimespan.md)
