For the following GRE macro:
GreCreateBitmap( hdc, pbmiHeader, flUsage, pBits, pbmi );
the compiler expands the call as follows:
Gre32Entry7( hdc, pbmiHeader, flUsage, pBits, pbmi, NULL, NGreCreateBitmap );
Note the two additional parameters. The NULL is a pointer to instance data for the device drawing context (DC). The graphics engine supplies the correct pointer when it dispatches the function to the device driver. NGreCreateBitmap is a combination of command drawing flags in the high word and requested function number in the low word. The graphics engine sets the command flags when it dispatches the function to the device driver.