>
>
What is the POINTER_32 macro?

Andrey Karpov
Articles: 671

What is the POINTER_32 macro?

The POINTER_32 macro is a standard Windows SDK macro usually declared in header files BaseTsd.h, Ntdef.h or Winnt.h.

#ifdef (__AXP64__)
  #define POINTER_32 _ptr32
#else
  #define POINTER_32
#endif

This macro is used as an extension of the MSVC compiler to declare 32-bit pointers in the code that uses both the 32-bit and 64-bit data models. This may be required, for example, when you need to implement interprocess cooperation of a 64-bit program with a 32-bit process. That's why don't replace such pointers with 64-bit ones when porting a 32-bit project if you don't know the context.

References