MdlAfterReqCompletedWriteA 規則 (kmdf)

MdlAfterReqCompletedWriteA 規則會指定在 EvtIoWrite 回呼函式內,在 I/O 要求完成後,無法存取擷取的記憶體描述元清單 (MDL) 物件。

在裝置 I/O 佇列的驅動程式 EvtIoWrite 回呼函式中,呼叫 I/O 要求上的 WdfRequestRetrieveInputWdmMdl 方法時,無法存取所擷取的要求緩衝區。

此規則會考慮下列 MDL 存取函式:

WDF_MEMORY_DESCRIPTOR_INIT_MDLMmGetMdlByteCountMmGetSystemAddressForMdlSafeMmGetMdlVirtualAddressIoBuildPartialMdl (first 和第二個參數) KeFlushIoBuffersmmGetMdlPfnArraymmGetMdlByteOffsetmmPrepareMdlForReuseWdfDmaTransactionInitialize

驅動程式模型:KMDF

測試方法

在編譯時期

執行 靜態驅動程式驗證器 ,並指定 MdlAfterReqCompletedWriteA 規則。

使用下列步驟來執行程式碼的分析:
  1. 準備程式代碼 (使用角色類型宣告) 。
  2. 執行靜態驅動程式驗證程式。
  3. 檢視和分析結果。

如需詳細資訊,請參閱 使用靜態驅動程式驗證器尋找驅動程式中的瑕疵

適用於

WDF_MEMORY_DESCRIPTOR_INIT_MDLWdfDmaTransactionInitializeWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlIoBuildPartialMdlKeFlushIoBuffersMmGetMdlByteCountMmGetMdlByteOffsetMmGetMdlPfnArrayMmGetMdlVirtualAddressMmGetSystemAddressForMdlSafeMmPrepareMdlForReuse