共用方式為


BufAfterReqCompletedIntIoctl 規則 (kmdf)

BufAfterReqCompletedIntIoctl 規則會指定在要求完成之後,只能在 EvtIoInternalDeviceControl 回呼函式記憶體取其緩衝區) (。 呼叫 WdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserOutputBufferWdfRequestRetrieveInputBufferWdfRequestRetrieveUnsafeUserInputBuffer 來擷取緩衝區。

EvtIoInternalDeviceControl I/O 佇列事件回呼函式中,呼叫 WdfRequestRetrieveInputBufferWdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserInputBufferWdfRequestRetrieveUnsafeUserOutputBuffer 之後無法存取要求緩衝區。 要求已完成,方法是呼叫 WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestComplete、WdfRequestCompleteWithPriorityBoost 請考慮下列可能的緩衝區存取函式: WdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserOutputBufferWdfRequestRetrieveInputBufferWdfRequestRetrieveUnsafeUserInputBuffer

驅動程式模型:KMDF

測試方法

在編譯時期

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

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

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

適用於

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveBufferWdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserInputBufferWdfRequestRetrieveUnsafeUserOutputBuffer