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

回呼通知 - 無法發送訊息至遊戲協調器, 遊戲協調器可能暫時停機中。

此回呼沒有欄位。

Enums

以下為定義來用於 ISteamGameCoordinator 的 Enums。

EGCResults

列出 ISteamGameCoordinator API 可能傳回的數值。

名稱說明
k_EGCResultOK0成功。
k_EGCResultNoMessage1佇列中無訊息。
k_EGCResultBufferTooSmall2緩衝區大小不足以容納指定的訊息。
k_EGCResultNotLoggedOn3用戶端未登入 Steam。
k_EGCResultInvalidMessage4透過 SendMessage 發送出去的訊息出錯。

常數

以下為定義來用於 ISteamGameCoordinator 中的常數。

名稱型別說明
STEAMGAMECOORDINATOR_INTERFACE_VERSIONconst char *"SteamGameCoordinator001"