Commit Graph

226 Commits

Author SHA1 Message Date
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Robert Shearman 7dc54af325 - Cleanup formating of DispCallFunc.
- Fix DispCallFunc for functions with return values.
- Don't rely on _copy_arg as it is going away soon.
2005-11-09 10:31:20 +00:00
Huw Davies 753e4ee9bd Don't call Release on a null ptr. 2005-11-02 20:54:34 +00:00
Robert Shearman 1acbdd9d2a - Make wParamFlags in the paramdesc dumping function human readable.
- Enums should be VT_I4 instead of VT_INT.
- Trace the return value from the ITypeInfo_fnInvoke.
2005-11-02 19:59:13 +00:00
Robert Shearman 0033a5a8e7 - Read DLL name from modules in MSFT typelibs.
- A name offset of -1 for a parameter means that it has the same name
  as the function.
- Print an error if a ReadName is attempted with an offset of -1,
  since this will read garbage.
- Implement ITypeInfo_GetDllEntry.
2005-10-29 10:30:57 +00:00
Huw Davies 284687a621 When a dispinterface isn't dual, we should return
TYPE_E_ELEMENTNOTFOUND when trying to get index -1.
2005-10-18 14:09:47 +00:00
Mike McCormack c818a4e662 Fix "empty body in an if/else-statement" warnings. 2005-09-21 09:46:28 +00:00
Marcus Meissner 43e73ebba2 Support more arguments in _invoke(). 2005-09-19 14:29:41 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Robert Shearman 80c31a9cb1 - Shunt some trace statements over to the typelib channel that aren't
really much use except in debugging typelib parsing.
- Make sure to release a reference to being returned as VariantCopyInd
  takes one for us.
2005-08-29 21:46:34 +00:00
Mike McCormack a04b77ddc2 gcc 4.0 warning fixes. 2005-08-08 18:38:29 +00:00
Robert Shearman a30b6a91a1 Revert to previous behaviour of detecting names with non-alphanumeric
characters as ones with offsets, but add in a special case for an
empty name.
2005-08-08 11:04:20 +00:00
Robert Shearman 6b3b110d31 - A name in an SLTG typelib only beginning with 0xff is the indicator
of an offset, instead of any non alpha-numeric character.
- Any dispatch interface should have the fixed vtable size, not just
  dual ones.
