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

# 動態重新排序區塊

> 動態重新排序區塊

當遊戲開始安裝時，安裝系統會依照您定義的預設順序取得並複製*區塊* (要以群組方式安裝的檔案集合)。在遊戲執行所需的區塊安裝完成後，遊戲可以為其餘區塊的安裝提供自訂順序，安裝系統會先處理此順序，再回到預設的安裝順序。

透過這種方式，遊戲可以根據多種不同情況或使用者的各種輸入，控制內容的取得順序。這種動態重新排序可以將使用者等待內容安裝的時間降到最低，並讓他們選擇想要優先取得的內容。

變更安裝順序之後，如果遊戲玩法或遊戲的使用需要某些區塊，遊戲可以使用[串流安裝：狀態](/zh-TW/build/core-features/common/packaging/packaging-installstatus)中所述的其中一種方法來監視安裝狀態。

## 如何變更區塊的安裝順序

在下列範例程式碼中，遊戲需要儘快存取某個檔案，以便讓使用者繼續遊玩。範例中定義了 **PrioritizeChunk** 函式，用來檢查區塊目前的安裝狀態。

* 如果區塊尚未安裝，函式會要求串流系統先安裝該區塊，然後傳回該區塊進度的安裝監視器。

* 如果區塊已安裝，函式會傳回 null 監視器。

```cpp theme={null}
template<> 
struct std::default_delete<XPackageInstallationMonitorHandle> { 
    typedef XPackageInstallationMonitorHandle pointer; 
    void operator()(XPackageInstallationMonitorHandle handle) const noexcept  
    {   
        XPackageCloseInstallationMonitorHandle(handle);  
    } 
}; 
 
HRESULT PrioritizeChunk(uint32_t chunkId, XPackageInstallationMonitorHandle* monitor) 
{ 
    char id[PACKAGE_IDENTIFIER_MAX_LENGTH]; 
 
    *monitor = nullptr; 
    RETURN_IF_FAILED(XPackageGetCurrentProcessPackageIdentifier(_countof(id), id)); 
 
    XPackageChunkSelector selector; 
    selector.type = XPackageChunkSelectorType::Chunk; 
    selector.chunk = chunkId; 
 
    XPackageInstallationMonitorHandle temp; 
    RETURN_IF_FAILED(XPackageCreateInstallationMonitor(id, 1, &selector, 1000, queue, &temp)); 
    std::unique_ptr<XPackageInstallationMonitorHandle> localMonitor(temp); 
 
    XPackageInstallationProgress progress; 
    XPackageGetInstallationProgress(localMonitor.get(), &progress); 
 
    if (!progress.completed) 
    { 
        RETURN_IF_FAILED(XPackageChangeChunkInstallOrder(id, 1, &selector)); 
        *monitor = localMonitor.release(); 
    } 
 
    return S_OK; 
} 
```


## Related topics

- [在合作伙伴中心中配置特色统计信息](/zh-CN/publishing/game-publishing/how-to/data-platform-2013/how-to-configure-featured-stats.md)
- [基于事件的精选统计信息门户配置](/zh-CN/services/xbox-services/player-data/stats-leaderboards/featured-stats/config/live-featuredstats-eb-portal.md)
- [在合作伙伴中心中配置 XBOX 统计信息和统计规则](/zh-CN/publishing/game-publishing/how-to/data-platform-2013/how-to-configure-stats.md)
- [脚本创作工具](/zh-CN/tools/tools-console/wdp/script-authoring-tool.md)
- [媒體驗證測試步驟](/zh-TW/publishing/game-publishing/concepts/certification/certification-media-validation-test-steps.md)
