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

# XAppCaptureScreenshotStream

> XAppCaptureScreenshotStream

# XAppCaptureScreenshotStream

Représente un flux de capture d'écran.

<a id="syntaxSection" />

## Syntaxe

```cpp theme={null}
typedef struct XAppCaptureScreenshotStream {  
} XAppCaptureScreenshotStream  
```

<a id="membersSection" />

### Membres

Cette structure ne contient aucun membre de données.

<a id="remarksSection" />

## Remarques

Utilisez cette structure pour collecter des captures d'écran.

Vous pouvez prendre une capture d'écran du jeu en appelant [XAppCaptureTakeScreenshot](/fr/reference/system/xappcapture/functions/xappcapturetakescreenshot).

`XAppCaptureTakeScreenshot` renvoie un ou plusieurs ID locaux, que vous pouvez utiliser pour récupérer une capture d'écran en les transmettant lors d'un appel à [XAppCaptureOpenScreenshotStream](/fr/reference/system/xappcapture/functions/xappcaptureopenscreenshotstream). Vous obtiendrez deux ID locaux si vous prenez une capture d'écran d'un écran HDR : un pour la version SDR et un pour la version HDR.

`XAppCaptureOpenScreenshotStream` renvoie un handle vers l'objet `XAppCaptureScreenshotStream`. Vous pouvez utiliser ce handle pour lire le contenu du flux en le transmettant lors d'un appel à [XAppCaptureReadScreenshotStream](/fr/reference/system/xappcapture/functions/xappcapturereadscreenshotstream).

Lorsque vous avez terminé, fermez le handle en appelant [XAppCaptureCloseScreenshotStream](/fr/reference/system/xappcapture/functions/xappcaptureclosescreenshotstream).

<a id="exampleSection" />

## Exemple

L'exemple de code suivant montre comment écrire le contenu du flux de capture d'écran dans un fichier local.

```cpp theme={null}
void WriteScreenshotStreamToFile(_In_ const char* screenshotLocalId, _In_ XAppCaptureScreenshotFormatFlag screenshotFormat, _In_ const char* filePath)
{
    const int MAX_DATA = 1024;
    XAppCaptureScreenshotStreamHandle handle = nullptr;
    BYTE buffer[MAX_DATA];
    HANDLE file = INVALID_HANDLE_VALUE;
    UINT64 totalBytesRead = 0;
    UINT64 totalBytesToRead = 0;

    if (FAILED_LOG(XAppCaptureOpenScreenshotStream(screenshotLocalId, screenshotFormat, &handle, &totalBytesToRead)))
    {
        return;
    }

    appLog.AddLog("%I64d bytes returned\n", totalBytesToRead);

    file = CreateFileA(filePath, GENERIC_READ | GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
    if (file == INVALID_HANDLE_VALUE)
    {
        appLog.AddLog("Could not create %s\n", filePath);
        goto Cleanup;
    }

    while (totalBytesRead < totalBytesToRead)
    {
        uint32_t bytesRead = 0;
        DWORD bytesWritten = 0;

        if (FAILED_LOG(XAppCaptureReadScreenshotStream(handle, totalBytesRead, sizeof(buffer), buffer, &bytesRead)))
        {
            goto Cleanup;
        }

        BOOL result = WriteFile(file, buffer, bytesRead, &bytesWritten, NULL );
        if (!result)
        {
            appLog.AddLog("Failed to write to %s\n", filePath);
            goto Cleanup;
        }

        totalBytesRead += bytesRead;
    }

Cleanup:
    if (handle != nullptr)
    {
        FAILED_LOG(XAppCaptureCloseScreenshotStream(handle));
    }
    if (file != INVALID_HANDLE_VALUE)
    {
        CloseHandle(file);
    }
    appLog.AddLog("Wrote out %I64d bytes to %s\n", totalBytesRead, filePath);

}

```

<a id="requirementsSection" />

## Configuration requise

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

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

## Voir aussi

[Membres XAppCapture](/fr/reference/system/xappcapture/xappcapture_members)\
[XAppCaptureTakeScreenshot](/fr/reference/system/xappcapture/functions/xappcapturetakescreenshot)\
[xappcapturescreenshotformatflag](/fr/reference/system/xappcapture/enums/xappcapturescreenshotformatflag)


## Related topics

- [XAppCaptureScreenshotStream](/ko/reference/system/xappcapture/structs/xappcapturescreenshotstream.md)
- [XAppCapture](/reference/system/xappcapture/xappcapture_members.md)
