MemAfterReqCompletedIntIoctlA ルール (kmdf)
MemAfterReqCompletedIntIoctlA ルールは、EvtIoInternalDeviceControl コールバック関数内で、I/O 要求の完了後にフレームワーク メモリ オブジェクトにアクセスできないことを指定します。
ドライバーの EvtIoInternalDeviceControl コールバック関数内では、WdfRequestRetrieveInputMemory メソッドまたは WdfRequestRetrieveOutputMemory メソッドを呼び出して取得したフレームワーク メモリ オブジェクトは、I/O 要求で WdfRequestComplete、WdfRequestCompleteWithInformation、または WdfRequestCompleteWithPriorityBoost を呼び出した後にアクセスできません。
このルールでは、次のメモリ アクセス方法が考慮されます。
WdfMemoryGetBufferWDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyToBufferWdfMemoryCopyFromBufferWdfObjectReferenceWdfObjectDereferenceWdfObjectDelete
ドライバーモデル: KMDF
テスト方法
コンパイル時 |
---|
静的ドライバー検証ツール を実行し、MemAfterReqCompletedIntIoctlA ルールを指定します。 コードの分析を実行するには、次の手順に従います。詳細については、 「静的ドライバー検証ツールを使用してドライバー の欠陥を見つける」を参照してください。 |
適用対象
WDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryGetBufferWdfObjectDeleteWdfObjectDereferenceWdfObjectReferenceWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputMemoryWdfRequestRetrieveOutputMemory