- Warn when ITypeInfo_GetDocumentation fails.
2005-07-28 10:14:37 +00:00
Alexandre Julliard 738e88db5f Replace the ICOM_THIS_From macros by inline functions. 2005-07-27 15:14:18 +00:00
Robert Shearman 8b8c901a78 - Fix VT_BYREF|VT_UNKNOWN return values by comparing the correct value
with VT_UNKNOWN and VT_DISPATCH.
- Better tracing.
2005-07-19 20:02:38 +00:00
Robert Shearman 5550636044 Return DISP_E_EXCEPTION from ITypeInfo_Invoke on an error in the
called function.
2005-07-19 20:00:37 +00:00
Robert Shearman 0648ab6131 Remove RegisterTypeLib hack. 2005-07-19 19:43:37 +00:00
Robert Shearman 500c41b75e Support VT_BYREF|VT_I4 in _copy_arg. 2005-07-19 19:13:45 +00:00
Mike McCormack fc200d0ca7 Interlocked LONG* gcc warning fixes. 2005-07-11 10:25:19 +00:00
Stefan Huehner 17ed5537e7 Fix some more -Wmissing-declarations warnings. 2005-07-05 11:05:50 +00:00
Robert Shearman fb42af123b Add a generic TYPEDESC VT to VARIANT VT mapper so we can use the
standard Variant* routines. Use this new function to properly copy &
de-reference the return value.
2005-06-29 20:15:00 +00:00
Huw Davies fe311461a7 Cope with the index in a import table entry being a typeinfo index
rather than a guid offset.
2005-06-29 19:18:25 +00:00
Stefan Huehner 863a4b1488 Fix some more -Wstrict-prototypes warnings. 2005-06-21 20:53:13 +00:00
Marcus Meissner 970ae8d0ba Corrected string length method in ITypeLib::IsName() and FindName()
for LPOLESTR type.
2005-06-13 09:59:55 +00:00
Robert Shearman 3fe5a1eb62 Clear out parameters to stop bad pointers lying around in memory if
the function doesn't set them to anything.
2005-06-10 19:31:45 +00:00
Marcus Meissner 4dd845ed53 Fixed IType::Invoke in regards to handling propertyget variables
longer than 4 bytes (like VT_DATE).
2005-06-08 18:32:09 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Robert Shearman 9ddf17bfa7 - Fix the return values from QueryPathOfRegTypeLib.
- Open registry key with least access rights necessary.
- Documentation updates.
2005-06-01 11:03:29 +00:00
Daniel Remenak d46cc36347 Remove unused variable in _copy_arg. 2005-04-14 11:32:10 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Jon Griffiths eb5bf7dd38 Documentation spelling fixes. 2005-02-25 14:07:56 +00:00
Huw Davies beea69c820 The typelib cache should take the typelib resource index into
account.
2005-02-22 19:30:16 +00:00
Jon Griffiths 743fb99a9f Use variant macros instead of accessing the union directly. 2005-02-22 14:54:01 +00:00
Mike Hearn 80380eaa32 Allow loading of builtin typelibs. 2005-02-21 18:34:41 +00:00
Vincent Béron dff207d3ce Remove message telling users to copy native stdole32.tlb over as we
now provide it.
Better trace in LoadTypeLib.
Change debug messages type to reflect we provide stdole32.tlb.
2005-01-31 11:34:10 +00:00
Huw Davies d070d8fb46 The value of a packed VARIANT can be up to 1L << 26 - 1. 2005-01-09 18:00:32 +00:00
Paul Vriens 202b340a51 - use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
2005-01-09 17:29:21 +00:00
Huw Davies dcb25230e0 Fix comment to reflect reality and indeed the code. 2004-12-17 18:56:49 +00:00
Jon Griffiths f82272c92f Remove unneeded headers to reduce unneeded rebuilds. 2004-12-16 14:35:55 +00:00
Eric Pouech 4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +00:00
Huw Davies 033276b687 Remove the remaining dependencies on internal structures from Invoke. 2004-12-09 11:36:27 +00:00
Huw Davies 3dc64fc541 GetTypeAttr should deep copy the typedesc. 2004-12-08 19:32:28 +00:00
Huw Davies 7a6c099921 Fix return value of GetVarIndexOfMemId. 2004-12-08 17:48:16 +00:00
Huw Davies 23ded07e63 Remove Invoke's dependence on the internal TLBFuncDesc structure.
Fix memory leaks in some failure cases.
2004-12-07 16:59:40 +00:00
Huw Davies 367d16931e GetFuncIndexOfMemId should respect invkind and return
TYPE_E_ELEMENTNOTFOUND if the function cannot be found.
2004-12-07 14:18:29 +00:00
Huw Davies 81768fe150 Allocate the TYPEATTR rather than copying it.
For a dual interface the dispinterface's cfuncs should include the
inherited functions, cbSizeVft should just be the size of IDispatch's
vtbl and we should strip TYPEFLAG_FOLEAUTOMATION.
2004-12-02 19:58:07 +00:00
Alexandre Julliard 32457b4f5a Converted more of the (Un)RegisterTypeLib code to Unicode.
Factored out some common routines.
2004-10-22 22:09:09 +00:00
Mike McCormack 56fc9bfade Use Unicode functions in RegisterTypeLib. 2004-10-22 20:29:34 +00:00
Vincent Béron 4eeae1adb3 Fix some types problems. 2004-10-18 22:39:21 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Huw Davies ddae24c50b Implement CreateDispTypeInfo. 2004-10-05 18:07:49 +00:00
Marcus Meissner 5539e288a6 Function return types cannot be const. 2004-09-27 20:33:27 +00:00
Alexandre Julliard 241a4c34b1 Get rid of the non-standard ICOM_THIS macro. 2004-09-09 21:03:58 +00:00
Jacek Caban ab4b5fbd70 Added suport for optional arguments in ITypeInfo::Invoke. 2004-08-27 19:10:47 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Jacek Caban bf9f8da333 Ref counting fixes. 2004-08-19 20:29:16 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Alexandre Julliard 0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +00:00
Mike McCormack 0394eeed8d Refcounting fixes. 2004-07-06 21:28:13 +00:00
Mike Hearn 163eb22bff Dump function return type in typelib traces, add trace support for
VT_HRESULT.
2004-06-28 20:31:39 +00:00
Ivan Leo Puoti c01570cc33 Removed dcom link. 2004-05-29 00:22:38 +00:00
Francois Gouget 52c0832161 Make Unicode strings static const. 2004-04-20 01:12:17 +00:00
Francois Gouget 6a6c85c6d8 Make Unicode const strings static so they are not copied to the stack
each time we enter the function.
2004-04-19 20:12:14 +00:00
Robert Shearman 92940e0c4f BSTR of length 0 is allowed. 2004-03-22 22:57:51 +00:00
Marcus Meissner 09c8cc97f7 Added more argument numbers for _invoke(). 2003-12-30 19:06:21 +00:00
Marcus Meissner 30ccb3bd22 Yet another useful hint for missing stdole32.tlb. 2003-12-15 19:47:51 +00:00
Andrew de Quincey eb4d6e079d - Implemented HELPDIR subkeys properly in RegisterTypeLib().
- Implemented UnRegisterTypeLib().
- Fixed various minor bugs.
2003-12-13 00:04:06 +00:00
Andrew de Quincey 8b773b125a Upwards traversal of inheritance tree didn't occur for dispatch
interfaces.
2003-12-10 00:38:17 +00:00
Jon Griffiths 4f0f1d9253 Improve/shrink variant dumping code. 2003-11-25 01:49:48 +00:00
Dmitry Timoshkov 1fa82e51c2 Apply same magic to LibAttr.lcid from MSFT to SLTG. 2003-11-18 00:02:25 +00:00
Jon Griffiths bb61fe35a2 Dump a few more known variant types.
Don't call DateToTM() - it's going away soon.
2003-11-14 20:59:46 +00:00
Marcus Meissner 49eaa0db2b Do not coerce arguments of ITypeLib::Invoke in-place, or we get
corrupted variants.
Handle V_ARRAY | something -> VT_SAFEARRAY, as this is a NOP.
2003-11-03 22:13:05 +00:00
Alexandre Julliard 81db03dd61 The imported typelib name must be converted to Unicode. 2003-10-16 19:09:41 +00:00
Daniel Marmier 0348649853 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-06 21:03:32 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Mike Hearn 6e9f278602 Implemented a typelib loader cache. 2003-08-28 19:44:08 +00:00
Alexandre Julliard 864ca06832 winnls.h must not include winbase.h. 2003-08-20 18:22:31 +00:00
Robert Shearman 860a2714ae - Silence the FIXME about constructor/destructor since it is wrong for
99.9% of cases (if MS will ever use the feature at all)
- Added stubs for ITypeComp interface in ITypeLib
- Implementation of ITypeComp in ITypeInfo
2003-06-27 19:40:03 +00:00
Marcus Meissner 144b0d150b Handle VT_I2 <-> VT_USERDEFINED/TKIND_ENUM conversions too. 2003-05-15 22:58:17 +00:00
Dmitry Timoshkov 1eb2c05070 Remove redundant ITypeLib2_AddRef's. Makes
LoadTypeLib/ITypeLib2_Release work.
2003-05-13 22:15:26 +00:00
Francois Gouget f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +00:00
Alexandre Julliard 150cd5a784 Avoid local WINAPI function pointers in _invoke. 2003-04-17 02:20:52 +00:00
Alexandre Julliard c2ebe1ff93 Removed uses of the non standard ICOM_VTBL macro. 2003-04-10 18:17:34 +00:00
Marcus Meissner 84213a37ff Handle VT_PTR->VT_VARIANT arguments of Invoke. 2003-03-04 02:14:10 +00:00
Mike Hearn ea957415b0 Check both pointers in GetContainingTypeLib. 2003-02-26 04:36:03 +00:00
Marcus Meissner 0df0304048 Print a large failure message if we try to load stdole32.tlb and
fail.
2003-01-21 19:29:33 +00:00
Marcus Meissner d5e60ea373 Convert VT_DISPATCH variants into VT_USERDEFINED/TKIND_DISPATCH and
TKIND_INTERFACE targets, Query IID_IDispatch if necessary.
2003-01-11 20:58:35 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Alexandre Julliard 52395b0eb9 Fixed some issues caused by the new oaidl.h. 2003-01-05 20:32:30 +00:00
Marcus Meissner 4beaa06e9d Process TKIND_ALIAS in SLTG typelibs, 0x14 in the tail is the
tdescAlias.vt entry.
Added a small handler for TKIND_DISPATCH in SLTG.
ITypeLib_Release can have a NULL pointer as ITypeInfo*.
Split out _copy_arg function for both DispCall and ITypeInfo_fnInvoke,
added some more functionality.
ITypeInfo_fnInvoke can handle VT_USERDEFINED variants.
2003-01-02 23:11:19 +00:00
Alberto Massari ea1ca9c705 Implemented DispCallFunc so that it works when calling event handlers
that have no return value.
2002-12-12 22:59:25 +00:00
Marcus Meissner 3b5e2d1a08 Split out 16bit code into typelib16.c. 2002-12-12 03:56:36 +00:00
Ove Kaaven 1f5315c80f Make sure that no files except unknwn.h include wine/obj_base.h
directly.
2002-12-05 20:33:07 +00:00
Alberto Massari 1a4f5cff4e ITypeInfo::Invoke now is able to invoke a function even when it is
provided with a byref argument.
2002-11-13 19:36:57 +00:00
Marcus Meissner dbebcffb6f Added partial implementation of ITypeInfo::GetDllEntry(). 2002-11-11 22:24:31 +00:00
Marcus Meissner 8e801e25f6 Silence one FIXME(). Implement ITypeInfo::GetDocumentation for
variable descriptions.
2002-11-11 19:54:04 +00:00
Marcus Meissner 1bd4bbb569 Draft implementation of DispCallFunc. 2002-11-08 18:51:28 +00:00
Alexandre Julliard 267ca68253 Fixed HANDLE<->HFILE conversions, since they will be different types
when handles are void*.
2002-07-31 17:20:00 +00:00