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 に設定した場合、Cancel も TRUE である必要があります。それ以外の場合は、バグ チェックが発生します。
[in] Wait
タイマーが既に期限切れのプロセスを開始している場合に、タイマーの有効期限が終了するまで待機するかどうか。 TRUE の場合、ルーチンはタイマーの有効期限が切れるのを待機します。 FALSE の場合、ルーチンは待機しません。 詳細については、「解説」を参照してください。
[in] Parameters
EXT_DELETE_PARAMETERS構造体へのポインター。 呼び出し元のドライバーは、この構造体を初期化するために ExInitializeDeleteTimerParameters ルーチンを以前に呼び出しました。
戻り値
Cancel が TRUE で、タイマーが取り消された場合、このルーチンは TRUE を返します。 それ以外の場合、ルーチンは FALSE を返します。 詳細については、「解説」を参照してください。
注釈
ドライバーがこのルーチンを呼び出した後、Timer が指す タイマー オブジェクトが有効でなくなる可能性があります。 ただし、ExTimerCallback コールバック ルーチンに渡される Timer パラメーター値は、ドライバーがこのルーチンを実装している場合、常にタイマー オブジェクトへの有効なポインターです。
Cancel が TRUE の場合、FALSE の戻り値は、タイマーが設定されなかったか、タイマーが設定されたが、タイマーが取り消される前に期限切れになったことを示します。 Cancel が FALSE の場合、ルーチンは常に FALSE を返します。
Wait が TRUE の場合、このルーチンはブロックできます。 ExDeleteTimer がドライバーの ExTimerCallback ルーチンから呼び出された場合 (DISPATCH_LEVELで呼び出される)、この呼び出しの Wait パラメーターは FALSE である必要があります。
Wait が TRUE の場合、ルーチンは IRQL <= APC_LEVELで呼び出す必要があります。 Wait が FALSE の場合、ルーチンは IRQL <= DISPATCH_LEVELで呼び出すことができます。
詳細については、「 System-Allocated タイマー オブジェクトの削除」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8.1以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | Ntoskrnl.lib |
IRQL | 「解説」を参照してください。 |