Commit Graph

209 Commits

Author SHA1 Message Date
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
Gregg Mattinson ecdafc37a2 Fixed void* arithmetic. 2002-07-16 01:12:39 +00:00
Gregg Mattinson 6886467cb9 Fixes to allow big endian machines to load MSFT typelib files. 2002-07-10 23:07:59 +00:00
Jason Edmeades 5b6a9ff537 - VarAnd, VarCmp (Strings only), VarNot implemented.
- VarParseNumFromStr/VarNumFromParseNum handle negative currency
  numbers.
- More VarCmp support (Decimals and Dates).
- Date support for VB time only (0.0->1.0), corrected some date
  rounding and calculation errors around variant dates and the system
  time.
- Variant date support now round trips! (Date->Variant->Date) due to
  misuse of tm_mon (0..11 not 1..12).
- Better pre-1899 support for dates in the SYSTEMTIME format.
- VarBstrFromCy, VarCyFromStr implemented.
- VarFormat partial implementation (currency and date support).
- VarFormatFromTokens, VarTokenizeFormatString partial implementation
  as per w2k (dates only so far).
- Better debugging when dumping variants, and some additional trace
 points to help debugging.
- Fix to VarBstrCmp to handle null and empty string the same (as per
  w2k, different to msdn).
- Fix return from VarDateFromUdate.
- Correct definition of CY structure.
2002-06-20 23:07:55 +00:00
Marcus Meissner 30f9da4b58 ITypelib::Invoke: Handle different length arguments better, we also
return 1 VARIANT only.
2002-06-20 22:45:08 +00:00
Huw D M Davies 61fc6f8cd3 Add more magic to find the start of the nametable. 2002-06-10 23:01:34 +00:00
Marcus Meissner 238cdeab1b Added some debugoutput functions for TYPEATTR, IDLDESC, VARDESC.
Support more parameters in _invoke (needed for IDispatch::Invoke in
the marshaller).
2002-06-10 02:29:55 +00:00
Steven Edwards fb24f71e5b Porting fixes. 2002-06-04 00:50:11 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Andreas Mohr 841ce935d2 Removed obsolete email address. 2002-05-23 02:41:46 +00:00
Alexandre Julliard 9b6f433ebb Implemented strtolW/strtoulW in libwine_unicode and used it to replace
wcstol and friends.
2002-05-16 18:58:47 +00:00
Marcus Meissner 87ecfab4ec Small hack to make InstallShield v6 work better. 2002-05-06 20:12:32 +00:00
Alexandre Julliard b53f13093e Attempt at fixing MAX_PATH issues for mingw. 2002-05-01 18:13:18 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Marcus Meissner 0749fc2034 Implemented Local Server COM.
Implemented the Typelib based Marshaler.
2002-02-05 18:11:17 +00:00
Malte Starostik 4062cd924f Do not destroy ITypeLib held by ITypeInfo before the latter is freed. 2002-02-04 18:32:20 +00:00
Huw D M Davies eb16e1b055 Weird thing with lcid of library is that if sublang is neutral then we
return the primary lang else we return 0.
2002-01-29 17:05:11 +00:00
Dimitrie O. Paun 693cca5d4d Make FIXMEs more grep-able. 2002-01-29 03:12:19 +00:00