A call to the MmAdvanceMdl routine may unlock memory (838227)



The information in this article applies to:

  • Microsoft Windows XP Driver Development Kit (DDK)
  • Microsoft Windows Server 2003 Driver Development Kit (DDK)

INTRODUCTION

The MmAdvanceMdl routine takes the specified memory descriptor list (MDL) and advances the specified MDL forward by the specified number of bytes.

If this action causes the MDL to advance past the initial page, the pages that are advanced over are immediately unlocked. Both the system virtual address that maps the MDL and the user address are adjusted.

MORE INFORMATION

Warning The kernel mode code that calls the MmAdvanceMdl routine must be aware that the pages that are advanced are immediately reused. Therefore, neither the advanced pages nor the virtual address are to be referenced by the caller after the routine has been called.

REFERENCES

For more information about the MmAdvanceMdl routine, see the Microsoft Windows Driver Development Kit (DDK).

Modification Type:MajorLast Reviewed:3/23/2004
Keywords:kbToolkit kbHardware kbDriver kbDev kbDDK kbinfo KB838227 kbAudDeveloper