Steamworks 文献库
ISteamGameCoordinator 接口
用于从游戏协调程序收发消息的函数。

很大程度已弃用,只存在于少数仍在使用该接口的游戏中。

函数


注意: ISteamGameCoordinator 并不暴露全局访问器函数。 必须通过 ISteamClient::GetISteamGenericInterface 访问。

IsMessageAvailable

bool IsMessageAvailable( uint32 *pcubMsgSize );
名称类型描述
pcubMsgSizeuint32 *返回消息的字节大小。

检查是否有来自游戏协调程序的消息正在等待。

返回: bool
true 表示有消息;否则返回 false

RetrieveMessage

EGCResults RetrieveMessage( uint32 *punMsgType, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize );
名称类型描述
punMsgTypeuint32 *
pubDestvoid *
cubDestuint32
pcubMsgSizeuint32 *

将队列中的第一个消息填入所提供的缓冲区,并返回 k_EGCResultOK。如果没有消息正在等待,则返回 k_EGCResultNoMessage。 pcubMsgSize 填入消息的大小。

如果所提供的缓冲区不足以容纳整个消息,则返回 k_EGCResultBufferTooSmall,而消息仍留在队列顶端。

返回: EGCResults

SendMessage

EGCResults SendMessage( uint32 unMsgType, const void *pubData, uint32 cubData );
名称类型描述
unMsgTypeuint32
pubDataconst void *
cubDatauint32

将消息发送给游戏协调程序。

返回: EGCResults

回调

以下是可以通过调用 SteamAPI_RunCallbacks 触发的回调。 其中许多将响应 ISteamGameCoordinator 的成员函数直接触发。

GCMessageAvailable_t

回调
回调通知 – 消息队列中有一条新消息可读。

名称类型描述
m_nMessageSizeuint32

GCMessageFailed_t

回调通知 – 消息无法传至游戏协调程序, 游戏协调程序可能暂时停用。

此回调无字段。

枚举

以下是定义来与 ISteamGameCoordinator 一起使用的枚举。

EGCResults

ISteamGameCoordinator API 可能返回的值列表。

名称描述
k_EGCResultOK0成功。
k_EGCResultNoMessage1队列中无消息。
k_EGCResultBufferTooSmall2缓冲区过小,无法容纳所请求消息。
k_EGCResultNotLoggedOn3客户端未登录 Steam。
k_EGCResultInvalidMessage4通过 SendMessage 所发送消息出错。

常量

以下是定义来与 ISteamGameCoordinator 一起使用的常量。

名称类型描述
STEAMGAMECOORDINATOR_INTERFACE_VERSIONconst char *"SteamGameCoordinator001"