ChangeIdleRoutineChangeIdleRoutine

適用されます: OutlookApplies to: Outlook

FNIDLEベース アイドル ルーチンの特性の一部またはすべてを変更します。Changes some or all of the characteristics of a FNIDLE based idle routine.

ヘッダー ファイル:Header file:
Mapiutil.hMapiutil.h
によって実装されます。Implemented by:
MAPIMAPI
によって呼び出されます。Called by:
クライアント アプリケーションとサービス ・ プロバイダーClient applications and service providers
VOID ChangeIdleRoutine(
  FTG ftg,
  PFNIDLE pfnIdle,
  LPVOID pvIdleParam,
  short priIdle,
  ULONG csecIdle,
  USHORT iroIdle,
  USHORT ircIdle
);

ParametersParameters

ftgftg

[in]アイドル ルーチンを識別するタグを機能します。[in] Function tag that identifies the idle routine.

pfnIdlepfnIdle

[in]アイドル ルーチンへのポインター。[in] Pointer to the idle routine.

pvIdleParampvIdleParam

[in]新しいアイドル ルーチンの実装を呼び出し元が割り当てたメモリ ブロックへのポインター。[in] Pointer to a new block of memory that the calling implementation allocates for the idle routine.

priIdlepriIdle

[in]アイドル ルーチンの新しい優先度を表す値。[in] Value representing a new priority for the idle routine. ルーチンの実装で定義可能な優先度よりも大きいか小さいは、0 が 0 ではありません。Possible priorities for implementation-defined routines are greater than or less than zero, but not zero. 0 の値は、マウスのクリックや、WM_PAINT メッセージなどのユーザー イベントに予約されています。A value of zero is reserved for a user event such as a mouse click or a WM_PAINT message. ゼロより大きい値は、ユーザー イベントよりも優先順位が高いと、Windows メッセージ ポンプの標準的なループの一部としてディスパッチをバック グラウンド タスクの優先順位を表します。Values greater than zero represent priorities for background tasks that have a higher priority than user events and are dispatched as part of the standard Windows message pump loop. メッセージ ポンプのアイドル時間中にのみ実行しているアイドル状態のタスクの優先順位を表す 0 より小さい値です。Values less than zero represent priorities for idle tasks that only run during message-pump idle time. 優先順位の例としては: 前景の提出書類の 1、1 電源編集文字の挿入、および新着メッセージをダウンロードするための 3。Examples of priorities are: 1 for foreground submission, 1 for power-edit character insertion, and 3 for downloading new messages.

csecIdlecsecIdle

[in]時間を 100 分の 1 秒間、アイドル状態のルーチンに適用します。[in] A new time, in hundredths of a second, to apply to the idle routine. 初期時刻の値の意味は、 _iroIdle_パラメーターに渡される内容によって異なります。The meaning of the initial time value varies, depending on what is passed in the iroIdle parameter. できます。It can be:

  • ユーザー何もしなかったため、MAPI の前に、までに必要な最小期間アイドル状態のエンジン ルーチンを呼び出すとアイドルを最初に、 _iroIdle_に FIROWAIT フラグが設定されている場合。The minimum period of user inaction that must elapse before the MAPI idle engine calls the idle routine for the first time, if the FIROWAIT flag is set in iroIdle. この時間が経過した後、アイドル状態のエンジンでは必要に応じてアイドル ルーチンを呼び出すことができます。After this time passes, the idle engine can call the idle routine as often as necessary.

  • _IroIdle_に FIROINTERVAL フラグが設定されている場合、アイドル状態のルーチンへの呼び出しの間の最小間隔。The minimum interval between calls to the idle routine, if the FIROINTERVAL flag is set in iroIdle.

iroIdleiroIdle

[in]アイドル ルーチンを呼び出すための新しいオプションを示すフラグのビットマスクです。[in] Bitmask of flags indicating new options for calling the idle routine. 次のフラグの 1 つだけを設定する必要があります。Exactly one of the following flags must be set:

  • FIROINTERVAL: _csecIdle_パラメーターによって指定される時間は、アイドル状態のルーチンへの連続呼び出しの間の最小の間隔です。FIROINTERVAL: The time specified by the csecIdle parameter is the minimum interval between successive calls to the idle routine.

  • FIROONCEONLY: 古い形式です。FIROONCEONLY: Obsolete. 使用しないでください。Do not use.

  • FIROPERBLOCK: 古い形式です。FIROPERBLOCK: Obsolete. 使用しないでください。Do not use.

  • FIROWAIT: _csecIdle_パラメーターによって指定される時間は、ユーザー何もしなかったため、MAPI アイドル エンジンは、最初にアイドル ルーチンを呼び出す前に必要な経過時間の最小期間です。FIROWAIT: The time specified by the csecIdle parameter is the minimum period of user inaction that must elapse before the MAPI idle engine calls the idle routine for the first time. この時間が経過した後、アイドル状態のエンジンでは必要に応じてアイドル ルーチンを呼び出すことができます。After this time passes, the idle engine can call the idle routine as often as necessary.

