GdiplusAbort type needs to be translated from C++ to C

Vincent Povirk madewokherd+8cd9 at gmail.com
Thu Nov 19 10:23:48 CST 2009


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



More information about the wine-devel mailing list