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::EnableNotRespondingDialog
COleMessageFilter::EnableBusyDialog
COleMessageFilter::SetMessagePendingDelay