[ros-dev] [ros-diffs] [tkreuzer] 44274: Mm64BitPhysicalAddress is a BOOLEAN, not a PBOOLEAN

Timo Kreuzer timo.kreuzer at web.de
Tue Nov 24 15:38:09 CET 2009


Alexander Potashev wrote:
> Hi,
> Ok, commenting here...
>
> MSDN says that Mm64BitPhysicalAddress is PBOOLEAN:
> http://msdn.microsoft.com/en-us/library/bb648424.aspx
>
> So, there should be another BOOLEAN variable, and
> Mm64BitPhysicalAddress should point to it.
>   
No, that's just because of the way msvc handles imports.
In fact the variable is a BOOLEAN, you just treat it as PBOOLEAN when
you import it from your driver.
A correct definition would be "__declspec(dllimport) BOOLEAN
Mm64BitPhysicalAddress;", which would internally be treated as a
reference to "_imp__Mm64BitPhysicalAddress", which is a pointer to the
real variable stored in ntoskrnl. This way it must be handled on gcc.

Regards,
Timo




More information about the Ros-dev mailing list