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