The Windows SDK defines the following type: struct __declspec(novtable) GdiplusAbort { virtual HRESULT __stdcall Abort(void) = 0; }; I think that the following is a workable translation: diff --git a/include/gdiplustypes.h b/include/gdiplustypes.h index 4f97432..444123f 100644 --- a/include/gdiplustypes.h +++ b/include/gdiplustypes.h @@ -55,6 +55,18 @@ typedef BOOL (CALLBACK * ImageAbort)(VOID *); typedef ImageAbort DrawImageAbort; typedef ImageAbort GetThumbnailImageAbort; +struct GdiplusAbort; + +typedef struct gpabort_vtable +{ + HRESULT WINAPI (*Abort)(struct GdiplusAbort*); +} + +typedef struct GdiplusAbort +{ + struct gpabort_vtable *vtable_ptr; +} GdiplusAbort; + #ifdef __cplusplus } #endif I don't think I can provide a proper C++ definition because the abi depends on the compiler. Does this look correct? -- Vincent Povirk