#include #include #include #include #ifndef UOAI_H_INCLUDED #define UOAI_H_INCLUDED //A. Define GUIDs //v0.1 {EB82EC6E-AB50-4dd4-95A3-598B06F93564} DEFINE_GUID(GUID_UOAI_TYPELIB, 0xeb82ec6e, 0xab50, 0x4dd4, 0x95, 0xa3, 0x59, 0x8b, 0x6, 0xf9, 0x35, 0x64); // {608785F7-D312-4fe5-A1BA-DB7816F4C384} DEFINE_GUID(CLSID_UOItem, 0x608785f7, 0xd312, 0x4fe5, 0xa1, 0xba, 0xdb, 0x78, 0x16, 0xf4, 0xc3, 0x84); // {CE9B177F-58C2-48d3-9E54-69D395A15760} DEFINE_GUID(IID_UOItem, 0xce9b177f, 0x58c2, 0x48d3, 0x9e, 0x54, 0x69, 0xd3, 0x95, 0xa1, 0x57, 0x60); // {CA3FB0FC-FCBA-4328-981B-E6D370C88FFA} DEFINE_GUID(IID_UOMobile, 0xca3fb0fc, 0xfcba, 0x4328, 0x98, 0x1b, 0xe6, 0xd3, 0x70, 0xc8, 0x8f, 0xfa); // {B0C6F582-AC6D-4bfa-9981-55A56A104180} DEFINE_GUID(CLSID_UOMobile, 0xb0c6f582, 0xac6d, 0x4bfa, 0x99, 0x81, 0x55, 0xa5, 0x6a, 0x10, 0x41, 0x80); /* // {03C7806C-21F4-41e8-A4AF-D668367A05D8} DEFINE_GUID(CLSID_UOPath, 0x3c7806c, 0x21f4, 0x41e8, 0xa4, 0xaf, 0xd6, 0x68, 0x36, 0x7a, 0x5, 0xd8); // {FBCE5CAD-14FB-46d8-A627-81E32E12053E} DEFINE_GUID(IID_UOPath, 0xfbce5cad, 0x14fb, 0x46d8, 0xa6, 0x27, 0x81, 0xe3, 0x2e, 0x12, 0x5, 0x3e); */ // {16FB3B76-8EE9-413d-8639-ADB8EF6A2EFF} DEFINE_GUID(CLSID_UOEventQueue, 0x16fb3b76, 0x8ee9, 0x413d, 0x86, 0x39, 0xad, 0xb8, 0xef, 0x6a, 0x2e, 0xff); // {D7B614EC-70CD-4d4a-BCD8-913B14DC42AC} DEFINE_GUID(IID_UOEventQueue, 0xd7b614ec, 0x70cd, 0x4d4a, 0xbc, 0xd8, 0x91, 0x3b, 0x14, 0xdc, 0x42, 0xac); // {A39AFC07-B5D2-4fae-9BC3-802B1F8CA5C1} DEFINE_GUID(CLSID_UOPicture, 0xa39afc07, 0xb5d2, 0x4fae, 0x9b, 0xc3, 0x80, 0x2b, 0x1f, 0x8c, 0xa5, 0xc1); // {E9CABF38-8F9A-441a-98DA-F6ABFA40E2B4} DEFINE_GUID(IID_UOItemCallback, 0xe9cabf38, 0x8f9a, 0x441a, 0x98, 0xda, 0xf6, 0xab, 0xfa, 0x40, 0xe2, 0xb4); // {E756BEE1-0AEF-489a-AA5E-4E9741CCC7A0} DEFINE_GUID(IID_UOMobileCallback, 0xe756bee1, 0xaef, 0x489a, 0xaa, 0x5e, 0x4e, 0x97, 0x41, 0xcc, 0xc7, 0xa0); // {F41B3CBB-6FD7-40b2-9C56-BE77B268A976} DEFINE_GUID(IID_UOGumpCallback, 0xf41b3cbb, 0x6fd7, 0x40b2, 0x9c, 0x56, 0xbe, 0x77, 0xb2, 0x68, 0xa9, 0x76); // {168EDEE3-1C97-4b04-8613-985953F88BEF} DEFINE_GUID(IID_UOGumpList, 0x168edee3, 0x1c97, 0x4b04, 0x86, 0x13, 0x98, 0x59, 0x53, 0xf8, 0x8b, 0xef); // {FEDCA9D2-6A01-4b16-A740-43C3C1CF4A50} DEFINE_GUID(CLSID_UOGumpList, 0xfedca9d2, 0x6a01, 0x4b16, 0xa7, 0x40, 0x43, 0xc3, 0xc1, 0xcf, 0x4a, 0x50); // {3E48C1DA-CFA4-461b-84CC-F04E3C6BCFEA} DEFINE_GUID(CLSID_UOJournal, 0x3e48c1da, 0xcfa4, 0x461b, 0x84, 0xcc, 0xf0, 0x4e, 0x3c, 0x6b, 0xcf, 0xea); // {242A291F-2432-4c6d-B25C-67F0253F1DDD} DEFINE_GUID(IID_UOJournal, 0x242a291f, 0x2432, 0x4c6d, 0xb2, 0x5c, 0x67, 0xf0, 0x25, 0x3f, 0x1d, 0xdd); // {8C0F3A86-EA16-4bfc-BE12-E53C97FB5C4E} DEFINE_GUID(CLSID_UOClient, 0x8c0f3a86, 0xea16, 0x4bfc, 0xbe, 0x12, 0xe5, 0x3c, 0x97, 0xfb, 0x5c, 0x4e); // {0EE0C9B0-D1D5-496a-ADA5-4752D4809581} DEFINE_GUID(IID_UOClient, 0xee0c9b0, 0xd1d5, 0x496a, 0xad, 0xa5, 0x47, 0x52, 0xd4, 0x80, 0x95, 0x81); // {6B4B5E82-BA40-4dc0-AA2C-016EE078A97B} DEFINE_GUID(IID_UOClientCallback, 0x6b4b5e82, 0xba40, 0x4dc0, 0xaa, 0x2c, 0x1, 0x6e, 0xe0, 0x78, 0xa9, 0x7b); // {4CE56068-6376-421e-9632-36C51F00D666} DEFINE_GUID(CLSID_UOClientsCollection, 0x4ce56068, 0x6376, 0x421e, 0x96, 0x32, 0x36, 0xc5, 0x1f, 0x0, 0xd6, 0x66); // {0E711FFE-A377-45d3-A3AD-26E5FE0677AF} DEFINE_GUID(IID_UOClientsCollection, 0xe711ffe, 0xa377, 0x45d3, 0xa3, 0xad, 0x26, 0xe5, 0xfe, 0x6, 0x77, 0xaf); // {EF46412E-C81D-44e1-8A2B-612B3146C86F} DEFINE_GUID(IID_UOItemList, 0xef46412e, 0xc81d, 0x44e1, 0x8a, 0x2b, 0x61, 0x2b, 0x31, 0x46, 0xc8, 0x6f); // {D45CBCD2-6A9B-4fa3-A98D-306708B9970F} DEFINE_GUID(CLSID_UOItemList, 0xd45cbcd2, 0x6a9b, 0x4fa3, 0xa9, 0x8d, 0x30, 0x67, 0x8, 0xb9, 0x97, 0xf); // {C27D1F35-5001-4b97-A467-1868A5BE19A9} DEFINE_GUID(CLSID_UOAI, 0xc27d1f35, 0x5001, 0x4b97, 0xa4, 0x67, 0x18, 0x68, 0xa5, 0xbe, 0x19, 0xa9); // {51BE0440-5CE7-493a-B3FD-A5AFA4672836} DEFINE_GUID(IID_UOAI, 0x51be0440, 0x5ce7, 0x493a, 0xb3, 0xfd, 0xa5, 0xaf, 0xa4, 0x67, 0x28, 0x36); // {D7899F33-930E-4be6-B0F8-5B6CCE641CC3} DEFINE_GUID(IID_UOAICallback, 0xd7899f33, 0x930e, 0x4be6, 0xb0, 0xf8, 0x5b, 0x6c, 0xce, 0x64, 0x1c, 0xc3); // {C66BC1EC-74B7-411e-A367-D49F79074AE2} DEFINE_GUID(IID_UOGump, 0xc66bc1ec, 0x74b7, 0x411e, 0xa3, 0x67, 0xd4, 0x9f, 0x79, 0x7, 0x4a, 0xe2); // {94D1E245-DCE5-4795-801A-74422B4E4A6E} DEFINE_GUID(CLSID_UOGump, 0x94d1e245, 0xdce5, 0x4795, 0x80, 0x1a, 0x74, 0x42, 0x2b, 0x4e, 0x4a, 0x6e); // {E9C56D0D-9373-4768-90DB-F49EECC515CF} DEFINE_GUID(IID_UOGumpElement, 0xe9c56d0d, 0x9373, 0x4768, 0x90, 0xdb, 0xf4, 0x9e, 0xec, 0xc5, 0x15, 0xcf); // {5B49B770-FA4A-4faa-9E27-9A4442443F94} DEFINE_GUID(CLSID_UOGumpElement, 0x5b49b770, 0xfa4a, 0x4faa, 0x9e, 0x27, 0x9a, 0x44, 0x42, 0x44, 0x3f, 0x94); // {31E15630-5CD7-47f4-BB63-21002975C285} DEFINE_GUID(IID_UOGumpElementList, 0x31e15630, 0x5cd7, 0x47f4, 0xbb, 0x63, 0x21, 0x0, 0x29, 0x75, 0xc2, 0x85); // {DAE6739D-C3AA-4a4e-AF7D-BD7DBD424770} DEFINE_GUID(CLSID_UOGumpElementList, 0xdae6739d, 0xc3aa, 0x4a4e, 0xaf, 0x7d, 0xbd, 0x7d, 0xbd, 0x42, 0x47, 0x70); // {850B5D98-5DE8-4be5-9868-F940DF7CFC8D} DEFINE_GUID(CLSID_UOEvent, 0x850b5d98, 0x5de8, 0x4be5, 0x98, 0x68, 0xf9, 0x40, 0xdf, 0x7c, 0xfc, 0x8d); // {ECE6DDD3-33C0-4fea-AA8C-7B04F43CCF3C} DEFINE_GUID(IID_UOEvent, 0xece6ddd3, 0x33c0, 0x4fea, 0xaa, 0x8c, 0x7b, 0x4, 0xf4, 0x3c, 0xcf, 0x3c); // {7B69D605-00A1-4e58-A632-1064CF7B1302} DEFINE_GUID(CLSID_UOPacket, 0x7b69d605, 0xa1, 0x4e58, 0xa6, 0x32, 0x10, 0x64, 0xcf, 0x7b, 0x13, 0x2); // {C31FCB9D-8A7F-4366-8ECE-EDA8597D5E38} DEFINE_GUID(IID_UOPacket, 0xc31fcb9d, 0x8a7f, 0x4366, 0x8e, 0xce, 0xed, 0xa8, 0x59, 0x7d, 0x5e, 0x38); //B. forward declarations #if defined(__cplusplus) && !defined(CINTERFACE) #define FORWARD_DECL_KEYWORD interface #else #define FORWARD_DECL_KEYWORD struct #endif typedef FORWARD_DECL_KEYWORD UOItem UOItem; typedef FORWARD_DECL_KEYWORD UOMobile UOMobile; typedef FORWARD_DECL_KEYWORD UOGump UOGump; typedef FORWARD_DECL_KEYWORD UOGumpElement UOGumpElement; typedef FORWARD_DECL_KEYWORD UOClient UOClient; typedef FORWARD_DECL_KEYWORD UOEventQueue UOEventQueue; typedef FORWARD_DECL_KEYWORD UOPacket UOPacket; typedef FORWARD_DECL_KEYWORD UOItemList UOItemList; typedef FORWARD_DECL_KEYWORD UOClientsCollection UOClientsCollection; typedef FORWARD_DECL_KEYWORD UOGumpList UOGumpList; typedef FORWARD_DECL_KEYWORD UOGumpElementList UOGumpElementList; //C. actual declarations #undef INTERFACE #define INTERFACE UOMobile DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetID)(THIS_ unsigned int * pID) PURE; STDMETHOD (GetType)(THIS_ unsigned int * pType) PURE; STDMETHOD (GetX)(THIS_ unsigned int * pX) PURE; STDMETHOD (GetY)(THIS_ unsigned int * pY) PURE; STDMETHOD (GetZ)(THIS_ int * pZ) PURE; STDMETHOD (GetFacet)(THIS_ unsigned int * pFacet) PURE; STDMETHOD (GetDirection)(THIS_ unsigned int * pDirection) PURE; //STDMETHOD (GetRunning)(THIS_ VARIANT_BOOL * pIsRunning) PURE; //STDMETHOD (GetDeath)(THIS_ VARIANT_BOOL * pIsDeath) PURE; STDMETHOD (GetPoisoned)(THIS_ VARIANT_BOOL * pIsPoisoned) PURE; STDMETHOD (GetHidden)(THIS_ VARIANT_BOOL * pIsHidden) PURE; STDMETHOD (GetWarmode)(THIS_ VARIANT_BOOL * pWarmode) PURE; STDMETHOD (GetColor)(THIS_ unsigned int * pColor) PURE; STDMETHOD (GetHighlightColor)(THIS_ unsigned int * pHighlightColor) PURE; STDMETHOD (SetHighlightColor)(THIS_ int pHighlightColor) PURE; STDMETHOD (GetReputation)(THIS_ unsigned int * pReputation) PURE; STDMETHOD (GetItem)(THIS_ UOItem ** pItem) PURE; STDMETHOD (GetPaperdollGump)(THIS_ UOGump ** gumpitem) PURE; STDMETHOD (GetStatusGump)(THIS_ UOGump ** gumpitem) PURE; STDMETHOD (OpenPaperdoll)(THIS) PURE; STDMETHOD (OpenStatus)(THIS) PURE; STDMETHOD (Click)(THIS) PURE; STDMETHOD (DoubleClick)(THIS) PURE; STDMETHOD (Target)(THIS) PURE; STDMETHOD (Equip)(THIS_ UOItem * toequip, unsigned int layer, VARIANT_BOOL * success) PURE; STDMETHOD (GetName)(THIS_ BSTR * pName) PURE;//from statusgump STDMETHOD (SetName)(THIS_ BSTR NewName) PURE;//use rename packet STDMETHOD (GetTitle)(THIS_ BSTR * pTitle) PURE;//=Text on paperdollgump (0x0D0?) //STDMETHOD (GetEnemy)(THIS_ UOMobile ** pEnemy) PURE; STDMETHOD (Attack)(THIS) PURE; STDMETHOD (GetFemale)(THIS_ VARIANT_BOOL * pResult) PURE;//from statusgump STDMETHOD (GetStr)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetDex)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetInt)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetHits)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetMaxHits)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetStamina)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetMaxStamina)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetMana)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetMaxMana)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetGoldCount)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetWeight)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetMaxWeight)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetPhysicalResistance)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetStatCap)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetFollowerCount)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetMaxFollowerCount)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetFireResistance)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetColdResistance)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetPoisonResistance)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetEnergyResistance)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetLuck)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetMaximumDamage)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetMinimumDamage)(THIS_ unsigned int * pResult) PURE;//from statusgump STDMETHOD (GetLayeredItem)(THIS_ unsigned int layer, UOItem ** pResult) PURE;//layered item STDMETHOD (GetLeftHand)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetRightHand)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetShoes)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetPants)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetShirt)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetHead)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetGloves)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetRing)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetNeck)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetHair)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetWaist)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetInnerTorso)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetBracelet)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetFacialHair)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetMiddleTorso)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetEars)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetArms)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetBack)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetBackpack)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetOuterTorso)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetOuterLegs)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetInnerLegs)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetMount)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetBankBox)(THIS_ UOItem ** pResult) PURE;//layered item STDMETHOD (GetDistance)(THIS_ double * pResult) PURE; STDMETHOD (GetRenameable)(THIS_ VARIANT_BOOL * bRenameable) PURE; STDMETHOD (GetIsStatusOpen)(THIS_ VARIANT_BOOL * bResult) PURE; STDMETHOD (GetIsPaperdollOpen)(THIS_ VARIANT_BOOL * bResult) PURE; }; #undef INTERFACE #define INTERFACE UOItem DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetID)(THIS_ unsigned int * pID) PURE; STDMETHOD (GetType)(THIS_ unsigned int * pType) PURE; STDMETHOD (GetX)(THIS_ unsigned int * pX) PURE; STDMETHOD (GetY)(THIS_ unsigned int * pY) PURE; STDMETHOD (GetZ)(THIS_ int * pZ) PURE; STDMETHOD (GetFacet)(THIS_ unsigned int * pFacet) PURE; STDMETHOD (GetDirection)(THIS_ unsigned int * pDirection) PURE; STDMETHOD (GetStackCount)(THIS_ unsigned int * pStackCount) PURE; STDMETHOD (GetColor)(THIS_ unsigned int * pColor) PURE; STDMETHOD (GetHighlightColor)(THIS_ unsigned int * pHighlightColor) PURE; STDMETHOD (SetHighlightColor)(THIS_ int pHighlightColor) PURE; STDMETHOD (GetReputation)(THIS_ unsigned int * pReputation) PURE; STDMETHOD (GetIsMobile)(THIS_ VARIANT_BOOL * pIsMobile) PURE; STDMETHOD (GetMobile)(THIS_ UOMobile ** pMobile) PURE; STDMETHOD (GetContainer)(THIS_ UOItem ** pContainer) PURE; STDMETHOD (GetContents)(THIS_ UOItemList ** pContents) PURE; STDMETHOD (GetGump)(THIS_ UOGump ** gumpitem) PURE; STDMETHOD (Click)(THIS) PURE; STDMETHOD (DoubleClick)(THIS) PURE; STDMETHOD (Drag)(THIS_ unsigned int amount,VARIANT_BOOL * success) PURE; //STDMETHOD (Drop)(THIS_ unsigned int containerid, unsigned int x, unsigned int y, int z) PURE; STDMETHOD (Target)(THIS) PURE; STDMETHOD (Equip)(THIS_ unsigned int layer,VARIANT_BOOL * success) PURE; STDMETHOD (GetItemName)(THIS_ BSTR * pItemName) PURE; STDMETHOD (GetItemProperties)(THIS_ BSTR * pItemProperties) PURE; STDMETHOD (GetDistance)(THIS_ double * pResult) PURE; STDMETHOD (GetTypeName)(THIS_ BSTR * pTypeName) PURE; STDMETHOD (GetItemWeight)(THIS_ int * weight) PURE; STDMETHOD (GetItemHeight)(THIS_ int * height) PURE; STDMETHOD (GetItemAnimationType)(THIS_ int * animtype) PURE; STDMETHOD (IsBackground)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsWeapon)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsTransparent)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsTranslucent)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsWall)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsDamaging)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsImpassable)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsWet)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsSurface)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsBridge)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsStackable)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsWindow)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (NoShoot)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (PrefixA)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (PrefixAn)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsInternal)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsFoliage)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsPartiallyHued)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsMap)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsContainer)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsWearable)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsLightSource)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsAnimated)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (NoDiagonal)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsArmor)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsRoof)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsDoor)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsStairBack)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsStairRight)(THIS_ VARIANT_BOOL * bIsSet) PURE; STDMETHOD (IsMulti)(THIS_ VARIANT_BOOL * bIsMulti) PURE; }; #undef INTERFACE #define INTERFACE UOItemList DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (FindItemByID)(THIS_ unsigned int ItemID,UOItem ** founditem) PURE; STDMETHOD (FindItemsByType)(THIS_ unsigned int ItemType,UOItemList ** founditems) PURE; STDMETHOD (GetUOItemCount)(THIS_ unsigned long * count) PURE; STDMETHOD (GetUOItem)(THIS_ unsigned long itemindex, UOItem ** item) PURE; STDMETHOD (NewUOItemsEnum)(THIS_ IUnknown ** newenum) PURE; STDMETHOD (Add)(THIS_ UOItem * toadd) PURE; STDMETHOD (Remove)(THIS_ unsigned int ID) PURE; STDMETHOD (RemoveList)(THIS_ UOItemList * toremove) PURE; STDMETHOD (AddList)(THIS_ UOItemList * toadd) PURE; }; #undef INTERFACE #define INTERFACE UOJournal DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetText)(THIS_ BSTR * text) PURE; STDMETHOD (GetColor)(THIS_ unsigned int * color) PURE; STDMETHOD (Next)(THIS_ VARIANT_BOOL * ok) PURE; STDMETHOD (Previous)(THIS_ VARIANT_BOOL * ok) PURE; STDMETHOD (First)(THIS_ VARIANT_BOOL * ok) PURE; STDMETHOD (Last)(THIS_ VARIANT_BOOL * ok) PURE; STDMETHOD (Search)(THIS_ BSTR tofind,VARIANT_BOOL backwards,VARIANT_BOOL * ok) PURE; }; #undef INTERFACE #define INTERFACE UOPacket DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetType)(THIS_ int * type) PURE; STDMETHOD (GetSize)(THIS_ int * size) PURE; STDMETHOD (GetRemaining)(THIS_ int * size) PURE; STDMETHOD (Skip)(THIS_ int toskip) PURE; STDMETHOD (ToStart)(THIS) PURE; STDMETHOD (ReadBytes)(THIS_ unsigned int length,VARIANT * buffer) PURE; STDMETHOD (ReadAsciiString)(THIS_ BSTR * aString) PURE; STDMETHOD (ReadUnicodeString)(THIS_ BSTR * uString) PURE; STDMETHOD (ReadAsciiStringLength)(THIS_ unsigned int length, BSTR * aString) PURE; STDMETHOD (ReadUnicodeStringLength)(THIS_ unsigned int length, BSTR * uString) PURE; STDMETHOD (ReadByte)(THIS_ int * thebyte) PURE; STDMETHOD (ReadChar)(THIS_ int * theint) PURE; STDMETHOD (ReadUShort)(THIS_ int * theushort) PURE; STDMETHOD (ReadShort)(THIS_ int * theshort) PURE; STDMETHOD (ReadUInt)(THIS_ unsigned int * theuint) PURE; STDMETHOD (ReadInt)(THIS_ int * theint) PURE; }; #undef INTERFACE #define INTERFACE UOEventQueue DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (AddPacketType)(THIS_ int PacketType) PURE; STDMETHOD (HasPacket)(THIS_ VARIANT_BOOL * bHasPacket) PURE; STDMETHOD (DeQueue)(THIS_ UOPacket ** packet) PURE; STDMETHOD (ClearQueue)(THIS) PURE; STDMETHOD (RemovePacketType)(THIS_ int PacketType) PURE; STDMETHOD (Reset)(THIS) PURE; }; #undef INTERFACE #define INTERFACE UOClient DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetPlayer)(THIS_ UOMobile ** player) PURE; STDMETHOD (GetItems)(THIS_ UOItemList ** items) PURE; STDMETHOD (FindItem)(THIS_ unsigned int itemid,UOItem ** founditem) PURE; STDMETHOD (GetJournal)(THIS_ UOJournal ** journal) PURE; STDMETHOD (GetGumps)(THIS_ UOGumpList ** gumps) PURE; STDMETHOD (Macro)(THIS_ unsigned int macronumber,unsigned int iPar,BSTR strPar) PURE; STDMETHOD (GetLoggedIn)(THIS_ VARIANT_BOOL * bLoggedIn) PURE; //STDMETHOD (CalculatePath)(THIS_ int fromx, int fromy, int fromz, int tox, int toy, int toz,UOPath ** newpath) PURE; //STDMETHOD (WalkPath)(THIS_ UOPath * toWalk,BSTR todisplay) PURE; STDMETHOD (PathfindTo)(THIS_ BSTR todisplay,unsigned int x,unsigned int y,int z, VARIANT_BOOL * retval) PURE; STDMETHOD (Speech)(THIS_ unsigned int font, BSTR message) PURE; STDMETHOD (GetLastSkill)(THIS_ unsigned int * LastSkill) PURE; STDMETHOD (GetLastSpell)(THIS_ unsigned int * LastSpell) PURE; STDMETHOD (GetLastObjectID)(THIS_ unsigned int * LastObjectID) PURE; STDMETHOD (GetLastObjectType)(THIS_ unsigned int * LastObjectType) PURE;//useless??!! STDMETHOD (GetLastTargetID)(THIS_ unsigned int * LastTargetID) PURE; STDMETHOD (GetLastTargetKind)(THIS_ unsigned int * LastTargetKind) PURE; STDMETHOD (GetLastTargetX)(THIS_ unsigned int * LastTargetX) PURE; STDMETHOD (GetLastTargetY)(THIS_ unsigned int * LastTargetY) PURE; STDMETHOD (GetLastTargetZ)(THIS_ int * LastTargetZ) PURE; STDMETHOD (GetLastTargetTile)(THIS_ unsigned int * LastTargetTile) PURE; STDMETHOD (GetAlwaysRun)(THIS_ VARIANT_BOOL * bAlwaysRun) PURE; STDMETHOD (GetTargetting)(THIS_ VARIANT_BOOL * bTargetting) PURE; STDMETHOD (SetLastSkill)(THIS_ unsigned int LastSkill) PURE; STDMETHOD (SetLastSpell)(THIS_ unsigned int LastSpell) PURE; STDMETHOD (SetLastObjectID)(THIS_ unsigned int LastObjectID) PURE; STDMETHOD (SetLastObjectType)(THIS_ unsigned int LastObjectType) PURE;//useless??!! STDMETHOD (SetLastTargetID)(THIS_ unsigned int LastTargetID) PURE; STDMETHOD (SetLastTargetKind)(THIS_ unsigned int LastTargetKind) PURE; STDMETHOD (SetLastTargetX)(THIS_ unsigned int LastTargetX) PURE; STDMETHOD (SetLastTargetY)(THIS_ unsigned int LastTargetY) PURE; STDMETHOD (SetLastTargetZ)(THIS_ int LastTargetZ) PURE; STDMETHOD (SetLastTargetTile)(THIS_ unsigned int LastTargetTile) PURE; STDMETHOD (SetAlwaysRun)(THIS_ VARIANT_BOOL bAlwaysRun) PURE; STDMETHOD (SetTargetting)(THIS_ VARIANT_BOOL bTargetting) PURE; STDMETHOD (PatchEncryption)(THIS) PURE; STDMETHOD (CreateEventQueue)(THIS_ UOEventQueue ** newqueue) PURE; STDMETHOD (GetPID)(THIS_ unsigned int * pPID) PURE; STDMETHOD (SendPacket2Client)(THIS_ SAFEARRAY ** packet,unsigned int packetsize, VARIANT_BOOL * result) PURE; STDMETHOD (SendPacket2Server)(THIS_ SAFEARRAY ** packet,unsigned int packetsize, VARIANT_BOOL * result) PURE; STDMETHOD (AddPacketFilter)(THIS_ int packetnumber) PURE; STDMETHOD (RemovePacketFilter)(THIS_ int packetnumber) PURE; STDMETHOD (IsPacketFiltered)(THIS_ int packetnumber,VARIANT_BOOL * result) PURE; STDMETHOD (getReceiveFilteredPackets)(THIS_ VARIANT_BOOL * bVal) PURE; STDMETHOD (setReceiveFilteredPackets)(THIS_ VARIANT_BOOL bVal) PURE; STDMETHOD (getReceiveUOAISentPackets)(THIS_ VARIANT_BOOL * bVal) PURE; STDMETHOD (setReceiveUOAISentPackets)(THIS_ VARIANT_BOOL bVal) PURE; /*STDMETHOD (ReadUStrAtOffset)(THIS_ unsigned int offset,BSTR * read) PURE; STDMETHOD (ReadStrAtOffset)(THIS_ unsigned int offset,BSTR * read) PURE; STDMETHOD (ReadByteAtOffset)(THIS_ unsigned int offset,unsigned int * read) PURE; STDMETHOD (ReadShortAtOffset)(THIS_ unsigned int offset,unsigned int * read) PURE; STDMETHOD (ReadIntAtOffset)(THIS_ unsigned int offset,unsigned int * read) PURE;*/ STDMETHOD (getHoldingID)(THIS_ unsigned int * pID) PURE; STDMETHOD (DropHolding)(THIS_ unsigned int x, unsigned int y, int z) PURE; STDMETHOD (DropHoldingInto)(THIS_ UOItem * container) PURE; STDMETHOD (Login)(THIS_ BSTR server,int port,BSTR username, BSTR password, int serverindex,int characterindex, VARIANT_BOOL * retval) PURE; STDMETHOD (getSkillValue)(THIS_ int skillnumber,int * rvalue) PURE; STDMETHOD (getRealSkillValue)(THIS_ int skillnumber,int * rrealvalue) PURE; STDMETHOD (getSkillLock)(THIS_ int skillnumber,int * rlock) PURE; STDMETHOD (setSkillLock)(THIS_ int skillnumber,int value) PURE; STDMETHOD (getSkillCap)(THIS_ int skillnumber,int * rcap) PURE; STDMETHOD (getPlayerName)(THIS_ BSTR * pname) PURE; STDMETHOD (getServerName)(THIS_ BSTR * servername) PURE; STDMETHOD (ShowTargetCursor)(THIS_ VARIANT_BOOL bTargetGround) PURE; STDMETHOD (GetLandTileArt)(THIS_ int typenumber,COLORREF bgcolor,unsigned int getmask,HBITMAP * artin) PURE; STDMETHOD (GetStaticTileArt)(THIS_ int typenumber,COLORREF bgcolor,unsigned int getmask,HBITMAP * artin) PURE; STDMETHOD (GetGumpArt)(THIS_ int typenumber,HBITMAP * artin) PURE; }; #undef INTERFACE #define INTERFACE UOClientsCollection DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetUOClientCount)(THIS_ unsigned long * count) PURE; STDMETHOD (GetUOClient)(THIS_ unsigned long itemindex, UOClient ** item) PURE; STDMETHOD (NewUOClientEnum)(THIS_ IUnknown ** newenum) PURE; STDMETHOD (FindClient)(THIS_ unsigned long PID, UOClient ** item, VARIANT_BOOL * found) PURE; }; #undef INTERFACE #define INTERFACE UOAI DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; //STDMETHOD (PropgetInvalidItem)(THIS_ UOItem ** retval) PURE; STDMETHOD (LaunchClient)(THIS_ VARIANT_BOOL * retval) PURE; //STDMETHOD (IsValid)(THIS_ UOItem * theitem,VARIANT_BOOL * bValid) PURE; STDMETHOD (GetClientsCollection)(THIS_ UOClientsCollection ** ppColl) PURE; STDMETHOD (Int2Euo)(THIS_ unsigned int toconvert, BSTR * euostring) PURE; STDMETHOD (Euo2Int)(THIS_ BSTR euostring, unsigned int * converted) PURE; //STDMETHOD (Int2UInt)(THIS_ int toconvert,unsigned int * converted) PURE; //STDMETHOD (UInt2Int)(THIS_ unsigned int toconvert, int * converted) PURE; STDMETHOD (GetClientPath)(THIS_ BSTR * pPath) PURE; STDMETHOD (SetClientPath)(THIS_ BSTR NewPath) PURE; STDMETHOD (GetClientExe)(THIS_ BSTR * pExe) PURE; STDMETHOD (SetClientExe)(THIS_ BSTR NewExe) PURE; STDMETHOD (ForceShutdown)(THIS) PURE; }; #undef INTERFACE #define INTERFACE UOClientEnum DECLARE_INTERFACE_ (INTERFACE, IUnknown) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (Next)(THIS_ ULONG count,VARIANT * res,ULONG * actualcount) PURE; STDMETHOD (Skip)(THIS_ ULONG count) PURE; STDMETHOD (Reset)(THIS) PURE; STDMETHOD (Clone)(THIS_ IUnknown ** newenum) PURE; }; #undef INTERFACE #define INTERFACE UOGump DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetID)(THIS_ unsigned int * ID) PURE; STDMETHOD (GetType)(THIS_ unsigned int * Type) PURE; STDMETHOD (GetGenericGumpID)(THIS_ unsigned int * GumpID) PURE; STDMETHOD (GetGenericGumpType)(THIS_ unsigned int * GumpType) PURE; STDMETHOD (GetGumpItem)(THIS_ UOItem ** GumpItem) PURE; STDMETHOD (GetName)(THIS_ BSTR * Name) PURE; STDMETHOD (GetX)(THIS_ unsigned int * X) PURE; STDMETHOD (SetX)(THIS_ unsigned int X) PURE; STDMETHOD (GetY)(THIS_ unsigned int * Y) PURE; STDMETHOD (SetY)(THIS_ unsigned int Y) PURE; STDMETHOD (GetWidth)(THIS_ unsigned int * Width) PURE; STDMETHOD (GetHeight)(THIS_ unsigned int * Height) PURE; STDMETHOD (GetText)(THIS_ BSTR * Text) PURE; STDMETHOD (SetText)(THIS_ BSTR Text) PURE; // STDMETHOD (GetClosable)(THIS_ VARIANT_BOOL * Closable) PURE; STDMETHOD (GetSubGumps)(THIS_ UOGumpList ** SubGumps) PURE; STDMETHOD (GetElements)(THIS_ UOGumpElementList ** Elements) PURE; STDMETHOD (Click)(THIS) PURE; STDMETHOD (Close)(THIS) PURE; STDMETHOD (SetFocus)(THIS) PURE; STDMETHOD (GetKind)(THIS_ unsigned int * Kind) PURE; }; #undef INTERFACE #define INTERFACE UOGumpList DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetGumpCount)(THIS_ unsigned long * count) PURE; STDMETHOD (GetCurrentGump)(THIS_ UOGump ** item) PURE; STDMETHOD (GetNextGump)(THIS_ VARIANT_BOOL * ok) PURE; STDMETHOD (GetPreviousGump)(THIS_ VARIANT_BOOL * ok) PURE; STDMETHOD (GetFirstGump)(THIS_ VARIANT_BOOL * ok) PURE; STDMETHOD (GetLastGump)(THIS_ VARIANT_BOOL * ok) PURE; STDMETHOD (SearchName)(THIS_ BSTR gumpname, VARIANT_BOOL backwards, VARIANT_BOOL * ok) PURE; STDMETHOD (SearchID)(THIS_ unsigned int gumpID, VARIANT_BOOL backwards, VARIANT_BOOL * ok) PURE; STDMETHOD (SearchType)(THIS_ unsigned int gumpType, VARIANT_BOOL backwards, VARIANT_BOOL * ok) PURE; STDMETHOD (SearchKind)(THIS_ unsigned int gumpKind, VARIANT_BOOL backwards, VARIANT_BOOL * ok) PURE; STDMETHOD (NewUOGumpEnum)(THIS_ IUnknown ** newenum) PURE; }; #undef INTERFACE #define INTERFACE UOGumpEnum DECLARE_INTERFACE_ (INTERFACE, IUnknown) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (Next)(THIS_ ULONG count,VARIANT * res,ULONG * actualcount) PURE; STDMETHOD (Skip)(THIS_ ULONG count) PURE; STDMETHOD (Reset)(THIS) PURE; STDMETHOD (Clone)(THIS_ IUnknown ** newenum) PURE; }; #undef INTERFACE #define INTERFACE UOGumpElement DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetID)(THIS_ unsigned int * ID) PURE; STDMETHOD (GetType)(THIS_ unsigned int * Type) PURE; STDMETHOD (GetX)(THIS_ unsigned int * Type) PURE; STDMETHOD (GetY)(THIS_ unsigned int * Type) PURE; STDMETHOD (GetWidth)(THIS_ unsigned int * Type) PURE; STDMETHOD (GetHeight)(THIS_ unsigned int * Type) PURE; STDMETHOD (GetReleasedType)(THIS_ unsigned int * Type) PURE; STDMETHOD (GetPressedType)(THIS_ unsigned int * Type) PURE; STDMETHOD (GetTooltip)(THIS_ unsigned int * Tooltip) PURE; STDMETHOD (GetText)(THIS_ BSTR * Text) PURE; STDMETHOD (SetText)(THIS_ BSTR Text) PURE; STDMETHOD (GetSelected)(THIS_ VARIANT_BOOL * Selected) PURE; STDMETHOD (SetSelected)(THIS_ VARIANT_BOOL Selected) PURE; STDMETHOD (Click)(THIS) PURE; STDMETHOD (GetSubElements)(THIS_ UOGumpElementList ** SubElements) PURE; }; #undef INTERFACE #define INTERFACE UOGumpElementList DECLARE_INTERFACE_ (INTERFACE, IDispatch) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (GetTypeInfoCount)(THIS_ UINT *) PURE; STDMETHOD (GetTypeInfo) (THIS_ UINT, LCID, ITypeInfo **) PURE; STDMETHOD (GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID *) PURE; STDMETHOD (Invoke) (THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *) PURE; STDMETHOD (GetElementCount)(THIS_ unsigned long * count) PURE; STDMETHOD (GetElement)(THIS_ unsigned long itemindex, UOGumpElement ** item) PURE; STDMETHOD (NewElementEnum)(THIS_ IUnknown ** newenum) PURE; }; #undef INTERFACE #define INTERFACE UOGumpElementEnum DECLARE_INTERFACE_ (INTERFACE, IUnknown) { STDMETHOD (QueryInterface) (THIS_ REFIID, void **) PURE; STDMETHOD_ (ULONG, AddRef) (THIS) PURE; STDMETHOD_ (ULONG, Release) (THIS) PURE; STDMETHOD (Next)(THIS_ ULONG count,VARIANT * res,ULONG * actualcount) PURE; STDMETHOD (Skip)(THIS_ ULONG count) PURE; STDMETHOD (Reset)(THIS) PURE; STDMETHOD (Clone)(THIS_ IUnknown ** newenum) PURE; }; #endif