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