ExDeleteTimer 関数 (wdm.h)

ExDeleteTimer ルーチンは、ExAllocateTimer ルーチンによって以前に割り当てられたタイマー オブジェクトを削除します。

構文

BOOLEAN ExDeleteTimer(
  [in] PEX_TIMER              Timer,
  [in] BOOLEAN                Cancel,
  [in] BOOLEAN                Wait,
  [in] PEXT_DELETE_PARAMETERS Parameters
);

パラメーター

[in] Timer

EX_TIMER構造体へのポインター。 この構造体は、 ExAllocateTimer ルーチンによって以前に割り当てられたタイマー オブジェクトです。

[in] Cancel

タイマーが現在設定されている場合に、タイマーを取り消すかどうか。 TRUE の場合、タイマーが設定されている場合、ルーチンはタイマーを取り消します。 FALSE の場合、タイマーが設定されている場合、ルーチンはタイマーを取り消しません。 呼び出し元が Wait を TRUE に設定した場合、CancelTRUE である必要があります。それ以外の場合は、バグ チェックが発生します。

[in] Wait

タイマーが既に期限切れのプロセスを開始している場合に、タイマーの有効期限が終了するまで待機するかどうか。 TRUE の場合、ルーチンはタイマーの有効期限が切れるのを待機します。 FALSE の場合、ルーチンは待機しません。 詳細については、「解説」を参照してください。

[in] Parameters

EXT_DELETE_PARAMETERS構造体へのポインター。 呼び出し元のドライバーは、この構造体を初期化するために ExInitializeDeleteTimerParameters ルーチンを以前に呼び出しました。

戻り値

Cancel が TRUE で、タイマーが取消された場合、このルーチンは TRUE を返します。 それ以外の場合、ルーチンは FALSE を返します。 詳細については、「解説」を参照してください。

注釈

ドライバーがこのルーチンを呼び出した後、Timer が指す タイマー オブジェクトが有効でなくなる可能性があります。 ただし、ExTimerCallback コールバック ルーチンに渡される Timer パラメーター値は、ドライバーがこのルーチンを実装している場合、常にタイマー オブジェクトへの有効なポインターです。

CancelTRUE の場合、FALSE の戻り値は、タイマーが設定されなかったか、タイマーが設定されたが、タイマーが取り消される前に期限切れになったことを示します。 CancelFALSE の場合、ルーチンは常に FALSE を返します

WaitTRUE の場合、このルーチンはブロックできます。 ExDeleteTimer がドライバーの ExTimerCallback ルーチンから呼び出された場合 (DISPATCH_LEVELで呼び出される)、この呼び出しの Wait パラメーターは FALSE である必要があります。

WaitTRUE の場合、ルーチンは IRQL <= APC_LEVELで呼び出す必要があります。 WaitFALSE の場合、ルーチンは IRQL <= DISPATCH_LEVELで呼び出すことができます。

詳細については、「 System-Allocated タイマー オブジェクトの削除」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 8.1以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library Ntoskrnl.lib
IRQL 「解説」を参照してください。

こちらもご覧ください

EXT_DELETE_PARAMETERS

EX_TIMER

ExAllocateTimer

ExInitializeDeleteTimerParameters

ExTimerCallback

ExTimerDeleteCallback