Commit Graph

290 Commits

Author SHA1 Message Date
Rob Shearman 5edc7fd5ef oleaut32: TKIND_COCLASS parameters to Invoke'd functions should be converted into VT_DISPATCH instead of VT_UNKNOWN.
Add a test for this.
2007-03-08 13:50:45 +01:00
Rob Shearman 30b6f9acd6 oleaut32: Fix the return value of ITypeInfo::Invoke when the property-put named argument isn't DISPID_PROPERTYPUT. 2007-02-08 12:59:36 +01:00
Rob Shearman a3235dd1d4 oleaut32: Implement automatic value getting in ITypeInfo::Invoke.
If an IDispatch object is returned from in the retval for a propget 
function and an extra parameter was passed in to ITypeInfo::Invoke then 
it should call IDispatch::Invoke on the returned object with the extra 
parameter to retrieve the value of the object, which is then returned in 
pVarResult.
2007-02-08 12:59:32 +01:00
Rob Shearman e88d033044 oleaut32: Ignore the first named argument when invoking property-put methods
as it is mandatory and doesn't indicate that the arguments will be
passed in as named ones.
2007-02-06 22:06:16 +01:00
Rob Shearman 21140a9a53 oleaut32: Add support for named arguments in ITypeInfo::Invoke. 2007-02-06 22:05:59 +01:00
Rob Shearman 702e2c6dc2 oleaut32: Copy the value directly returned from the called function
if it is not an HRESULT value, instead of getting it from a [retval]
attribute.
2007-02-06 22:05:50 +01:00
Rob Shearman 8f38cd8c8c oleaut32: Fix the missing argument handling for non-byref variant arguments. 2007-02-06 21:36:34 +01:00
Rob Shearman e2108feec4 oleaut32: If an error info object was created when the invoked method failed then fill in exception info from the error info object. 2007-02-06 21:36:13 +01:00
Huw Davies a09cd1b88a oleaut32: Call SearchPath before LoadLibrary so that we get the full path of native exes and dlls.
For builtin dlls prepend the system directory.
2007-02-06 20:23:16 +01:00
Huw Davies a59e4899f5 oleaut32: The typelib version numbers should be written to the registry in hex. 2007-01-25 11:05:46 +01:00
Andrew Talbot d6fc116475 oleaut32: Declare some items static. 2007-01-22 12:08:55 +01:00
Dmitry Timoshkov 601bf6ea12 oleaut32: Make some data const and static. 2006-11-28 12:36:20 +01:00
Alex Villacís Lasso 64410e5907 oleaut32: typelib - fix regression in MSFT typelib parsing. 2006-11-09 10:44:13 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Rob Shearman 7f71545835 oleaut32: Update comments at the top of typelib.c and remove "stub" from several traces that are in implemented functions. 2006-10-27 11:59:50 +02:00
Rob Shearman 47bf80da8c oleaut32: Fix a crash in dump_DispParms when running the typelib test with debug tracing on. 2006-10-24 17:46:56 +02:00
Rob Shearman aa203f0919 oleaut32: Free the array subscript memory for type descriptions when freeing the typelib. 2006-10-24 17:46:49 +02:00
Rob Shearman a26af4861d oleaut32: Fix a reference count leak in CreateDispTypeInfo. 2006-10-24 17:46:34 +02:00
Rob Shearman d72ef78fa6 oleaut32: Initialise all members of the FUNCDESC structure in CreateDispTypeInfo. 2006-10-24 17:46:27 +02:00
Rob Shearman 053b6b21b6 oleaut32: Fix two more leaks on type info destruction. 2006-10-23 15:19:02 +02:00
Rob Shearman b5c78d0dff oleaut32: Rewrite MSFT_ReadName and MSFT_ReadString to need one less allocation and to fix a memory leak. 2006-10-23 15:18:56 +02:00
Rob Shearman b3d024a7bb oleaut32: Free allocated memory on typelib and typeinfo destruction. 2006-10-23 15:18:38 +02:00
Dmitry Timoshkov 20c40e0659 oleaut32: Make QueryPathOfRegTypeLib test pass under Wine. 2006-10-23 15:16:55 +02:00
Francois Gouget ef998ea6cb Assorted spelling fixes. 2006-10-16 11:33:38 +02:00
Michael Stefaniuc 15765dd953 The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility. 2006-10-16 10:53:04 +02:00
Hans Leidekker ce66f5d684 oleaut32: Win64 printf format warning fixes. 2006-10-13 12:08:47 +02:00
Huw Davies 03ec218326 oleaut32: Implement ITypeInfo_CreateInstance. 2006-10-09 20:38:41 +02:00
Robert Shearman dd70c0ae7c oleaut32: Fix ITypeInfo::GetFuncDesc to return the correct information for dual dispinterfaces. 2006-10-02 21:38:12 +02:00
Robert Shearman 65ca6a2f4d oleaut32: Make ITypeInfo::GetDocumentation work for functions/variables in inherited interfaces. 2006-10-02 21:38:07 +02:00
Andrew Talbot 0e9c97eba3 oleaut32: Cast-qual warnings fix. 2006-09-25 18:15:39 +02:00
Robert Shearman b7e88d8f8b oleaut32: Fix a leak of the module reference count. 2006-09-07 10:16:47 +02:00
Benjamin Arai d1282dce88 oleaut32: Add support for handling TKIND_COCLASS in userdefined_to_variantvt. 2006-08-22 12:00:01 +02:00
Stefan Siebert 9776f5b83f oleaut32: GetTypeInfoType - Return TYPE_E_ELEMENTNOTFOUND if index out of bounds. 2006-08-03 19:56:22 +02:00
Robert Shearman 40556ae08f oleaut32: Improve dump_DispParms. 2006-07-31 21:27:29 +02:00
Robert Shearman 33582cc69e oleaut32: Add some validation for the DISPPARAMS structure in ITypeInfo::Invoke. 2006-07-31 21:25:44 +02:00
Robert Shearman eb885a750f oleaut32: Initialize pRetVal in ITypeInfo::Invoke before calling VariantCopyInd
as native doesn't assume that it doesn't contain valid data.
2006-07-24 13:46:57 +02:00
Robert Shearman ad6b0dc281 oleaut32: Revert check for FUNCFLAG_FRESTRICTED in ITypeInfo::Invoke.
The change caused regressions in a number of applications and needs more 
study to see what the correct behaviour should be.
2006-07-18 11:12:35 +02:00
Robert Shearman 31f640274f oleaut32: Don't execute a function in ITypeInfo::Invoke if it has the FUNCFLAG_FRESTRICTED flag.
Add some more tests for ITypeInfo::Invoke.
2006-07-14 12:39:02 +02:00
Robert Shearman f9c9a2bf3d oleaut32: Convert void return types to the VT_EMPTY variant type in ITypeInfo::Invoke. 2006-07-13 16:26:19 +02:00
Robert Shearman 797bdbc2d9 oleaut32: Typelib interfaces with the FDUAL flag should also be registered,
since dispinterfaces don't have the FDISPATCHABLE flag.
2006-07-13 16:26:12 +02:00
Robert Shearman 688c6a78f1 oleaut32: MSFT_DoFuncs: "reclength" of the function information record is stored
in a 16 bit int and not in a 8 bit int as previously supposed, using a 0x1ff
mask. Upper 16 bits contains the ordinal number of the function. 
Allocation of the "recbuf" must be modified, to support larger data
(based on a patch by White Snake <whitesnake78@mail.com>).
2006-07-10 11:53:03 +02:00
Robert Shearman ef7b6e2740 oleaut32: ITypeComp_fnBind should do case-insensitive compares on the name passed in. 2006-07-07 13:31:43 +02:00
Robert Shearman dd677948b4 oleaut32: Fix the error code returned by ITypeComp on an interface when the name matches, but the flags don't. 2006-07-07 13:30:46 +02:00
Robert Shearman 65639ab722 oleaut: Implement processing of modules for SLTG typelibs.
Set funckind when processing SLTG functions.
2006-07-05 11:48:41 +02:00
Robert Shearman 3f97460c2b oleaut: Improve SLTG var support.
Pass both the start of the block and the offset to the first item into
SLTG_DoVars as they may be different.
Process 0xfffe offsets for variable names - this means to use the
previous name.
Add support for parsing the optional varflags field.
2006-07-05 11:48:29 +02:00
Robert Shearman 4b6b51ae99 oleaut: Fix function support for SLTG dispinterfaces. 2006-07-05 11:48:13 +02:00
Robert Shearman f2eb2d2309 oleaut: Move the processing of functions in SLTG typelibs into a
separate function and use it when processing dispinterfaces.
2006-07-05 11:48:03 +02:00
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