They didn't do it your way. This is what they added to windows.h:
Code:
typedef DWORD COLORREF;
typedef struct CHOOSECOLOR {
long lStructSize;
long hwndOwner;
long hInstance;
COLORREF rgbResult;
COLORREF *lpCustColors;
long Flags;
long lCustData;
long lpfnHook;
char* lpTemplateName;
} CHOOSECOLOR;
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
#define GetRValue(rgb) ((BYTE)(rgb))
#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
#define GetBValue(rgb) ((BYTE)((rgb)>>16))
BOOL WINAPI ChooseColor(CHOOSECOLOR* lpcc);
#define PRAGMA_API ChooseColor;comdlg32.dll!ChooseColorA
I figured out my problem: lpCustColors cannot be null