Win32 API 日本語リファレンス
ホーム › System.Rpc › RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN

RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN

コールバック

シグネチャ

void RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN(
    void* IfGroup,
    void* IdleCallbackContext,
    DWORD IsGroupIdle
);

パラメーター

フィールド型説明
IfGroupvoid*アイドル状態が変化したインターフェイスグループを定義する、RpcServerInterfaceGroupCreate からの RPC_INTERFACE_GROUP です。
IdleCallbackContextvoid*インターフェイスグループの作成時に指定された、ユーザー定義のコンテキストです。
IsGroupIdleDWORDインターフェイスグループがアイドル状態になった直後の場合は TRUE。インターフェイスグループが以前はアイドル状態であったものの、その後に新たなアクティビティを受け取った場合は FALSE です。

公式ドキュメント

RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN は、定義された各インターフェイスグループに対して実装できるユーザー定義のコールバックです。このコールバックは、インターフェイスグループのアイドル状態が変化したことを RPC ランタイムが検出したときに呼び出されます。

解説(Remarks)

サーバーはインターフェイスグループを登録する際に、アイドルコールバック関数へのポインターを指定します。RPC はこのコールバックを通じて、インターフェイスグループのアイドル状態が変化したことをアプリケーションに通知します。サーバーアプリケーションは、このコールバックを利用して、インターフェイスグループがアイドル状態になったときにそのグループを非アクティブ化することを試みることができます。

RpcServerInterfaceGroupClose は、このコールバックから呼び出してはなりません。呼び出すとデッドロックが発生する可能性があります。

RPC サーバーのアクティビティは、常にサーバーアプリケーションから見えるとは限らない点に注意してください。場合によっては、クライアントがサーバーへの接続を開いているというだけで、長時間にわたって呼び出しがディスパッチされていなくてもサーバーがアクティブなままになることがあります。サーバーアプリケーションは、RPC ランタイムがグループをアイドルと宣言することと、最後の呼び出しがディスパッチされてからの経過時間との間に相関関係があることを前提にしてはなりません。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)