Robert Shearman
8a50262fdb
oleaut: Move the initialisation of memidConstructor and
...
memidDestructor of type infos to the common ITypeInfo creation
function.
Remove the WARN message as this functionality isn't implemented in
native either.
2006-07-05 11:47:52 +02:00
Robert Shearman
92b468e810
oleaut: Process references for SLTG dispatch types.
2006-07-05 11:46:20 +02:00
Robert Shearman
e4188e8846
oleaut: Abstract out the processing of variables in SLTG typelib components to a common function.
2006-07-05 11:46:07 +02:00
Robert Shearman
bc6acf5c1d
oleaut: Process references when parsing SLTG alias types.
2006-07-05 11:45:35 +02:00
Robert Shearman
23e089a09f
oleaut: Rename SLTG_DoType to SLTG_DoElem and split out the common TYPEDESC generating code to SLTG_DoType.
...
Process SLTG alias types with SLTG_DoType as the data is stored in the
same format as in other components of the typelib.
2006-07-05 11:45:22 +02:00
Robert Shearman
663fb8bd56
oleaut: The SLTG_MemberHeader and SLTG_TypeInfoTail structures are
...
common to all elements, so move the processing of these from the
individual element processing.
Improve SLTG alias processing.
2006-07-05 11:45:08 +02:00
Robert Shearman
283049b8fc
oleaut: Document some more members of SLTG_TypeInfoTail.
2006-07-05 11:44:33 +02:00
Robert Shearman
2fa3cc03a5
oleaut32: Fix a typo where the FIXME doesn't match the code.
2006-06-30 20:43:56 +02:00
Robert Shearman
166a91b12d
oleaut32: RegisterTypeLib should register any interface that derives
...
from IDispatch rather than just dual interfaces.
This is hinted at, although not explicitly stated on MSDN, but was
verified by tests with native oleaut32.
2006-06-29 14:40:01 +02:00
Juan Lang
24dd931a56
oleaut32: Handle bstr length of -1 in typelibs.
2006-06-28 16:53:28 +02:00
Alexandre Julliard
707060913c
oleaut32: Use the standard DEFINE_OLEGUID macro to define GUIDs.
2006-06-09 21:09:35 +02:00
James Hawkins
585763ffa9
oleaut32: Only BYREF DispCallFunc args whose input args are not BYREF should be changed.
2006-06-06 11:46:14 +02:00
James Hawkins
0e5bd51d28
oleaut32: Copy BYREF args directly if they have the same variant type.
2006-06-06 11:46:03 +02:00
Robert Shearman
9c738061e0
oleaut32: Make sure to read the memid and the name offset from the
...
correct offsets, after the function data, so add cFuncs to the offsets
in MSFT_DoVars.
Resolve referenced types for variables.
Fixes initialisation of the dbgrid32 OCX.
2006-05-31 15:48:07 +02:00
Robert Shearman
983ad4accd
oleaut32: Resolve referenced types for return values as well as parameters in MSFT typelibs.
2006-05-31 15:47:55 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Robert Shearman
6c6ce70260
oleaut32: Check the return value from VariantCopy when copying values
...
for VT_VARIANT typed parameters for ITypeInfo::Invoke.
2006-05-05 21:51:11 +02:00
Robert Shearman
5e8c877f96
oleaut32: Support values being passed into VT_VARIANT|VT_BYREF typed parameters in ITypeInfo::Invoke.
2006-05-05 21:50:58 +02:00
Mike McCormack
e0276035a4
oleaut32: Remove unnecessary check for NULL.
2006-04-07 11:46:04 +02:00
Robert Shearman
11c83c5d5e
oleaut32: Zero out parameter in LoadRegTypeLib in case of failure.
2006-03-30 12:43:38 +02:00
Robert Shearman
4b19449b6b
oleaut: ITypeInfo::GetIDsOfNames should search inherited interfaces
...
regardless of what type they are.
Add a test for this and dump type infos created with CreateDispTypeInfo.
2006-03-21 20:02:11 +01:00
Robert Shearman
264b122d52
oleaut: Better support for invoking methods with VT_VARIANT argument types.
2006-03-21 16:19:06 +01:00
Robert Shearman
1ce38682fb
oleaut32: Fix returning Typelib file name.
...
We can't use GetModuleFileName on a resource-only module, so the best
we can do is to copy the original name we used to find the type
library. Fix a couple of places where we were incorrectly using the
file name, rather than the path.
2006-02-14 11:33:40 +01:00
Robert Shearman
265f042801
oleaut: Fix importing the IDispatch interface for TKIND_DISPATCH type infos.
...
Fix importing the IDispatch interface for TKIND_DISPATCH type infos
when the offset isn't specified. It should be fetched from the
dispatch offset stored in the header, rather than using a hack that
doesn't work.
2006-02-10 14:50:53 +01:00
Robert Shearman
a633e22bdd
oleaut: Make TLB_ReadTypeLib not rely on the signature of executables or dlls.
...
Try loading the dll first and then fall back to the regular file case.
Only call SearchPath for the regular file case since LoadLibraryEx
will do this for us and it previously excluded builtin dlls and
executables from having their type libraries opened.
2006-02-09 12:11:54 +01:00
Robert Shearman
19b6046e21
oleaut: Move the call to SearchPath inside of TLB_ReadTypeLib.
2006-02-09 12:11:01 +01:00
Robert Shearman
00ecbd05e8
oleaut: Revert incorrect patch changing the order of parameters passed
...
into DispCallFunc. A test with native indeed shows that the parameter
index increases from the leftmost parameter to the rightmost.
2006-02-09 12:10:26 +01:00
Huw Davies
7000aca824
oleaut32: Fixes and tests for CreateDispTypeInfo.
...
CreateDispTypeInfo returns the typeinfo of a coclass which implements
the described interface.
2006-02-06 20:57:09 +01:00
Huw Davies
16cc1858d0
ole: Initialize a few more funcdesc members in CreateDispTypeInfo.
2006-02-03 12:29:39 +01:00
Robert Shearman
61708da1c8
oleaut: Dump the pointer for VT_ARRAY/VT_VECTOR typed variants.
2006-01-31 12:21:27 +01:00
Robert Shearman
be13d154c6
oleaut: Fix the order of parameters passed into DispCallFunc.
2006-01-30 14:55:57 +01:00
Robert Shearman
1f04fc6a49
oleaut: Handle a non-byref variant being passed for a byref param in
...
ITypeInfo::Invoke.
2006-01-16 20:44:13 +01:00
Robert Shearman
d86f8d2ef2
oleaut: Only allocate memory once for each array needed for the
...
arguments in ITypeInfo::Invoke.
2006-01-16 20:43:55 +01:00
Robert Shearman
0f8db3feca
oleaut: Simplify missing argument handling in ITypeInfo::Invoke.
...
Simplify missing argument handling by pre-allocating an array of the
maximum number of missing arguments there could be.
2006-01-16 20:43:20 +01:00
Robert Shearman
1616f81d00
oleaut: Add const attribute to iterators in get functions.
2006-01-14 17:48:12 +01:00
Robert Shearman
0b2c0d8365
oleaut: Initialise more fields in CreateDispTypeInfo.
...
Don't leave some of the fields of the TLBFuncDesc structure
uninitialised in CreateDispTypeInfo.
2006-01-14 17:47:36 +01:00
Robert Shearman
9227902714
oleaut: Support conversion of VT_SAFEARRAY into VT_ARRAY|type.
...
Typelib variant types that cannot be converted should return
DISP_E_BADVARTYPE.
Don't call DispCallFunc if conversion of one of the arguments failed.
2006-01-12 11:53:47 +01:00
Marcus Meissner
cf173911a3
ole: ITypeInfo::Invoke stack overwrite fix.
...
Have enough stack space up to even VT_VARIANTs, fixes a stack
corruption.
2006-01-11 20:55:07 +01:00
Robert Shearman
d2bdbd4ea5
ole: Remove the no longer used _copy_arg function.
2006-01-06 21:16:21 +01:00
Robert Shearman
8cf5373f60
ole: ITypeInfo::Invoke rewrite.
...
Re-implement ITypeInfo::Invoke on top of DispCallFunc and
VariantChangeType instead of _invoke and _copy_arg.
2006-01-06 21:15:48 +01:00
Mike McCormack
98ed3fa553
oleaut32: Output a FIXME message only once.
2006-01-06 12:16:58 +01:00
Dan Kegel
d69366a171
oleaut32: Allow _invoke to handle up to 23 parameters.
2006-01-05 13:41:35 +01:00
Robert Shearman
83ff8560c3
ole: Store the result from _invoke in a VARIANTARG structure.
2006-01-05 12:18:54 +01:00
Mike McCormack
8193d97bfd
oleaut32: Allow _invoke to handle up to 17 parameters.
2006-01-03 12:11:44 +01:00
Robert Shearman
e6fa361967
oleaut: Small re-organisation of ITypeInfo::Invoke.
...
Only output the one function in the trace for ITypeInfo::Invoke.
Process the return value on output in ITypeInfo::Invoke, but only copy
it to pVarResult if pVarResult is not NULL.
2005-12-26 13:04:31 +01:00
Robert Shearman
6b97438011
oleaut32: Convert some tabs to spaces and some other formatting changes.
2005-12-26 13:04:02 +01:00
Robert Shearman
fa49c971f1
oleaut32: Initialize member IDs to MEMBERID_NIL inITypeInfo::GetIDsOfNames.
...
Better tracing.
2005-12-26 13:03:27 +01:00
Robert Shearman
088fc70ede
ole: Improve typelib traces.
...
Move the debug channel check from dump_TLBFuncDesc[One] to its callers
for more flexibility in which channel controls the output.
2005-12-26 13:02:47 +01:00
Robert Shearman
69aa9f9d2e
OLE: Add const to several typelib functions.
...
Add const attributes to parameters for several functions and fix up
some formatting.
2005-12-12 11:52:23 +01:00
Robert Shearman
a056a9a89c
OLE: Implement undocumented behaviour in DispCallFunc.
...
Fix DispCallFunc to work with MSDN-undocumented behaviour used by
Office 2003 and document the function.
2005-12-06 21:25:51 +01:00