다음을 통해 공유


XAppCaptureTakeScreenshot

스크린샷을 생성합니다.

구문

HRESULT XAppCaptureTakeScreenshot(  
         XUserHandle requestingUser,  
         XAppCaptureTakeScreenshotResult* result  
)  

매개 변수

requestingUser _In_
형식: XUserHandle

스크린샷을 요청하는 사용자를 나타내는 핸들입니다.

result _Out_
형식: XAppCaptureTakeScreenshotResult*

반환된 스크린샷의 결과입니다.

반환 값

형식: HRESULT

함수 결과입니다.

설명

참고 항목

이 함수는 시간에 민감한 스레드에서 호출하는 것이 안전하지 않습니다. 자세한 내용은 시간에 민감한 스레드를 참조하세요.

참고 항목

이 함수는 Xbox 게임 스트리밍에서 지원되지 않습니다. 지원하는 플랫폼을 확인하려면 아래의 요구 사항 섹션을 참조하세요.

XAppCaptureTakeScreenshot은 사용자가 이를 트리거한 것처럼 스크린샷을 생성합니다. 알림 메시지를 표시하고 게임 스크린샷을 저장합니다. 게임이 SDR로 실행되는 경우 단일 파일이 생성됩니다. 게임이 HDR로 실행되는 경우 HDR 형식 및 SDR 형식의 두 파일이 생성됩니다. 사용자 기본 설정에 따라 스크린샷이 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 콘솔

참고 항목

GameDVR 개요
XAppCapture 멤버
XAppCaptureOpenScreenShotStream
XAppCaptureReadScreenShotStream
XAppCaptureCloseScreenshotStream
XAppCaptureTakeScreenshotResult