XAppCaptureTakeScreenshot
スクリーンショットを取得します。
構文
HRESULT XAppCaptureTakeScreenshot(
XUserHandle requestingUser,
XAppCaptureTakeScreenshotResult* result
)
パラメーター
requestingUser _In_
型: XUserHandle
スクリーンショットを要求しているユーザーを表すハンドル。
result _Out_
型: XAppCaptureTakeScreenshotResult*
返されるスクリーンショットの結果。
戻り値
型: HRESULT
関数の結果です。
解説
注意
この関数は、時間依存のスレッドで呼び出すのに安全ではありません。 詳細については、「時間依存のスレッド」を参照してください。
注意
この機能は Xbox ゲーム ストリーミングではサポートされていません。 どのプラットフォームがサポートしているかを確認するには、以下の「要件」セクションを参照してください。
XAppCaptureTakeScreenshot は、ユーザーがトリガーしたかのようにスクリーンショットを取得します。 これによりトーストが表示され、ゲームのスクリーンショットが保存されます。 ゲームが SDR で実行されている場合は、1 つのファイルが生成されます。 ゲームが HDR で実行されている場合は、HDR 形式と SDR 形式で 2 つのファイルが生成されます。 ユーザーの設定によっては、スクリーンショットが Xbox Live に自動的にアップロードされる場合があります。 スクリーンショットが正常に取得されたら、XAppCaptureOpenScreenShotStream でスクリーンショット ストリームを開き、XAppCaptureReadScreenshotStream でスクリーンショットを読み取ることによって、結果のファイルを見ることができます。 どちらの関数でも、この関数から返される XAppCaptureTakeScreenshotResult で返されるローカル ID を使用する必要があります。
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");
要件
ヘッダー: XAppCapture.h
ライブラリ: xgameruntime.lib
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体
関連項目
ゲーム録画の概要
XAppCapture のメンバー
XAppCaptureOpenScreenShotStream
XAppCaptureReadScreenShotStream
XAppCaptureCloseScreenshotStream
XAppCaptureTakeScreenshotResult