다음을 통해 공유


XPackageUninstallChunks

지정된 선택기와 일치하는 청크를 제거합니다.

구문

HRESULT XPackageUninstallChunks(  
         const char* packageIdentifier,  
         uint32_t selectorCount,  
         XPackageChunkSelector* selectors  
)  

매개 변수

packageIdentifier _In_z_
형식: char*

디스크에 설치된 패키지를 고유하게 식별하는 문자열입니다. 패키지 식별자에 대한 자세한 내용은 DLC(다운로드 가능한 콘텐츠 관리 및 라이선스)를참조하세요.

selectorCount _In_
형식: uint32_t

selectors 매개 변수의 선택기 수입니다.

selectors _In_reads_(selectorCount)
형식: XPackageChunkSelector*

제거할 청크를 지정하는 선택기 배열입니다.

제거할 청크를 지정하기 위해 정수 ID만 사용하는 방법은 지원되지 않습니다. 이렇게 하려고 시도하면 XPackageUninstallChunks가 E_INVALIDARG의 값을 반환합니다. 제거할 청크를 지정하려면 언어 또는 태그와 같은 선택기에 대한 추가 정보를 제공하세요.

반환 값

형식: HRESULT

HRESULT 성공 또는 오류 코드입니다.

설명

참고 항목

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

XPackageUninstallChunks는 지정된 설치 선택기와 일치하는 청크를 제거합니다. 패키지 작동에 필요한 청크는 제거하지 않습니다. 예를 들어 현재 실행 중인 게임의 언어에 대한 자산을 제공하는 데 필요한 청크는 제거할 수 없습니다.

청크가 제거될 때 타이틀은 중지되지 않습니다. 제거되는 청크 및 더 이상 파일에 액세스하지 않는 청크에서 파일에 대한 모든 파일 핸들을 닫는 것은 타이틀에 따라 달라집니다.

다음 예제에서 XPackageUninstallChunks는 "BigMaps"태그가 있는 맵 패키지를 제거하는 데 사용됩니다.

HRESULT UninstallBigMaps()
{
    char id[XPACKAGE_IDENTIFIER_MAX_LENGTH];
    HRESULT hr = XPackageGetCurrentProcessPackageIdentifier(_countof(id), id);
    if (FAILED(hr)) return hr;

    XPackageChunkSelector selector;
    selector.type = XPackageChunkSelectorType::Tag;
    selector.tag = "BigMaps";

    hr = XPackageUninstallChunks(id, 1, &selector);
    return hr;
}

요구 사항

헤더: XPackage.h

라이브러리: xgameruntime.lib

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

참고 항목

XPackage
스트리밍 설치 및 지능형 전송