NdisSetTimerObject 関数 (ndis.h)
NdisSetTimerObject 関数は、指定した間隔または定期的に発生するタイマー オブジェクトを設定します。
構文
BOOLEAN NdisSetTimerObject(
[in] NDIS_HANDLE TimerObject,
[in] LARGE_INTEGER DueTime,
[in, optional] LONG MillisecondsPeriod,
[in, optional] PVOID FunctionContext
);
パラメーター
[in] TimerObject
ドライバーが呼び出されたときに NDIS が提供するタイマー オブジェクトへのハンドルNdisAllocateTimerObject 関数を します。
[in] DueTime
タイマーの有効期限が切れる絶対時間または相対時間。 DueTime パラメーターの値が負の場合、有効期限は現在のシステム時刻を基準とします。 それ以外の場合、有効期限は絶対です。 有効期限は、システム時間単位 (100 ナノ秒間隔) で表されます。 絶対有効期限は、システム時刻の変更を追跡します。相対有効期限は、システム時刻の変更の影響を受けません。
[in, optional] MillisecondsPeriod
タイマーが起動するたびに、タイマーがキャンセルされない限り、NetTimerCallback 関数の次の呼び出しまでの間隔 (ミリ秒単位)。 このパラメーターの値は MAXLONG 以下である必要があります。
[in, optional] FunctionContext
タイマーが発生したときに、関連付けられた NetTimerCallback 関数に NDIS が渡す呼び出し元が指定したコンテキスト領域へのポインター。 このパラメーターが NULL 場合、NDIS では、〟で指定された既定値が使用されます。 NDIS_TIMER_CHARACTERISTICS 構造体。
戻り値
NdisSetTimerObject は、タイマー オブジェクトが既にシステム タイマー キューに存在していた場合 TRUE を返します。それ以外の場合は、FALSE 返します。
備考
ドライバーが NdisSetTimerObject 呼び出した後、タイマー オブジェクトは、DueTime パラメーターで指定された間隔が切れるまでキューに入れられます。 間隔が切れると、タイマー オブジェクトがデキューされ、プロセッサが使用可能になるとすぐに、呼び出し元が指定した NetTimerCallback 関数が IRQL = DISPATCH_LEVEL で 1 回実行されます。
MillisecondsPeriod パラメーターに 0 以外の値が指定されている場合、タイマー オブジェクトは、MillisecondsPeriod で指定された間隔が経過するまで、もう一度キューに入れられます。 この間隔が経過すると、タイマー オブジェクトが再キューされ、プロセッサが使用可能になるとすぐに、呼び出し元から提供された NetTimerCallback 関数が IRQL = DISPATCH_LEVEL で 1 回実行されます。
タイマーを取り消すには、NdisCancelTimerObject 関数を呼び出します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ndis.h (Ndis.h を含む) |
ライブラリ | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | Irql_Timer_Function(ndis)、PeriodicTimer(ndis) |
関連項目
NdisAllocateTimerObject の
NdisCancelTimerObject の
NdisSetCoalescableTimerObject のNetTimerCallback の