ircIdleircIdle

[in]アイドル ルーチンに変更を示すために使用されるフラグのビットマスクです。[in] Bitmask of flags used to indicate the changes to be made to the idle routine. 任意の組み合わせでは、次のフラグを設定できます。The following flags can be set in any combination:

  • FIRCCSEC: アイドル状態のルーチンでは、 _csecIdle_パラメーターで渡された値で示される変更に関連付けられている時間を変更します。FIRCCSEC: A change to the time associated with the idle routine, that is, a change indicated by the value passed in the csecIdle parameter.

  • FIRCIRO: アイドル状態のルーチンでは、オプションの変更は、値で示される変更パラメーターで渡された、 _iroIdle_です。FIRCIRO: A change to the options for the idle routine, that is, a change indicated by the value passed in the iroIdle parameter.

  • FIRCPFN: アイドル状態の日常的なポインターの変更は、値で示される変更パラメーターで渡された、 _pfnIdle_です。FIRCPFN: A change to the idle routine pointer, that is, a change indicated by the value passed in the pfnIdle parameter.

  • FIRCPRI: アイドル状態のルーチンでは、優先順位の変更は、値で示される変更パラメーターで渡された、 _priIdle_です。FIRCPRI: A change to the priority of the idle routine, that is, a change indicated by the value passed in the priIdle parameter.

  • FIRCPV: アイドル状態のルーチンでは、メモリ ブロックへの変更は、値で示される変更パラメーターで渡された、 _pvIdleParam_です。FIRCPV: A change to the memory block of the idle routine, that is, a change indicated by the value passed in the pvIdleParam parameter.

Return valueReturn value

なし。None.

備考Remarks

次の関数では、MAPI アイドル エンジンとFNIDLE関数のプロトタイプに基づくのアイドル処理ルーチンを処理します。The following functions deal with the MAPI idle engine and with idle routines based on the FNIDLE function prototype:

アイドル状態の日常的な関数Idle routine function 使用例Usage
ChangeIdleRoutineChangeIdleRoutine
登録されているアイドル状態のルーチンの特性を変更します。Changes the characteristics of a registered idle routine.
DeregisterIdleRoutineDeregisterIdleRoutine
MAPI システムから登録されているアイドル状態のルーチンを削除します。Removes a registered idle routine from the MAPI system.
EnableIdleRoutineEnableIdleRoutine
無効または MAPI システムから削除することがなく、登録されているアイドル状態のルーチンを再度有効にします。Disables or re-enables a registered idle routine without removing it from the MAPI system.
FtgRegisterIdleRoutineFtgRegisterIdleRoutine
MAPI システム、またはそれを有効にせずに、アイドル状態のルーチンを追加します。Adds an idle routine to the MAPI system, with or without enabling it.
MAPIDeInitIdleMAPIDeInitIdle
呼び出し元のアプリケーションの MAPI アイドル エンジンをシャット ダウンします。Shuts down the MAPI idle engine for the calling application.
MAPIInitIdleMAPIInitIdle
呼び出し元のアプリケーションの MAPI アイドル エンジンを初期化します。Initializes the MAPI idle engine for the calling application.

ChangeIdleRoutineDeregisterIdleRoutine、およびEnableIdleRoutine関数のタグは、 FtgRegisterIdleRoutineによって返される入力パラメーターとして実行します。ChangeIdleRoutine, DeregisterIdleRoutine, and EnableIdleRoutine take as an input parameter the function tag returned by FtgRegisterIdleRoutine.

プラットフォーム用のすべてのフォア グラウンド タスクがアイドル状態になると、MAPI アイドル エンジンは実行する準備が最高の優先順位のアイドル ルーチンを呼び出します。When all foreground tasks for the platform become idle, the MAPI idle engine calls the highest priority idle routine that is ready to execute. 同じ優先順位のアイドル処理ルーチンの間で順序を呼び出すことの保証はありません。There is no guarantee of calling order among idle routines of the same priority.