typedef struct mystruct { /* Define data structure */
CHAR * _Seg16 Name;
ULONG ulA;
ULONG ulB;
USHORT usC;
} MYSTRUCT;
pragma seg16(MYSTRUCT) /* Define pragma directive */
MYSTRUCT * _Seg16 MyStruct; /* 16:16 pointer */
APIRET rc; /* Return code */
MPARAM mp1; /* Message parameter */
rc = DosAllocMem(&MyStruct, /* Allocate data structure */
4096, /* Size of data structure */
PAG_READ | /* Allow read access */
PAG_WRITE | /* Allow write access */
PAG_COMMIT); /* Commit storage immediately */
<Initialize structure if required>
mp1 = MPFROMP(MyStruct); /* Set message parameter */
This example shows the 32-bit code necessary to define and initialize a 16:16 pointer to be passed to a 16-bit window procedure.