Question

When building a kernel mode device driver (KMDF) on Windows with Visual Studio 2013, there are 32 bit and x64 bit build options. The question is this: When installing the device drivers on the target machines, will the 32 bit builds run on a 64 bit OS or do I need to make sure to get an x64 build on the 64 bit OS?

(I'm assuming the x64 build won't run on a 32 bit OS, but would appreciate any insight here, as well).

Was it helpful?

Solution

Explicit reference here:

Emphasis mine.

For user-mode applications, 64-bit Windows includes a Windows on Windows (WOW64) thunking layer that enables 32-bit applications to execute (with some performance degradation) on 64-bit versions of Windows. It does this by intercepting 32-bit function calls and converting pointer-precision parameter types to fixed-precision types as appropriate before making the transition to the 64-bit kernel. This conversion process is called thunking. Note This thunking is only done for 32-bit applications; 32-bit drivers are not supported on 64-bit versions of Windows.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top