次の方法で共有


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 場合、タイマーが設定されている場合、ルーチンはタイマーを取り消しません。 呼び出し元 待機 を TRUE に設定する場合は、キャンセル も TRUE する必要があります。それ以外の場合は、バグ チェックが発生します。

[in] Wait

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

[in] Parameters

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

戻り値

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

備考

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

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

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

待機 が TRUE 場合は、IRQL <= APC_LEVEL でルーチンを呼び出す必要があります。 Wait が FALSE 場合、IRQL <= DISPATCH_LEVEL でルーチンを呼び出すことができます。

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

必要条件

要件 価値
サポートされる最小クライアント Windows 8.1 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ Ntoskrnl.lib
IRQL 「解説」を参照してください。

関連項目

EXT_DELETE_PARAMETERS

EX_TIMER

ExAllocateTimer

ExInitializeDeleteTimerParameters する

ExTimerCallback する

ExTimerDeleteCallback