IRQL 規則集 (NDIS)
使用這些規則來確認您的驅動程式在必要的 IRQL 進行 DDI 呼叫。
未遵循 IRQL 規則的驅動程式可能會導致作業期間發生嚴重問題,導致死結狀況或電腦當機。
本節內容
主題 | 描述 |
---|---|
Flags_Irql規則指定在回呼函式中,不得呼叫KeGetCurrentIrql,該函式具有指出目前IRQL的分派層級旗標參數。 分派層級旗標的正確用法可協助您避免不必要地嘗試設定 IRQL。 如需如何使用此旗標的詳細資訊,請參閱 分派 IRQL 追蹤。 |
|
Irql_CallManager_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS CallManager 的 NDIS 函式。 |
|
Irql_Connection_Function規則指定必須在正確的 IRQL 層級呼叫通訊協定驅動程式的 NDIS 連線函式。 |
|
Irql_Filter_Driver_Function規則會指定必須在正確的 IRQL 層級呼叫篩選驅動程式的 NDIS 函式。 |
|
Irql_Gather_DMA_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 散佈/收集 DMA 函式。 |
|
Irql_IM_Function規則指定必須在正確的 IRQL 層級呼叫中繼 (IM) 驅動程式的 NDIS 函式。 |
|
Irql_Interfaces_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 網路介面函式。 |
|
Irql_Interrupt_Function規則指定必須在正確的 IRQL 層級呼叫中斷的 NDIS 函式。 |
|
Irql_IrqlSetting_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 中斷宏。 |
|
Irql_MCM_Function規則指定必須在正確的 IRQL 層級呼叫驅動程式的 NDIS MCM 函式。 |
|
Irql_MCO_Function規則指定迷你埠驅動程式的 NDIS MCO DDI 必須在正確的 IRQL 層級呼叫。 |
|
Irql_Miniport_Driver_Function規則指定必須在正確的 IRQL 層級呼叫迷你埠驅動程式的 NDIS 函式。 |
|
Irql_Miscellaneous_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 函式。 |
|
Irql_NetBuffer_Function規則指定必須在正確的 IRQL 層級呼叫NET_BUFFER相關函式。 |
|
Irql_OID_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS OID 要求 DDI。 |
|
Irql_Protocol_Driver_Function規則指定必須在正確的 IRQL 層級呼叫 CoNDIS 用戶端的 NDIS 函式。 |
|
Irql_SendRcv_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 驅動程式的傳送和接收函式。 |
|
Irql_StatusIndication_Function規則指定必須在正確的 IRQL 層級呼叫迷你埠和篩選驅動程式的 NDIS 狀態指示函式。 |
|
Irql_Synch_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 中斷和同步處理 DDI。 |
|
Irql_Timer_Function規則指定必須在正確的 IRQL 層級呼叫 NDIS 定時器服務函式。 |
若要選取 Irql 規則集
在 Microsoft Visual Studio 中選取驅動程式項目 (.vcxProj) 。 從 [ 驅動程式 ] 功能表中,按兩下 [ 啟動靜態驅動程序驗證程式...]。
按兩下 [ 規則] 索引標籤 。在 [規則集] 底下,選取 [Irql]。
若要從 Visual Studio 開發人員命令提示字元視窗中選取預設規則集,請使用 /check 選項指定 Irql.sdv。 例如:
msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
如需詳細資訊,請參閱 使用靜態驅動程式驗證器在驅動程式 和 靜態驅動程式驗證器命令 中尋找瑕疵 (MSBuild) 。