> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XPackageUnregisterInstallationProgressChanged

> XPackageUnregisterInstallationProgressChanged

# XPackageUnregisterInstallationProgressChanged

以前に登録したインストール進行状況変更コールバックを登録解除します。

## Syntax

```cpp theme={null}
bool XPackageUnregisterInstallationProgressChanged(  
         XPackageInstallationMonitorHandle installationMonitor,  
         XTaskQueueRegistrationToken token,  
         bool wait  
)  
```

### Parameters

*installationMonitor*   \_In\_\
型: XPackageInstallationMonitorHandle

指定されたコールバックを削除するインストール モニター。

*token*   \_In\_\
型: [XTaskQueueRegistrationToken](https://docs.xbox.com/ja-jp/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken.md)

[XPackageRegisterInstallationProgressChanged](https://docs.xbox.com/ja-jp/reference/system/xpackage/functions/xpackageregisterinstallationprogresschanged.md) から返されたトークン。

*wait*   \_In\_\
型: bool

保留中のコールバックが完了するまでブロックするかどうかを示します。

### Return value

型: bool

*wait* が false で登録解除が保留中の場合は false を返します。それ以外の場合は true を返します。

## Remarks

> [!NOTE]
>
> この関数はタイム センシティブなスレッドで呼び出すのは安全ではありません。詳細については、[タイム センシティブなスレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads) を参照してください。

通知の登録解除は次のように動作します。

* 登録済みコールバックのセットから、登録解除はそのトークンに関連付けられたコールバックを削除します。
* そのコールバック トークンに対するコールバックが実行されていない場合、呼び出しは true を返します。
* コールバックが実行中で *wait* が true の場合、呼び出しは実行中のコールバックが終了するまでブロックされます。
* コールバックが実行中で *wait* が false の場合、呼び出しはブロックせずに false を返します。トークンのコールバックが完了した後、そのトークンは自動的に登録解除されます。

このメカニズムにより、次のコーディング パターンが可能になります。

1. 登録解除の呼び出し後にコールバックが決して呼び出されないことを保証するため、登録解除でブロックできます。
2. ブロックしないことを選択することもできます。データを削除する前にコールバックが完了することを保証するには、*wait* に false を指定して定期的に unregister を呼び出します。最終的に true が返されると、すべてのコールバックが完了しており、状態を削除できます。
3. 登録解除呼び出し中にコールバックが呼び出されるかどうかを気にしない場合は、*wait* に false を渡して戻り値を無視することもできます。

例:

```cpp theme={null}
XPackageUnregisterInstallationProgressChanged(monitor, token, false); 
```

## Requirements

**ヘッダー:** XPackage.h

**ライブラリ:** xgameruntime.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体および XBOX Series 本体

## Conceptual documentation

* [タイム センシティブなスレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## See also

[XPackage](https://docs.xbox.com/ja-jp/reference/system/xpackage/xpackage_members.md)\
[ストリーミング インストールと Intelligent Delivery](https://docs.xbox.com/ja-jp/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery.md)


## Related topics

- [XPackageRegisterInstallationProgressChanged](https://docs.xbox.com/ja-jp/reference/system/xpackage/functions/xpackageregisterinstallationprogresschanged.md)
- [XTaskQueueRegistrationToken](https://docs.xbox.com/ja-jp/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken.md)
- [XPackage (API の内容)](https://docs.xbox.com/ja-jp/reference/system/xpackage/xpackage_members.md)
- [Unity プロジェクトでの GDK API 用 C# ラッパーの使用](https://docs.xbox.com/ja-jp/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [XPackageInstallationProgressCallback](https://docs.xbox.com/ja-jp/reference/system/xpackage/functions/xpackageinstallationprogresscallback.md)
