Instead of using the SELECTOROF macro in the OS2DEF.H header file, use one of the following two macros to obtain the selector of a 16:16 address :
#define SELECTOROF(p) (((PUSHORT)&(p))[1]) OR #define SELECTOROF(p) ((ULONG)(p)>>16)
If you use the selector returned from one of the above macros with the OFFSETOF and MAKEP macros in the OS2DEF.H header file, you can successfully convert a 16:16 address to a 0:32 address.