共用方式為


IRQL 規則集 (NDIS)

使用這些規則來確認您的驅動程式在必要的 IRQL 進行 DDI 呼叫。

未遵循 IRQL 規則的驅動程式可能會導致作業期間發生嚴重問題,導致死結狀況或電腦當機。

本節內容

主題 描述

Flags_Irql

Flags_Irql規則指定在回呼函式中,不得呼叫KeGetCurrentIrql,該函式具有指出目前IRQL的分派層級旗標參數。

分派層級旗標的正確用法可協助您避免不必要地嘗試設定 IRQL。 如需如何使用此旗標的詳細資訊,請參閱 分派 IRQL 追蹤

Irql_CallManager_Function

Irql_CallManager_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS CallManager 的 NDIS 函式。

Irql_Connection_Function

Irql_Connection_Function規則指定必須在正確的 IRQL 層級呼叫通訊協定驅動程式的 NDIS 連線函式。

Irql_Filter_Driver_Function

Irql_Filter_Driver_Function規則會指定必須在正確的 IRQL 層級呼叫篩選驅動程式的 NDIS 函式。

Irql_Gather_DMA_Function

Irql_Gather_DMA_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 散佈/收集 DMA 函式。

Irql_IM_Function

Irql_IM_Function規則指定必須在正確的 IRQL 層級呼叫中繼 (IM) 驅動程式的 NDIS 函式。

Irql_Interfaces_Function

Irql_Interfaces_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 網路介面函式。

Irql_Interrupt_Function

Irql_Interrupt_Function規則指定必須在正確的 IRQL 層級呼叫中斷的 NDIS 函式。

Irql_IrqlSetting_Function

Irql_IrqlSetting_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 中斷宏。

Irql_MCM_Function

Irql_MCM_Function規則指定必須在正確的 IRQL 層級呼叫驅動程式的 NDIS MCM 函式。

Irql_MCO_Function

Irql_MCO_Function規則指定迷你埠驅動程式的 NDIS MCO DDI 必須在正確的 IRQL 層級呼叫。

Irql_Miniport_Driver_Function

Irql_Miniport_Driver_Function規則指定必須在正確的 IRQL 層級呼叫迷你埠驅動程式的 NDIS 函式。

Irql_Miscellaneous_Function

Irql_Miscellaneous_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 函式。

Irql_NetBuffer_Function

Irql_NetBuffer_Function規則指定必須在正確的 IRQL 層級呼叫NET_BUFFER相關函式。

Irql_OID_Function

Irql_OID_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS OID 要求 DDI。

Irql_Protocol_Driver_Function

Irql_Protocol_Driver_Function規則指定必須在正確的 IRQL 層級呼叫 CoNDIS 用戶端的 NDIS 函式。

Irql_SendRcv_Function

Irql_SendRcv_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 驅動程式的傳送和接收函式。

Irql_StatusIndication_Function

Irql_StatusIndication_Function規則指定必須在正確的 IRQL 層級呼叫迷你埠和篩選驅動程式的 NDIS 狀態指示函式。

Irql_Synch_Function

Irql_Synch_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 中斷和同步處理 DDI。

Irql_Timer_Function

Irql_Timer_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 定時器服務函式。

若要選取 Irql 規則集

  1. 在 Microsoft Visual Studio 中選取驅動程式項目 (.vcxProj) 。 從 [ 驅動程式 ] 功能表中,按兩下 [ 啟動靜態驅動程序驗證程式...]。

  2. 按兩下 [ 規則] 索引標籤 。在 [規則集] 底下,選取 [Irql]。

    若要從 Visual Studio 開發人員命令提示字元視窗中選取預設規則集,請使用 /check 選項指定 Irql.sdv。 例如:

    msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    如需詳細資訊,請參閱 使用靜態驅動程式驗證器在驅動程式靜態驅動程式驗證器命令 中尋找瑕疵 (MSBuild) 。