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

Effectue un enregistrement comme si l'utilisateur l'avait déclenché. Si le joueur suspend ou restreint son jeu pendant qu'un enregistrement est en cours, l'enregistrement est arrêté. L'enregistrement est sauvegardé dans la partition utilisateur. Les paramètres de capture sont basés sur les paramètres GameDVR. Une fois la limite d'enregistrements simultanés atteinte, il faut appeler [XAppCaptureStopUserRecord](/fr/reference/system/xappcapture/functions/xappcapturestopuserrecord) ou [XAppCaptureCancelUserRecord](/fr/reference/system/xappcapture/functions/xappcapturecanceluserrecord) avant de pouvoir démarrer un autre enregistrement. La prise en charge de cette API sous Windows sera ajoutée dans une version ultérieure.

## Syntaxe

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

### Paramètres

*requestingUser* \_In\_\
Type : XUserHandle

Handle représentant l'utilisateur qui demande l'enregistrement.

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

La longueur de la mémoire tampon recevant l'ID local de l'enregistrement.

*localIdBuffer* \_Out\_\
Type : char\*

Mémoire tampon contenant l'ID local qui spécifie l'opération d'enregistrement en cours.

### Valeur de retour

Type : HRESULT

Résultat de la fonction. Consultez [Codes d'erreur XAppCapture](/fr/reference/system/xappcapture/xappcapture_errors) pour les valeurs de retour autres que `S_OK`.

## Remarques

Une fois la fonction terminée avec succès, localIdOfUserRecording contient l'ID local de l'enregistrement, qui doit être conservé pour arrêter un enregistrement spécifique avec [XAppCaptureStopUserRecord](/fr/reference/system/xappcapture/functions/xappcapturestopuserrecord) ou [XAppCaptureCancelUserRecord](/fr/reference/system/xappcapture/functions/xappcapturecanceluserrecord).

<Note>Les clips les plus anciens sont supprimés lorsque l'espace alloué est rempli, afin de faire de la place aux nouveaux clips. Utilisez [PLS](/fr/reference/system/xpersistentlocalstorage/xpersistentlocalstorage_members) (Persistent Local Storage), le stockage connecté (par exemple [XGameSave](/fr/reference/system/xgamesave/xgamesave_members) ou [XGameSaveFiles](/fr/reference/system/xgamesavefiles/xgamesavefiles_members)) ou un système de stockage similaire afin de conserver les clips pendant une période définie.</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();
    }
}
```

## Configuration requise

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

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge :** consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[Membres XAppCapture](/fr/reference/system/xappcapture/xappcapture_members)


## Related topics

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