Commit Graph

517 Commits

Author SHA1 Message Date
Andrew Eikum 7adad42745 oleaut32: Use implementation bitflag in href. 2013-06-05 17:31:40 +02:00
Andrew Eikum d983e6d590 oleaut32: Always search external references in GetRefTypeInfo. 2013-06-05 17:31:40 +02:00
Andrew Eikum 3983bbf7d9 oleaut32: Fix ITypeInfo::GetNames for functions. 2013-06-05 17:31:40 +02:00
Andrew Eikum cee0a726ed oleaut32: Don't fall back on typelib name for docstring. 2013-06-05 17:31:40 +02:00
Andrew Eikum 0210cb9385 oleaut32: Only copy previous function name if both are property accessors. 2013-06-04 21:01:13 +02:00
Andrew Eikum 09d787d2d5 oleaut32: When loading typelibs, skip over function default parameters as well. 2013-06-04 21:01:13 +02:00
Andrew Eikum af3ae0c4f2 oleaut32: Implement ICreateTypeLib::SaveAllChanges. 2013-06-04 21:01:11 +02:00
Andrew Eikum 205671f355 oleaut32: Implement ICreateTypeInfo::AddVarDesc. 2013-06-03 11:27:12 +02:00
Andrew Eikum 4b2201b11c oleaut32: Implement ICreateTypeInfo::SetVarDocString. 2013-06-03 11:27:10 +02:00
Andrew Eikum 5ae88daf63 oleaut32: Implement ICreateTypeInfo::SetVarHelpContext. 2013-06-03 11:27:07 +02:00
Andrew Eikum 35342cef60 oleaut32: Store all GUIDs in typelibs. 2013-05-31 11:59:53 +02:00
Andrew Eikum f7dbebef66 oleaut32: Pull TYPEATTR struct contents out. 2013-05-31 11:59:44 +02:00
Andrew Eikum 3a16568f41 oleaut32: Pull TLIBATTR struct contents out.
So we can store GUIDs outside of the structs.
2013-05-31 11:59:30 +02:00
Andrew Eikum 379e1c035a oleaut32: Store all Names in typelibs, too. 2013-05-31 11:59:17 +02:00
Andrew Eikum dc9cd02264 oleaut32: Load and store all of the strings in a typelib.
This lets us easily avoid duplicate strings in the typelib.
2013-05-31 11:59:07 +02:00
Andrew Eikum d8b98efb4f oleaut32: Implement ICreateTypeInfo::LayOut. 2013-05-30 10:56:34 +02:00
Andrew Eikum 02a2a6d936 oleaut32: Implement ICreateTypeInfo::SetCustData. 2013-05-30 10:56:32 +02:00
Andrew Eikum 92b9304ae4 oleaut32: Implement ICreateTypeInfo::SetImplTypeFlags. 2013-05-30 10:56:29 +02:00
Andrew Eikum 90e72d2d49 oleaut32: Implement ICreateTypeInfo::SetFuncAndParamNames. 2013-05-30 10:56:26 +02:00
Andrew Eikum aec4504c8a oleaut32: Implement ICreateTypeInfo::SetFuncHelpContext. 2013-05-29 11:25:00 +02:00
Andrew Eikum 479ffebf40 oleaut32: Implement ICreateTypeInfo::AddFuncDesc. 2013-05-29 11:24:58 +02:00
Andrew Eikum 8c6984ab7a oleaut32: Improve TYPEFLAG_FDUAL handling. 2013-05-29 11:24:56 +02:00
Andrew Eikum 0082256a3f oleaut32: Implement ICreateTypeInfo::AddImplType. 2013-05-29 11:24:53 +02:00
Andrew Eikum f9d42aee53 oleaut32: Implement ICreateTypeInfo::AddRefTypeInfo.
This also corrects our HREFTYPE values a little bit.
2013-05-29 11:24:43 +02:00
Andrew Eikum d72a797f00 oleaut32: Implement ICreateTypeLib::CreateTypeInfo. 2013-05-28 14:32:21 +02:00
Andrew Eikum 6f6a487579 oleaut32: Implement basic ICreateTypeInfo functions. 2013-05-28 14:32:13 +02:00
Andrew Eikum ba5c9c7d38 oleaut32: Implement basic ICreateTypeLib functions. 2013-05-28 14:32:07 +02:00
Andrew Eikum 97a96094bb oleaut32: Stub typelib and typeinfo creation interfaces in typelib.c. 2013-05-28 14:31:56 +02:00
Andrew Eikum 70ed25fa1a oleaut32: Also search local typeinfos in ITypeInfo::GetRefTypeInfo. 2013-05-16 17:31:39 +02:00
Andrew Eikum c74a9eac93 oleaut32: Always initialize PARAMDESCEX's cBytes field. 2013-05-16 17:31:35 +02:00
Andrew Eikum 5f85b7c8ac oleaut32: Don't return bogus pointers if no data is available. 2013-05-13 11:05:27 +02:00
Andrew Eikum 1a00e932ad oleaut32: Use containing TypeLib's HelpFile in ITypeInfo::GetDocumentation. 2013-05-13 11:05:23 +02:00
Andrew Eikum 787ac75045 oleaut32: Sanity check some arguments. 2013-05-13 11:05:20 +02:00
Andrew Eikum b301234f3a oleaut32: Finish COM cleanup for ITypeLib objects. 2013-05-10 12:00:09 +02:00
Andrew Eikum d7313b21e8 oleaut32: Finish COM cleanup for internal loading structures. 2013-05-10 12:00:07 +02:00
Andrew Eikum ab7fffaafa oleaut32: Finish COM cleanup for ITypeInfo objects. 2013-05-10 12:00:04 +02:00
Andrew Eikum 8897f6034c oleaut32: COM cleanup for internal loading structures. 2013-05-09 14:16:06 +02:00
Andrew Eikum ddcd368b28 oleaut32: COM cleanup for ITypeInfo object. 2013-05-09 14:16:04 +02:00
Andrew Eikum 19f3bbc903 oleaut32: COM cleanup for ITypeLib object. 2013-05-09 14:16:00 +02:00
Andrew Talbot eedf2f6fab oleaut32: Avoid signed-unsigned integer comparisons. 2013-02-22 10:17:32 +01:00
Jacek Caban 88367a3c58 oleaut32: Return error if VT_HRESULT is used as return type in DispCallFunc. 2013-02-12 15:01:55 +01:00
Jacek Caban 253fdf1574 oleaut32: COM clean up of ITypeLib2 interface implementation. 2013-02-12 14:51:50 +01:00
Alistair Leslie-Hughes f20427361c oleaut32: Don't output an error when the typelib cannot be found. 2012-12-20 12:21:39 +01:00
Alistair Leslie-Hughes 04d3ba5b35 oleaut32: Fail if we cannot find the TYPELIB resource. 2012-11-30 11:55:02 +01:00
André Hentschel 43ffbe5611 oleaut32: Fix remaining memory leak (coverity). 2012-11-13 18:07:06 +01:00
Andrew Eikum 561e46c435 oleaut32: helpcontext is not an offset. 2012-11-02 20:12:36 +01:00
André Hentschel a46bfd644d oleaut32: Don't leak memory allocated by heap_alloc_zero (coverity). 2012-10-29 10:39:59 +01:00
André Hentschel b45e4496af oleaut32: Don't leak SafeArray (coverity). 2012-10-29 10:35:33 +01:00
Jacek Caban 2f7afbebd1 oleaut32: Properly handle TKIND_ALIAS when looking for iface GUID. 2012-09-19 16:31:14 +02:00
Roman Dadkov 3eab4f8d96 oleaut32: Record DocString field in ITypeInfoImpl structure in function ITypeLib2_Constructor_SLTG. 2012-08-22 12:11:54 +02:00
Jacek Caban 44936abd84 oleaut32: Ensure that the right interface is passed to the callee in ITypeInfo::Invoke. 2012-08-20 20:17:30 +02:00
Jacek Caban 4a5eca88aa oleaut32: Use proper helpers for iface calls. 2012-07-27 17:05:27 +02:00
Alessandro Pignotti 25d6e9aee8 oleaut32: Avoid converting variants if it is not needed. 2012-03-16 13:02:49 +01:00
Huw Davies 0425a110d9 oleaut32: [restricted] members with negative dispids may still be called. 2012-02-07 09:34:22 -06:00
Nikolay Sivov a23dbc5dc5 oleaut32: Some tests for ITypeLib::FindName(), corrected parameter validation. 2012-01-26 21:27:59 +01:00
Hans Leidekker 110d96634b oleaut32: Handle negative offsets into the custom data table.
Fixes a crash in the Visio 2002 installer.
2012-01-17 13:59:03 +01:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Andrew Eikum 22cc547156 oleaut32: Convert ITypeLibImpl to use standard linked list. 2011-03-16 16:31:54 +01:00
Andrew Eikum 3d03a5e239 oleaut32: Convert TLBImpLib to use standard linked list. 2011-03-16 16:31:54 +01:00
Andrew Eikum ec0a86002e oleaut32: Convert CustData to use standard linked lists. 2011-03-14 12:16:15 +01:00
Andrew Eikum 28fc129258 oleaut32: Use helper function to get CustData by GUID. 2011-03-14 12:16:04 +01:00
Andrew Eikum 517f5ba596 oleaut32: Convert TLBVarDesc to be stored as an array. 2011-03-11 11:44:12 +01:00
Andrew Eikum f76334fd3e oleaut32: Convert TLBImplType to be stored as an array. 2011-03-11 11:43:54 +01:00
Andrew Eikum 19fca2728b oleaut32: Convert TLBFuncDesc to be stored as an array. 2011-03-07 15:03:58 +01:00
Andrew Eikum b3e61a5661 oleaut32: Store ITypeInfoImpls in an array. 2011-03-07 15:03:13 +01:00
Huw Davies 060c8daf7f oleaut32: Mask off the lsb from the vtbl offset. This is set when the user specifies an offset in ICreateTypeInfo. 2011-02-24 15:49:27 +01:00
Nikolay Sivov a6de06aa4c oleaut32: Fix a couple of leaks on typeinfo release (Valgrind). 2011-01-24 14:43:28 +01:00
David Hedberg 900c5cde69 oleaut32: Make ITypeComp::BindType case-insensitive. 2011-01-11 16:05:46 +01:00
David Hedberg 454b1fca24 oleaut32: Handle NULL arguments to ITypeComp::BindType. 2011-01-11 16:05:45 +01:00
Nikolay Sivov ea3c215b57 oleaut32: Use VARENUM members instead of hardcoded values. 2011-01-04 14:55:41 +01:00
Nikolay Sivov 2e25e5e22c oleaut32: Use alloc/free helpers for typelib creation part too. 2011-01-04 14:53:50 +01:00
Nikolay Sivov ed749f51ce oleaut32: Use IDispatch vtable size instead of hardcoded value. 2011-01-04 14:52:52 +01:00
Nikolay Sivov b09fd556b0 oleaut32: Use implementation pointer to avoid casts. 2011-01-04 14:52:18 +01:00
Nikolay Sivov a90d2efd53 oleaut32: Use alloc/free helpers for all typelib parse methods. 2011-01-03 16:48:25 +01:00
Nikolay Sivov 8c8b5da9fc oleaut32: Update variable description and typeinfo size in ICreateTypeInfo2::SetVarHelpContext(). 2010-12-31 11:45:20 +01:00
Nikolay Sivov b3514b4718 oleaut32: Use function description layout instead of hardcoded byte offsets. 2010-12-28 16:35:39 +01:00
Nikolay Sivov 22022d13d1 oleaut32: Get rid of some magic offset values, use structure for that. 2010-12-27 11:50:38 +01:00
Nikolay Sivov 677302cf22 oleaut32: Move common define to a header. 2010-12-27 11:49:52 +01:00
Nikolay Sivov 6408679e44 oleaut32: Fix GetLibAttr for null argument, plus error handling. 2010-12-22 13:00:11 +01:00
Nikolay Sivov c395ae563e oleaut32: Basic parameter validation tests for some GetTypeInfo* methods. 2010-12-22 13:00:10 +01:00
Andrew Eikum c0f120db5d oleaut32: Search inherited interfaces again in ITypeComp::Bind. 2010-11-10 12:13:39 +01:00
Michael Stefaniuc ec382f4345 oleaut32: The function pointer should be const and not the return value. 2010-09-07 17:59:14 +02:00
Alexandre Julliard a0a4667fde oleaut32: Add tests for DispCallFunc and fix a number of corner cases. 2010-08-26 12:35:31 +02:00
Alexandre Julliard 21abfc5355 oleaut32: Implement DispCallFunc for x86_64. 2010-08-25 16:18:50 +02:00
Alexandre Julliard 3c380daa59 oleaut32: Simplify the i386 implementation of DispCallFunc. 2010-08-25 16:17:10 +02:00
Jacek Caban 7d7586d358 oleaut32: Try both SYS_WIN64 and SYS_WIN32 syskind in QueryPathOfRegTypeLib on win64. 2010-08-20 13:21:01 +02:00
Andrew Nguyen f2610a6109 oleaut32: Partially implement UnRegisterTypeLibForUser. 2010-07-30 14:59:42 +02:00
Andrew Nguyen f4fa417be9 oleaut32: Partially implement RegisterTypeLibForUser. 2010-07-30 14:59:41 +02:00
Huw Davies baef9a7e92 oleaut32: Don't invoke a function that has the restricted attribute or is part of an interface that's marked as restricted. 2010-07-29 17:33:36 +02:00
Alexandre Goujon 14db6a802c oleaut32/typelib: Fix ITypeInfo_Invoke with restricted keyword. 2010-07-20 12:35:51 +02:00
Andrew Eikum 3173305e88 oleaut32: Don't fail if member is missing in ITypeComp::Bind. 2010-07-19 14:38:17 +02:00
Michael Stefaniuc 0f82f68734 oleaut32: Avoid using long. 2010-05-10 13:46:08 +02:00
Alexandre Julliard 3681a28024 oleaut32: Query the path of the correct kind of typelib when unregistering it. 2010-04-09 11:14:16 +02:00
Alexandre Julliard e851556f6b oleaut32: Fix some pointer conversion warnings on 64-bit. 2010-04-07 14:25:02 +02:00
Vincent Povirk d9c01dcc40 oleaut32: Limit the number of arguments traced. 2010-04-07 13:50:28 +02:00
Huw Davies fbaaedd967 oleaut32: Only unregister those types that were registered. 2010-04-01 18:12:59 +02:00
Huw Davies adeba6ee80 oleaut32: Only oleautomation interfaces as well as all dispinterfaces should be registered. 2010-04-01 18:12:58 +02:00
Vincent Povirk 8ff7238ade oleaut32: Allow named args to be combined with positional args in fnInvoke. 2010-03-22 10:42:23 +01:00
Piotr Caban d2319ae841 oleaut32: Fix ITypeInfo GetImplTypeFlags for dispinterfaces. 2010-03-18 11:14:27 +01:00
Vincent Povirk 5893f3227c oleaut32: Always use DISPID_PROPERTYPUT to fill in the last argument. 2010-03-17 10:07:57 +01:00