다음을 통해 공유


XGameSaveEnumerateContainerInfoByName

XGameSaveProvider에 대한 컨테이너 정보를 검색합니다. 접두사를 입력하면 함수는 해당 접두사를 포함하는 단어만 반환합니다.

구문

HRESULT XGameSaveEnumerateContainerInfoByName(  
         XGameSaveProviderHandle provider,  
         const char* containerNamePrefix,  
         void* context,  
         XGameSaveContainerInfoCallback* callback  
)  

매개 변수

provider _In_
형식: XGameSaveProviderHandle

XGameSaveContainerInfo가 포함된 XGameSaveProvider입니다.

containerNamePrefix _In_opt_z_
형식: char*

일치하는 컨테이너 이름에 대한 컨테이너 목록을 검색할 때 사용하는 접두사입니다.

context _In_opt_
형식: void*

콜백 함수에 전달되는 포인터입니다.

callback _In_
형식: XGameSaveContainerInfoCallback*

접두사와 일치하는 모든 컨테이너에 대해 실행할 콜백 함수입니다. 열거를 중지하려면 false를 반환합니다. 이 함수를 사용하여 XGameSaveContainerInfo를 수집합니다.

반환 값

형식: HRESULT

함수 결과입니다.

비고

이 함수를 사용하여 사용자에게 제공되는 컨테이너를 조사합니다. 여기에는 UX에 표시되어야 하는 데이터가 포함될 수 있습니다. 이 집합을 열거하면 SyncOnDemand 제공자에 대한 동기화가 발생하지 않으며, 호출자가 XGameSaveContainerInfo의 needsSync 필드를 통해 동기화 상태를 실제로 조사하도록 허용합니다. needsSync가 true로 설정된 컨테이너에서 업데이트 컨텍스트 사용 또는 blob 데이터 읽기를 수행하면 동기화가 강제 적용되고, 다양한 동기화 오류를 반환할 수 있습니다. 열거된 컨테이너에 대해 접두사를 지정할 필요가 없으면 XGameSaveEnumerateContainerInfo를 사용할 수 있습니다. XGameSaveEnumerateContainerInfo는 사용 가능한 컨테이너 목록을 반환합니다.

// Enumerate Container List by prefix, if no prefix is supplied it is 
// the same as calling XGameSaveEnumerateContainerInfo. 
// NOTE: this should be safe to call from a time critical thread 
// but the we are at the mercy of the callback. 
void Sample::_EnumerateContainerInfoByName(const char* prefix) 
{ 
    HRESULT hr = XGameSaveEnumerateContainerInfoByName(_provider, prefix, this, 
        [](const XGameSaveContainerInfo* container, void* context) 
    { 
        auto self = reinterpret_cast<Sample*>(context); 
        self->_UpdateContainerList(container); 
        return true; 
    }); 
    if (FAILED(hr)) 
    { 
        _HandleContainerErrors(prefix, hr); 
    } 
  
} 

요구 사항

헤더: XGameSave.h

라이브러리: xgameruntime.lib

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

XGameSave
XGameSaveEnumerateContainerInfo
게임 저장 오류