typedef int HRESULT;

//#ifndef __WINE_WINDOWS_H
typedef void                                   *LPVOID;//windefs.h
typedef int ULONG; //winnt.h
//#endif

typedef CFUUIDBytes REFIID;



#define STDMETHODCALLTYPE 
#define S_OK 1
#define E_NOINTERFACE 1


#define IUNKNOWN_C_GUTS \
 void *_reserved; \
 HRESULT (STDMETHODCALLTYPE *QueryInterface) \
            (void *thisPointer, REFIID iid, LPVOID *ppv); \
 ULONG (STDMETHODCALLTYPE *AddRef)(void *thisPointer); \
 ULONG (STDMETHODCALLTYPE *Release)(void *thisPointer)

#define IUnknownUUID CFUUIDGetConstantUUIDWithBytes(NULL, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)



typedef struct IUnknownVTbl{
IUNKNOWN_C_GUTS;
}IUnknownVTbl;


