chat_manager::start_processing_state_changes

检索自上次此类调用以来要处理的所有游戏聊天状态更改数组。

语法

void start_processing_state_changes(  
    uint32_t* stateChangeCount,  
    game_chat_state_change_array* stateChanges  
)  

参数

stateChangeCount _Out_
类型:uint32_t*

一个用于写入应用要在 stateChanges 数组中处理的 game_chat_state_change 条目数的位置。

stateChanges _Outptr_result_buffer_(*stateChangeCount)
类型:game_chat_state_change_array*

一个用于存储指向所有 game_chat_state_change 条目数组(以供应用处理然后传递到 chat_manager::finish_processing_state_changes())的指针的位置。

返回值

类型:void

备注

此方法提供自上次调用此方法以来可用于应用的所有更改的列表。 应用应使用提供的 0 或更多更改的数组来更新其自身状态或 UI,然后使用它们及时调用 chat_manager::finish_processing_state_changes()。

如果再次调用 chat_manager::start_processing_state_changes() 之前,未调用上一次调用所返回的状态更改对象列表中的 chat_manager::finish_processing_state_changes(),则此方法将引发异常。 必须始终使用 chat_manager::start_processing_state_changes() 返回的值调用 chat_manager::finish_processing_state_changes(),即使返回的状态更改条目为 0 也是如此。

一旦调用 chat_manager::start_processing_state_changes(),在对 chat_manager::finish_processing_state_changes() 进行相应调用之前,不得调用 chat_manager::remove_user()。 在处理状态更改期间调用 chat_manager::remove_user() 会使与已删除用户关联的内存失效,即使指向与该用户关联的内存的指针在状态更改中返回也是如此。

要求

头文件:GameChat2.h

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

chat_manager
game_chat_state_change
game_chat_state_change_array
chat_manager::finish_processing_state_changes
chat_manager::remove_user