1 // IDecl.h 2 3 #ifndef __IDECL_H 4 #define __IDECL_H 5 6 #include "../Common/MyUnknown.h" 7 8 #define k_7zip_GUID_Data1 0x23170F69 9 #define k_7zip_GUID_Data2 0x40C1 10 11 #define k_7zip_GUID_Data3_Common 0x278A 12 13 #define k_7zip_GUID_Data3_Decoder 0x2790 14 #define k_7zip_GUID_Data3_Encoder 0x2791 15 #define k_7zip_GUID_Data3_Hasher 0x2792 16 17 18 #define DECL_INTERFACE_SUB(i, base, groupId, subId) \ 19 DEFINE_GUID(IID_ ## i, \ 20 k_7zip_GUID_Data1, \ 21 k_7zip_GUID_Data2, \ 22 k_7zip_GUID_Data3_Common, \ 23 0, 0, 0, (groupId), 0, (subId), 0, 0); \ 24 struct i: public base 25 26 #define DECL_INTERFACE(i, groupId, subId) DECL_INTERFACE_SUB(i, IUnknown, groupId, subId) 27 28 #endif 29