次の方法で共有


COleMessageFilter::SetRetryReply

更新 : 2007 年 11 月

呼び出し先アプリケーションからビジー状態であることを示す応答を受け取ったときの、呼び出し元アプリケーションの動作を決定します。

void SetRetryReply(
   DWORD nRetryReply = 0 
);

パラメータ

  • nRetryReply
    再試行までの時間をミリ秒単位で指定します。

解説

呼び出し先アプリケーションがビジー状態のときに呼び出し元のアプリケーションは、サーバーがビジー状態でなくなるまで待つか、すぐに再試行するか、または指定された間隔の後で再試行するかを決定できます。呼び出しをキャンセルすることもできます。

呼び出し元の応答は、SetRetryReply 関数と SetMessagePendingDelay 関数を使って制御します。SetRetryReply は、呼び出し元のアプリケーションが、その呼び出しを再試行するまでにどれくらい待つかを指定します。SetMessagePendingDelay は、呼び出し元のアプリケーションが、次の動作を行う前にサーバーからの応答をどれくらい待つかを指定します。

通常、既定の実装で十分であり、変更する必要はありません。フレームワークは、呼び出しが処理されるか、保留中のメッセージの遅延時間が経過するまで、nRetryReply で指定したミリ秒ごとに呼び出しを再試行します。nRetryReply に 0 を指定するとすぐに再試行され、- 1 を指定すると呼び出しがキャンセルされます。

保留中のメッセージの遅延時間が経過すると、OLE のサーバーがビジー状態であることを示すダイアログ ボックス (COleBusyDialog を参照) が表示され、ユーザーはその呼び出しをキャンセルするか、再試行するかを選択できます。EnableBusyDialog は、このダイアログ ボックスを有効または無効にします。

呼び出し中にキーボードまたはマウス メッセージが保留状態にされているときに呼び出しが時間切れになると (保留中のメッセージの遅延時間が経過すると)、サーバーが応答しない状態を示すダイアログ ボックスが表示されます。このダイアログ ボックスを有効または無効にするには、EnableNotRespondingDialog を呼び出します。通常、この状態は何か問題があることを示しており、ユーザーは待たされます。

ダイアログが無効にされているときにビジー状態のアプリケーションを呼び出すと、現行の "再試行" の応答が返ります。

必要条件

ヘッダー : afxole.h

参照

参照

COleMessageFilter クラス

階層図

COleBusyDialog クラス

COleMessageFilter::EnableNotRespondingDialog

COleMessageFilter::EnableBusyDialog

COleMessageFilter::SetMessagePendingDelay

その他の技術情報

COleMessageFilter のメンバ