This paper provides information about allocating and using memory in kernel-mode drivers for the Windows family of operating systems. It describes the types of memory that are available for driver use, the appropriate techniques for allocating and using each type, and the best ways to test for memory-related problems.
This information applies for the following operating systems:
Microsoft Windows Vista
Microsoft Windows Server 2003
Microsoft Windows XP
Microsoft Windows 2000
Included in this white paper:
| • | Virtual and Physical Memory |
| • | Virtual Address Space |
| • | Physical Address Space |
| • | Memory Descriptor Lists |
| • | Pool Memory |
| • | Kernel Stack |
| • | Memory Allocation Techniques |
| • | Accessing Device Registers |
| • | Accessing Memory for I/O Buffers |
| • | Mapping Device Memory and Registers into User Space |
| • | Shared Memory and Synchronization |
| • | Testing and Troubleshooting |