共用方式為


NDIS_TIMER_FUNCTION回呼函式 (ndis.h)

NdisTimerFunction 回呼函式會在驅動程式設定定時器引發時,由 NDIS 呼叫。

Note 您必須使用 NDIS_TIMER_FUNCTION 類型來宣告函式。 如需詳細資訊,請參閱下列範例一節。
 

語法

NDIS_TIMER_FUNCTION NdisTimerFunction;

void NdisTimerFunction(
  [in] PVOID SystemSpecific1,
  [in] PVOID FunctionContext,
  [in] PVOID SystemSpecific2,
  [in] PVOID SystemSpecific3
)
{...}

參數

[in] SystemSpecific1

保留供系統使用之系統特定值的指標。

[in] FunctionContext

驅動程式傳遞至 NdisSetTimerObject 函式的驅動程式提供內容區域的指標。 如果 NdisSetTimerObjectFunctionContext 參數 NULL,NDIS 會使用驅動程式在 中指定的預設值 NDIS_TIMER_CHARACTERISTICS 結構。 驅動程式將 結構傳遞至 NdisAllocateTimerObject 函式,以初始化相關聯的定時器物件。

[in] SystemSpecific2

保留供系統使用之系統特定值的指標。

[in] SystemSpecific3

保留供系統使用之系統特定值的指標。

傳回值

沒有

言論

任何 NDIS 驅動程式都可以有一或多個 NdisTimerFunction 回呼函式。 每個這類 NdisTimerFunction 回呼都必須與不同的驅動程式配置和初始化定時器對象相關聯。

驅動程式會呼叫 來初始化驅動程式配置的定時器物件 NdisAllocateTimerObject 函式。

後續對 NdisSetTimerObject 函式的呼叫會導致與定時器對象相關聯的 NdisTimerFunction 回呼在指定的間隔或定期執行。

若要取消對 NdisTimerFunction的呼叫,請呼叫 NdisCancelTimerObject 函式。 如果逾時已在呼叫 NdisCancelTimerObject之前,NDIS 仍可能會呼叫 NdisTimerFunction

如果 NdisTimerFunction 回呼與其他驅動程式函式共用資源,驅動程式應該同步處理這些資源的存取權與微調鎖定。

範例

若要定義 NdisTimerFunction 函式,您必須先提供函式宣告,以識別您要定義的函式類型。 Windows 提供一組驅動程式的函式類型。 使用函式類型宣告函式有助於 驅動程式的程式代碼分析靜態驅動程序驗證器 (SDV)和其他驗證工具尋找錯誤,而且是撰寫 Windows作系統驅動程式的需求。

例如,若要定義名為 「MyTimerCallback」 的 NdisTimerFunction 函式,請使用 NDIS_TIMER_FUNCTION 類型,如下列程式代碼範例所示:

NDIS_TIMER_FUNCTION MyTimerCallback;

然後,實作您的函式,如下所示:

_Use_decl_annotations_
VOID
 MyTimerCallback(
    PVOID  SystemSpecific1,
    PVOID  FunctionContext,
    PVOID  SystemSpecific2,
    PVOID  SystemSpecific3
    )
  {...}

NDIS_TIMER_FUNCTION 函式類型定義於 Ndis.h 頭檔中。 若要在執行程式代碼分析工具時更準確地識別錯誤,請務必將 Use_decl_annotations 批註新增至函式定義。 Use_decl_annotations 批注可確保在頭檔中套用至 NDIS_TIMER_FUNCTION 函式類型的批注。 如需函式宣告需求的詳細資訊,請參閱 使用 NDIS 驅動程式的函式角色類型來宣告函式

如需 Use_decl_annotations的相關信息,請參閱 批注函式行為

要求

要求 價值
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平臺 窗戶
標頭 ndis.h (包括 Ndis.h)
IRQL DISPATCH_LEVEL

另請參閱

初始化 NDIS 定時器

NDIS_TIMER_CHARACTERISTICS

NdisAllocateTimerObject

NdisCancelTimerObject

NdisSetTimerObject

服務定時器

設定和清除定時器