共用方式為


IRQL 規則集 (NDIS)

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

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

本節中

主題 說明

Flags_Irql

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

正確使用分派層級旗標可協助您避免不必要的嘗試來設定 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 規則會指定與中斷相關的 NDIS 函式必須在正確的 IRQL 層級呼叫。

Irql_IrqlSetting_Function

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

Irql_MCM_Function

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

Irql_MCO_Function

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

Irql_Miniport_Driver_Function

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

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. 在 Visual Studio Microsoft中選取您的驅動程式專案 (.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)