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