Search code examples
documentation64-bitdriverkmdf

Guides for adding 64-bit support to a KMDF driver


Are there any guides or documentation for adding 64-bit support to a KMDF driver? I have a good set of links for WDM drivers, but it would be nice to see a KMDF-specific guide showing what KMDF handles for you and what the driver needs to handle.

EDIT: Here are the links I have so far:
Programming Issues for 64-bit Drivers (Windows Driver Kit)
64-bit Guidelines
Checklist for 64-bit Microsoft Windows Drivers


Solution

  • The issues are exactly the same, whether you use KMDF or WDM.

    • You need to make sure that your driver contains no code that assumes that pointers or handles are the same size as integers.

    • You need to use the DMA functions, not assuming that your device can address all of memory.

    • You need to recompile and test.

    • You need to avoid floating point code in drivers.