MarkingInterlockedQueuedIrpsルール (wdm)
MarkingInterlockedQueuedIrps ルールは、ドライバーがさらに処理するためにインターロック方式でキューに登録する前にIRP を保留中として正しくマークするよう指定します。
また、この規則では、ドライバーが IoMarkIrpPending を呼び出し、IRP を保留中として正しくマークしてから、次のいずれかの関数を呼び出して、IRP をインターロックされたキューに追加することも指定します。
ドライバーは、インターロックされたキューにより多くの処理を必要とする IRP を追加する前に IoMarkIrpPending を呼び出す必要があります。 そうしないと、IRP がデキューされ、別のドライバー ルーチンによって完了され、 IoMarkIrpPending の呼び出しが発生する前にシステムによって解放され、クラッシュが発生する可能性があります。
詳細については、 「IRP キャンセルの同期」を参照してください。
ドライバーモデル: WDM
テスト方法
コンパイル時 |
---|
静的ドライバー検証ツール を実行し、 MarkingInterlockedQueuedIrps 規則を指定します。 コードの分析を実行するには、次の手順に従います。詳細については、 「静的ドライバー検証ツールを使用してドライバー の欠陥を見つける」を参照してください。 |
適用対象
ExInterlockedInsertHeadListExInterlockedInsertTailListExInterlockedPushEntryListIoMarkIrpPendingRemoveHeadList