XGameStreamingUnregisterClientPropertiesChanged
以前に登録された XGameStreamingClientPropertiesChangedCallback の登録を解除します。
構文
bool XGameStreamingUnregisterClientPropertiesChanged(
XGameStreamingClientId client,
XTaskQueueRegistrationToken token,
bool wait
)
パラメーター
client _In_
型: XGameStreamingClientId
プロパティ変更通知の登録を解除するストリーミング クライアント。 この ID は通常、 XGameStreamingConnectionStateChangedCallback のパラメーターとして取得されます。
token _In\
型: XTaskQueueRegistrationToken
XGameStreamingRegisterClientPropertiesChanged から提供された、呼び出しを停止するコールバックの登録トークン。
wait _In_
型: bool
wait
が true に設定されている場合、XGameStreamingUnregisterClientPropertiesChanged
は、登録が取り消され、未処理のコールバックが完了するまで返されません。
wait
が false に設定されている場合、XGameStreamingUnregisterClientPropertiesChanged
は登録が取り消されるとすぐに戻ります。 新しいコールバックは配信されませんが、進行中のコールバックは、関数が戻ったときに実行されている可能性があります。
戻り値
型: bool
登録解除が成功した場合は true、成功しなかった場合は false を返します。
解説
注意
この関数は、時間依存のスレッドで呼び出すのに安全ではありません。 詳細については、「時間依存のスレッド」を参照してください。
この API を使うと、ストリーミングの物理的なサイズが変更されたときなど、XGameStreamingClientProperty の変更時に XGameStreamingClientPropertiesChangedCallback
が呼び出されるのを停止できます。
例
// On client disconnection remove from list of client and do per client cleanup
void OnClientDisconnected(XGameStreamingClientId client)
{
StreamingClient connectedClient;
GetConnectedClient(client, &connectedClient);
// unregister the client property changed handler
XGameStreamingUnregisterClientPropertiesChanged(client, connectedClient.propertyChangeToken, true);
std::erase(std::remove(m_streamingClients.begin(), m_streamingClients.end(), connectedClient), m_streamingClients.end());
}
要件
ヘッダー: xgamestreaming.h
ライブラリ: xgameruntime.lib
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体
関連項目
XGameStreamingClientPropertyXGameStreamingClientPropertiesChangedCallbackXGameStreamingRegisterClientPropertiesChangedXGameStreaming