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

# XPackageFindChunkAvailability

> XPackageFindChunkAvailability

# XPackageFindChunkAvailability

지정된 선택자와 일치하는 청크 컬렉션의 최소 가용성을 반환합니다.

## 구문

```cpp theme={null}
HRESULT XPackageFindChunkAvailability(  
         const char* packageIdentifier,  
         uint32_t selectorCount,  
         XPackageChunkSelector* selectors,  
         XPackageChunkAvailability* availability  
)  
```

### 매개 변수

*packageIdentifier*   \_In\_z\_\
형식: char\*

디스크에 설치된 패키지를 고유하게 식별하는 문자열입니다. 패키지 식별자에 대한 자세한 내용은 [다운로드 가능한 콘텐츠(DLC) 관리 및 라이선스](https://learn.microsoft.com/gaming/gdk/docs/store/commerce/fundamentals/xstore-manage-and-license-optional-packages)를 참조하세요.

*selectorCount*   \_In\_\
형식: uint32\_t

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

*selectors*   \_In\_reads\_opt\_(selectorCount)\
형식: [XPackageChunkSelector\*](/reference/system/xpackage/structs/xpackagechunkselector)

확인할 청크를 지정하는 선택자 배열입니다.

*availability*   \_Out\_\
형식: [XPackageChunkAvailability\*](/reference/system/xpackage/enums/xpackagechunkavailability)

반환 시 청크의 가용성을 나열합니다.

### 반환 값

형식: HRESULT

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

## 설명

<Note>이 함수는 시간에 민감한 스레드에서 호출해서는 안전하지 않습니다. 자세한 내용은 [시간에 민감한 스레드](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)를 참조하세요.</Note>

**XPackageFindChunkAvailability**는 청크 선택자 배열을 받아 연관된 청크를 찾은 다음 해당 청크의 최소 가용성을 반환합니다. 가용성 범위는 다음 값에 따라 결정됩니다.

* Ready: 청크가 이미 설치되어 있고 읽을 수 있습니다.
* Pending: 청크가 아직 설치되지 않았지만 설치될 예정입니다.
* Installable: 청크가 설치되지는 않지만 다운로드할 수 있습니다.
* Unavailable: 청크를 다운로드할 수 없습니다.

다음 예제에서는 레이싱 게임의 트랙 이름을 받아 트랙이 설치되어 있지 않은 경우 해당 트랙의 다운로드 크기를 출력합니다.

```cpp theme={null}
HRESULT ListDownloadSize(char* trackName)
{
    XPackageChunkSelector selector;
    selector.type = XPackageChunkSelectorType::Tag;
    selector.tag = trackName;

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

    XPackageChunkAvailability availability;
    hr = XPackageFindChunkAvailability(id, 1, &selector, &availability);
    if (FAILED(hr)) return hr;

    if (availability == XPackageChunkAvailability::Installable)
    {
        uint64_t downloadSize;
        hr = XPackageEstimateDownloadSize(id, 1, &selector, &downloadSize, nullptr);
        if (FAILED(hr)) return hr;

        printf("Download Size for track %s: %I64u\n", trackName, downloadSize);
    }

    return hr;
}
```

## 요구 사항

**헤더:** XPackage.h

**라이브러리:** xgameruntime.lib

**지원 플랫폼:** Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔

## 개념 문서

* [Intelligent Delivery: 사용자 지정 태그 지정자](/build/core-features/common/packaging/intelligentdelivery-custom)
* [Intelligent Delivery: 기능 및 레시피](/build/core-features/common/packaging/intelligentdelivery-features-recipes)
* [Intelligent Delivery: 언어 지정자](/build/core-features/common/packaging/intelligentdelivery-language)
* [시간에 민감한 스레드](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## 함께 보기

[XPackage](/reference/system/xpackage/xpackage_members)\
[스트리밍 설치 및 Intelligent Delivery](/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery)


## Related topics

- [Intelligent Delivery: 사용자 지정 태그 지정자](/ko/build/core-features/common/packaging/intelligentdelivery-custom.md)
- [Intelligent Delivery: features와 recipes](/ko/build/core-features/common/packaging/intelligentdelivery-features-recipes.md)
- [XPackage](/ko/reference/system/xpackage/xpackage_members.md)
- [GDK용 Unity C# API 래퍼](/ko/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [XPackageChunkAvailability](/ko/reference/system/xpackage/enums/xpackagechunkavailability.md)
