I am attempting to create a simple 64 bit win32 test application that loads a simple 64 bit MFC DLL. I created a test function within the DLL that takes in a pointer to an integer. This function is an exported DLL function. I load the DLL in the executable. I get access to the exported function. I call the DLL function, sending it a pointer to an integer where the value is = to 100. I then step into the DLL function using the debugger. Within the DLL function the address of the integer pointer is undefined or NULL. So the pointer was not passed properly. Now, if I rebuild the application and DLL using the 32 bit compilers then all problems go away. The integer pointer is passed without any issues into the DLL function and I can see the value (100).
Lesson 2. Support of 32-bit applications in the 64-bit Windows environment. (Why cannot 32-bit DLL's be used in a 64-bit program? Is there a way to evade this limitation?)