Fixed incompatible IDIRECTXFILEOBJECT_METHODS macro, and added

IUNKNOWN_METHODS.
This commit is contained in:
Alexandre Julliard 2004-10-04 20:47:00 +00:00
parent e7c3ab1874
commit 23efdb7669

View file

@ -121,14 +121,19 @@ DECLARE_INTERFACE_(IDirectXFileSaveObject,IUnknown) { IDirectXFileSaveObject_MET
#define IDirectXFileSaveObject_SaveData(p,a) (p)->lpVtbl->SaveData(p,a) #define IDirectXFileSaveObject_SaveData(p,a) (p)->lpVtbl->SaveData(p,a)
#endif #endif
#define IDIRECTXFILEOBJECT_METHODS \ #define IUNKNOWN_METHODS(kind) \
STDMETHOD(GetName) (THIS_ LPSTR, LPDWORD) PURE; \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) kind; \
STDMETHOD(GetId) (THIS_ LPGUID) PURE; STDMETHOD_(ULONG,AddRef)(THIS) kind; \
STDMETHOD_(ULONG,Release)(THIS) kind
#define IDIRECTXFILEOBJECT_METHODS(kind) \
STDMETHOD(GetName) (THIS_ LPSTR, LPDWORD) kind; \
STDMETHOD(GetId) (THIS_ LPGUID) kind
#define INTERFACE IDirectXFileObject #define INTERFACE IDirectXFileObject
#define IDirectXFileObject_METHODS \ #define IDirectXFileObject_METHODS \
IUnknown_METHODS \ IUNKNOWN_METHODS(PURE); \
IDIRECTXFILEOBJECT_METHODS IDIRECTXFILEOBJECT_METHODS(PURE);
DECLARE_INTERFACE_(IDirectXFileObject,IUnknown) { IDirectXFileObject_METHODS }; DECLARE_INTERFACE_(IDirectXFileObject,IUnknown) { IDirectXFileObject_METHODS };
#undef INTERFACE #undef INTERFACE
@ -144,8 +149,8 @@ DECLARE_INTERFACE_(IDirectXFileObject,IUnknown) { IDirectXFileObject_METHODS };
#define INTERFACE IDirectXFileData #define INTERFACE IDirectXFileData
#define IDirectXFileData_METHODS \ #define IDirectXFileData_METHODS \
IUnknown_METHODS \ IUNKNOWN_METHODS(PURE); \
IDIRECTXFILEOBJECT_METHODS \ IDIRECTXFILEOBJECT_METHODS(PURE); \
STDMETHOD(GetData) (THIS_ LPCSTR, DWORD *, void **) PURE; \ STDMETHOD(GetData) (THIS_ LPCSTR, DWORD *, void **) PURE; \
STDMETHOD(GetType) (THIS_ const GUID **) PURE; \ STDMETHOD(GetType) (THIS_ const GUID **) PURE; \
STDMETHOD(GetNextObject) (THIS_ LPDIRECTXFILEOBJECT *) PURE; \ STDMETHOD(GetNextObject) (THIS_ LPDIRECTXFILEOBJECT *) PURE; \
@ -174,8 +179,8 @@ DECLARE_INTERFACE_(IDirectXFileData,IDirectXFileObject) { IDirectXFileData_METHO
#define INTERFACE IDirectXFileDataReference #define INTERFACE IDirectXFileDataReference
#define IDirectXFileDataReference_METHODS \ #define IDirectXFileDataReference_METHODS \
IUnknown_METHODS \ IUNKNOWN_METHODS(PURE); \
IDIRECTXFILEOBJECT_METHODS \ IDIRECTXFILEOBJECT_METHODS(PURE); \
STDMETHOD(Resolve) (THIS_ LPDIRECTXFILEDATA *) PURE; STDMETHOD(Resolve) (THIS_ LPDIRECTXFILEDATA *) PURE;
DECLARE_INTERFACE_(IDirectXFileDataReference,IDirectXFileObject) { IDirectXFileDataReference_METHODS }; DECLARE_INTERFACE_(IDirectXFileDataReference,IDirectXFileObject) { IDirectXFileDataReference_METHODS };
#undef INTERFACE #undef INTERFACE
@ -194,8 +199,8 @@ DECLARE_INTERFACE_(IDirectXFileDataReference,IDirectXFileObject) { IDirectXFileD
#define INTERFACE IDirectXFileBinary #define INTERFACE IDirectXFileBinary
#define IDirectXFileBinary_METHODS \ #define IDirectXFileBinary_METHODS \
IUnknown_METHODS \ IUNKNOWN_METHODS(PURE); \
IDIRECTXFILEOBJECT_METHODS \ IDIRECTXFILEOBJECT_METHODS(PURE); \
STDMETHOD(GetSize) (THIS_ DWORD *) PURE; \ STDMETHOD(GetSize) (THIS_ DWORD *) PURE; \
STDMETHOD(GetMimeType) (THIS_ LPCSTR *) PURE; \ STDMETHOD(GetMimeType) (THIS_ LPCSTR *) PURE; \
STDMETHOD(Read) (THIS_ LPVOID, DWORD, LPDWORD) PURE; STDMETHOD(Read) (THIS_ LPVOID, DWORD, LPDWORD) PURE;