次の方法で共有


PFMultiplayerStartProcessingMatchmakingStateChanges

前回の同様の呼出し以降にプロセスに生じたすべてのマッチメイキング状態変更の配列を取得します。

構文

HRESULT PFMultiplayerStartProcessingMatchmakingStateChanges(  
    PFMultiplayerHandle handle,  
    uint32_t* stateChangeCount,  
    const PFMatchmakingStateChange* const** stateChanges  
)  

パラメーター

handle PFMultiplayerHandle

PFMultiplayer API インスタンスのハンドル。

stateChangeCount uint32_t*
出力

stateChanges 配列でタイトルが処理する PFMatchmakingStateChange エントリの出力数。

stateChanges PFMatchmakingStateChange* const**
ライブラリに割り当てられた、サイズが *stateChangeCount の出力配列

処理するタイトルのすべての PFMatchmakingStateChange エントリのライブラリの割り当てられた出力配列で、PFMultiplayerFinishProcessingMatchmakingStateChanges() に渡します。

戻り値

型: HRESULT

呼び出しが成功した場合は S_OK、それ以外の場合はエラー コードになります。 人間が読める形式のエラー コードは、PartyManager::GetErrorMessage() を介して取得できます。

解説

このメソッドは、マッチメイキング ライブラリにリモート デバイスまたはサービスと状態を同期する機会を提供し、このメソッドへの前回の呼び出し以降生じた変更で、現在タイトルで使用可能なすべての変更の一覧を取得します。 アプリは、与えられた 0 以上の変更の配列を使用して、独自の状態や UI を更新してから、適切なタイミングでそれらを使用して PFMultiplayerFinishProcessingMatchmakingStateChanges() を呼び出す必要があります。

マッチメイキング ライブラリによって公開されるロビー ライブラリの状態は、この呼び出し中に変更される可能性があるため、ライブラリを使用する際にはスレッド セーフである必要があります。 PFMultiplayerStartProcessingMatchmakingStateChanges() は、少なくともグラフィック フレームごとに 1 回、頻繁に呼び出す必要があります。 影響を最小限に抑えながらメインの UI スレッドで呼び出せるように、すばやく実行・返却する設計となっています。 また、最良の結果を得るには、PFMultiplayerFinishProcessingMatchmakingStateChanges() を呼び出す前に、状態変更の処理に費やす時間を最小限に抑える必要があります。

PFMultiplayerStartProcessingMatchmakingStateChanges() によって返される各状態変更は、PFMultiplayerFinishProcessingMatchmakingStateChanges() に 1 回だけ返される必要がありますが、順番どおりに返されず、PFMultiplayerStartProcessingMatchmakingStateChanges() への他の呼び出しからの状態変更とインターリーブされる場合があります。 特定の状態変更に関連付けられたリソースは、状態変更が PFMultiplayerFinishProcessingMatchmakingStateChanges() に返されるまで、有効なままであることが保証されます。

要件

ヘッダー: PFMatchmaking.h

関連項目

PFMatchmaking メンバー
PFMatchmakingStateChange
PFMultiplayerFinishProcessingMatchmakingStateChanges