BufAfterReqCompletedIntIoctl 規則 (kmdf)
BufAfterReqCompletedIntIoctl 規則會指定在要求完成之後,只能在 EvtIoInternalDeviceControl 回呼函式記憶體取其緩衝區) (。 呼叫 WdfRequestRetrieveOutputBuffer 或 WdfRequestRetrieveUnsafeUserOutputBuffer 或 WdfRequestRetrieveInputBuffer 或 WdfRequestRetrieveUnsafeUserInputBuffer 來擷取緩衝區。
在 EvtIoInternalDeviceControl I/O 佇列事件回呼函式中,呼叫 WdfRequestRetrieveInputBuffer、 WdfRequestRetrieveOutputBuffer、 WdfRequestRetrieveUnsafeUserInputBuffer 或 WdfRequestRetrieveUnsafeUserOutputBuffer 之後無法存取要求緩衝區。 要求已完成,方法是呼叫 WdfRequestComplete、WdfRequestCompleteWithInformation 或 WdfRequestComplete、WdfRequestCompleteWithPriorityBoost。 請考慮下列可能的緩衝區存取函式: WdfRequestRetrieveOutputBuffer、 WdfRequestRetrieveUnsafeUserOutputBuffer、 WdfRequestRetrieveInputBuffer 和 WdfRequestRetrieveUnsafeUserInputBuffer。
驅動程式模型:KMDF
測試方法
在編譯時期 |
---|
執行 靜態驅動程序驗證器 ,並指定 BufAfterReqCompletedIntIoctl 規則。 使用下列步驟來執行程式碼的分析:如需詳細資訊,請參閱 使用靜態驅動程式驗證器尋找驅動程式中的瑕疵。 |
適用於
WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveBufferWdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserInputBufferWdfRequestRetrieveUnsafeUserOutputBuffer