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

# XAppCaptureTakeScreenshot

> XAppCaptureTakeScreenshot

# XAppCaptureTakeScreenshot

スクリーンショットを取得します。

## Syntax

```cpp theme={null}
HRESULT XAppCaptureTakeScreenshot(  
         XUserHandle requestingUser,  
         XAppCaptureTakeScreenshotResult* result  
)  
```

### Parameters

*requestingUser*   \_In\_\
型: XUserHandle

スクリーンショットを要求しているユーザーを表すハンドル。

*result*   \_Out\_\
型: [XAppCaptureTakeScreenshotResult\*](/reference/system/xappcapture/structs/xappcapturetakescreenshotresult)

返されたスクリーンショットの結果。

### Return value

型: HRESULT

関数の結果。

## Remarks

<Note>この関数は、タイム センシティブ スレッドから呼び出しても安全ではありません。詳細については、[Time-sensitive threads](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads) を参照してください。\
\[!NOTE]
この関数は XBOX Game Streaming ではサポートされていません。サポートされているプラットフォームについては、以下の Requirements セクションを参照してください。\
\[!NOTE]
新しいスクリーンショット用のスペースを確保するために、割り当てられた容量がいっぱいになると、古いスクリーンショットは削除されます。一定期間スクリーンショットを保持するには、[PLS](/reference/system/xpersistentlocalstorage/xpersistentlocalstorage_members) (Persistent Local Storage)、コネクテッド ストレージ (例: [XGameSave](/reference/system/xgamesave/xgamesave_members) や [XGameSaveFiles](/reference/system/xgamesavefiles/xgamesavefiles_members))、または同様のストレージ システムを使用してください。</Note>

**XAppCaptureTakeScreenshot** は、ユーザーがトリガーしたかのようにスクリーンショットを取得します。トーストが表示され、ゲームのスクリーンショットが保存されます。
ゲームが SDR で実行されている場合、1 つのファイルが生成されます。ゲームが HDR で実行されている場合、HDR 形式の 1 つと SDR 形式の 1 つ、計 2 つのファイルが生成されます。
スクリーンショットは、ユーザー設定に応じて XBOX Live に自動的にアップロードされる場合があります。スクリーンショットが正常に取得された後、[XAppCaptureOpenScreenShotStream](/reference/system/xappcapture/functions/xappcaptureopenscreenshotstream) でスクリーンショット ストリームを開き、[XAppCaptureReadScreenshotStream](/reference/system/xappcapture/functions/xappcapturereadscreenshotstream) でスクリーンショットを読み取ることで、結果のファイルを読み取ることができます。これらの関数はどちらも、この関数から返された [XAppCaptureTakeScreenshotResult](/reference/system/xappcapture/structs/xappcapturetakescreenshotresult) で返されたローカル ID を使用する必要があります。

```cpp theme={null}
XAppCaptureTakeScreenshotResult takeScreenshotResult = {0};
XUserHandle user = nullptr;
/* See XUserAddAsync, XUserAddResult on how to initialize XUserHandle */
bool hasHDR = false;

LOG_IF_FAILED(XAppCaptureTakeScreenshot(user, &takeScreenshotResult));

hasHDR = static_cast<bool>(takeScreenshotResult.availableScreenshotFormats & XAppCaptureScreenshotFormatFlag::HDR);

appLog.AddLog("LocalId %s (%s)\n", takeScreenshotResult.localId, hasHDR ? "SDR & HDR" : "SDR only");
```

## Requirements

**ヘッダー:** XAppCapture.h

**ライブラリ:** xgameruntime.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体および XBOX Series 本体

## Conceptual documentation

* [Time-sensitive threads](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## See also

[GameDVR Overview](/build/console-features/game-dvr/gamedvr-broadcast)\
[XAppCapture Members](/reference/system/xappcapture/xappcapture_members)\
[XAppCaptureOpenScreenShotStream](/reference/system/xappcapture/functions/xappcaptureopenscreenshotstream)\
[XAppCaptureReadScreenShotStream](/reference/system/xappcapture/functions/xappcapturereadscreenshotstream)\
[XAppCaptureCloseScreenshotStream](/reference/system/xappcapture/functions/xappcaptureclosescreenshotstream)\
[XAppCaptureTakeScreenshotResult](/reference/system/xappcapture/structs/xappcapturetakescreenshotresult)


## Related topics

- [XAppCaptureTakeScreenshotResult](/ja-jp/reference/system/xappcapture/structs/xappcapturetakescreenshotresult.md)
- [XAppCaptureScreenshotStream](/ja-jp/reference/system/xappcapture/structs/xappcapturescreenshotstream.md)
- [XAppCaptureOpenScreenshotStream](/ja-jp/reference/system/xappcapture/functions/xappcaptureopenscreenshotstream.md)
- [XAppCaptureReadScreenshotStream](/ja-jp/reference/system/xappcapture/functions/xappcapturereadscreenshotstream.md)
- [XAppCaptureCloseScreenshotStream](/ja-jp/reference/system/xappcapture/functions/xappcaptureclosescreenshotstream.md)
