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
Robert Shearman
1f68feeef1
OLE: Implement ITypeInfo_AddressOfMember.
2005-12-06 21:24:45 +01:00
Robert Shearman
b0d8e06caf
OLE: Fix brokenness in typelib marshaller caused by dispinterface retval fix.
...
Fix more fallout from dispinterface retval patch: make typelib
marshaler use the internal function description so that it calls
dispinterface functions with the correct number of parameters again.
Also fixes some memory leaks caused by the fact that a corresponding
ReleaseXDesc function has to be called for each GetXDesc.
2005-12-06 21:24:19 +01:00
Robert Shearman
806cdce355
OLE: Update the type of the oVft parameter for DispCallFunc.
2005-12-06 21:23:09 +01:00
Robert Shearman
3dd7ba394c
OLE: ITypeInfo_Invoke parameter naming change.
...
Rename the dwFlags parameter of ITypeInfo_Invoke since it is not a
DWORD, but an unsigned short.
2005-12-06 10:57:45 +01:00
Robert Shearman
190d05f4db
OLE: Support HREFTYPEs For ITypeInfos
...
Add support for reading the hreftype of a typeinfo, return it to the
application in ITypeComp_Bind for the DESKIND_APPOBJECT case and
support referencing it in ITypeInfo_GetRefTypeInfo.
2005-12-03 18:20:27 +01:00
Robert Shearman
d8d1693def
OLE: fix function name loading
...
Correctly get the name of the second function of a propget/propput
pair in MSFT typelibs when the name offset is set to -1.
2005-12-03 18:20:03 +01:00
Robert Shearman
bd8fefd66b
OLE: fix invoking dispinterface functions
...
Fix invoking dispinterface functions by using the internal
representation of the function, not the one returned to applications.
2005-12-03 18:19:17 +01:00
Robert Shearman
d48f6f3682
OLE: Move the dispinterface return value handling to functions that
...
return the FUNCDESC to the user.
2005-12-03 18:10:30 +01:00
Robert Shearman
a61e4e802c
OLE: fix handling of INVOKE_PROPERTYGET flag in ITypeComp_fnBind.
...
The INVOKE_PROPERTYGET flag shouldn't affect binding to variables; it
should just affect which of a pair of [propget] and [propput]
functions should be returned.
2005-12-03 18:03:29 +01:00
Robert Shearman
cc9052c38e
Make dump functions const.
2005-12-01 12:55:31 +01:00
Robert Shearman
695556af16
Remove broken return value handling code and that would reference
...
memory beyond the end of the arguments array. Replace it with code
that properly handles referencing the return type and setting the
return type to VT_VOID when a dispinterface function doesn't have any
return value.
2005-12-01 12:48:56 +01:00
Robert Shearman
960aadaceb
Introduce a variable "elemdesc" to eliminate some long common
...
expressions.
Move the contents of the second arguments loop inside the first.
Move the MSFT_ReadLEDWords so that it is the last statement in the
loop since it is one of the iterators.
2005-12-01 12:34:39 +01:00
Robert Shearman
48e1a72a23
Don't truncate large integer constants.
2005-12-01 11:37:11 +01:00
Robert Shearman
55ffe637db
The pparamdescex of an ELEMDESC should only be copied if wParamFlags &
...
PARAMFLAG_DHASDEFAULT.
Make ITypeInfo_ReleaseVarDesc use TLB_FreeElemDesc.
2005-12-01 11:12:07 +01:00
Robert Shearman
6e2804e19a
Factor out code for doing ELEMDESC sizes and copies.
...
Copy FUNCDESC structures returned to calling applications instead of
passing a pointer to the master structure used internally.
Call VariantInit on newly allocated memory before calling VariantCopy.
2005-11-30 12:01:33 +01:00
Robert Shearman
f0a600a162
Implement ITypeInfo_Bind for typelibs.
...
Fix some places where a returned object was AddRef'd.
Make the search through implemented types work on all types, not just
interfaces.
2005-11-29 11:25:24 +01:00
Robert Shearman
25bfb811a3
Add functions for doing a deep copy of a TYPEDESC into a flat buffer.
...
Copy VARDESC structures returned to calling applications instead of
passing a pointer to the master structure used internally.
2005-11-29 10:42:22 +01:00
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
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
Marcus Meissner
de46c22917
The \\<nr> magic in LoadTypeLibEx found directories, which was not
...
intended. Return error in that case.
2002-01-22 18:28:51 +00:00
Bill Medland
064972768d
Fixed GetDocumentation a little. When called from RegisterTypeLib it
...
was leaving the Doc entry uninitialised, leading to page fault when
measuring it. Also ensure correct freeing of resources on failure.
2002-01-09 19:10:59 +00:00
Andreas Mohr
9cef2d0b1d
- fix wrong hexadecimal GetLastError() output
...
- misc fixes
- changed my email address
2001-11-19 02:30:01 +00:00
Huw D M Davies
c10d17dee9
Fixes stupid bug with typelib filenames.
2001-11-12 15:50:01 +00:00
Ove Kaaven
27e179794d
Fixed bugs with propget methods with input arguments.
...
Improved variant debug dumps.
2001-10-14 16:07:49 +00:00
Francois Gouget
141039a54c
Move the RT_XXX macros to winuser.h.
...
winuser.h: Add support for NOGDI.
winuser.h: Modify to allow compilation without wingdi.h.
2001-10-10 02:51:24 +00:00
Huw D M Davies
e2a9e49349
Remove some unnecessary AddRef's.
2001-10-05 19:37:44 +00:00
Ove Kaaven
f26d2522af
The DISPPARAMS parameter array is a reverse-order array.
2001-10-04 18:11:11 +00:00
Ove Kaaven
77f8e5fef2
ITypeInfo::Invoke should also search inherited interfaces for the
...
method to invoke.
ITypeInfo::GetIDsOfNames needs to do case-insensitive string
compares.
2001-10-04 16:14:08 +00:00
Ove Kaaven
e35f4ee144
Don't ignore DISPATCH_METHOD in ITypeInfo::Invoke.
2001-10-03 18:42:54 +00:00
Huw D M Davies
58aa0a12b9
Looks like the SLTG_ImplInfo struct isn't a fixed size.
2001-10-03 18:41:26 +00:00
Huw D M Davies
04f90ca78a
Long nameless args in SLTG apparently get denoted by 0xfffe.
2001-10-02 17:25:55 +00:00
Huw D M Davies
899861d130
Better handling of typelibs loaded with a trailing resource number.
...
The logic for determining whether an SLTG typelib has a function param
as a 'short' or 'long' type has been 'refined'.
2001-09-26 23:05:35 +00:00
Ove Kaaven
eebbeef944
Register typelib marshaling for OLE Automation-compatible interfaces.
2001-09-21 21:00:37 +00:00
Huw D M Davies
3db218a2a1
Load some useful TYPEATTR elements from v1 typelibs.
2001-09-10 23:13:28 +00:00
Huw D M Davies
0d969c7043
Add reader for v1 (SLTG) typelibs.
...
Fix a few problems with v2 (MSFT) typelibs.
LoadTypeLibEx should do a SearchPath to locate typelib.
2001-09-07 15:27:16 +00:00
Francois Gouget
9947b68c3e
Add the decVal field to VARIANT.
...
Fix the VARIANT C layout, i.e. the union/struct names/nesting.
Encapsulate all accesses to VARIANT types with the V_VT and V_UNION
macros.
2001-08-21 17:03:10 +00:00
Marcus Meissner
f7c69ede9e
First (partial) implementation of ITypeInfo::Invoke.
...
Fixed buffer len passing to snprintf().
2001-08-06 17:46:18 +00:00
Malte Starostik
b91c3ca7d1
Implemented RegisterTypeLib.
2001-08-03 18:13:24 +00:00
Patrik Stridvall
4b1574577d
- Made sure that the files that contains the declarations
...
of the implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-23 23:50:18 +00:00
Patrik Stridvall
01d5e5b071
Documentation fixes.
2001-07-02 19:59:40 +00:00
Patrik Stridvall
3ca9823941
Documentation ordinal fixes.
2001-06-20 23:03:14 +00:00
Francois Gouget
ee285b7ac8
Remove unnecessary single quoting of debugstr_xxx strings.
2001-05-11 20:03:40 +00:00
Francois Gouget
e76218dd61
Add '\n' at the end of traces.
2001-05-09 17:31:31 +00:00
Andreas Mohr
b6474aebd4
The for loop in ITypeLib2_fnFindName was wrong (extra ';').
2001-03-05 19:32:50 +00:00
Francois Gouget
282f7270c1
Small 'typos in comments' fixes.
2001-02-28 05:31:02 +00:00
François Gouget
da2b6a9f26
Fixed some HFILE vs. HANDLE mismatches.
...
If not used the last parameter of CreateFile must be 0, not -1.
2001-01-06 01:29:18 +00:00
Francois Jacques
11ed84009e
- TLB_DoFuncs: code cleanup and elemdescFunc read correctly from TLB.
...
- TLB_LoadTypeLib: ref count problem.
- ITypeLib::GetTypeInfoOfGuid: safer implementation (pointer testing).
- ITypeInfo::GetRefTypeOfImplType: safer implementation (pointer testing).
- ITypeInfo2::GetDocumentationL return errors if SysAllocString failed.
- TLB loader functions now trace in "typelib" channel.
- Improved traces in AddRef/Release and improved dump_* functions for
debugging.
2000-12-21 20:20:12 +00:00
Gerard Patel
53d198cc00
Misc fixes for QueryPathOfRegTypeLib, TLB_ReadTypeLib,
...
ITypeInfo_fnGetContainingTypeLib.
2000-12-19 03:37:44 +00:00
Alexandre Julliard
f6168db690
Fixed some warnings.
2000-12-13 20:03:53 +00:00
Patrik Stridvall
2b3aa616e8
Added/modified documentation for function arguments.
2000-12-01 23:58:28 +00:00
Andreas Mohr
cb45438be2
- added winver settings nt2k, win30 and win20 (yes, some rare programs need this)
...
and *document* it (win98 was not documented previously)
- OaBuildVersion: add value for NT4 SP6
- spelling fixes
2000-11-27 01:39:05 +00:00
Francois Jacques
7163957908
- support for arguments with referenced types
...
- imported type libraries
- dispinterfaces
- dual interfaces
- ref count problems
- memory leaks fixed
2000-11-25 23:51:30 +00:00
Francois Jacques
e21864225a
Updated the load process so that all typelibs (and not just the first
...
one, as it used to) stored in a DLL can be loaded.
2000-10-26 19:29:09 +00:00
Francois Jacques
d1082dcaa1
Updated typelib loader. Typelib contents can be stored as multibyte
...
strings. However, they are always returned to the application as BSTR,
e.g. UNICODE strings. All strings are now stored as BSTR instead of
ASCII strings.
2000-10-25 21:24:53 +00:00
Francois Gouget
9046658f06
Fixed some prototypes.
2000-10-03 04:09:17 +00:00
Alexandre Julliard
83f52d11c1
Moved all Win16 definitions out of the standard Windows headers.
2000-09-26 22:20:14 +00:00
Alexandre Julliard
072dfb57e3
Removed inclusion of wine/winestring.h from winbase.h and added it to
...
the C files that need it.
2000-09-25 23:30:56 +00:00
Gerard Patel
9005713d39
Avoid infinite loop if QueryPathOfRegTypeLib is called with lcid=0.
2000-09-19 02:37:07 +00:00
Francois Jacques
133d70788a
- removed unnecessary recursion
...
- upon query failure on main primary lcid and secondary lcid,
attempts a query on system lcid (0)
2000-08-22 20:51:55 +00:00
Alexandre Julliard
d586dc99be
Replaced VERSION_* calls by exported API equivalents.
2000-08-14 14:35:01 +00:00
James Hatheway
044d251980
- Avoid null-pointer exceptions by testing listnodes validity before doing
...
any work with those.
- TLB_ReadTypeLib now retrieves the length of the TLB and passes it to
the TLB constructor which initializes TLBContext::length to that
value.
- For non-standard pointed types, td[3] is always 0. I observed that
the type is stored at td[2]/8 and not td[3]/8.
- Null-pointer exception occurs when GetRefTypeOfImplType is called on a
type with no inherited interfaces. If the implemented types linked list
is empty, set pRefType as 0 and return S_OK.
2000-08-09 22:24:04 +00:00
Alexandre Julliard
691171b8e6
Small dll interfaces cleanups.
2000-08-08 20:49:16 +00:00
Marcus Meissner
e5c1b9dded
Added CreateTypeLib,LHashValOfNameSys stubs.
...
Check for correct struct magic before reading out of it.
2000-07-29 21:54:58 +00:00
Juergen Schmied
e3b8640c77
- better loading of *.tlb files
...
- seperated code for loading tlb resource into memory from code for
parsing the tlb resource.
2000-07-10 10:57:28 +00:00
Huw D M Davies
2cbda2ef92
Stub implementation of LHashValOfNameSysA.
...
Don't crash if we encounter a BSTR with length <= 0.
Fix typos in ITypeLib::GetDocumentation.
2000-07-09 12:17:52 +00:00
Huw D M Davies
cd136c1256
Fix typo in ITypeLib::IsName.
2000-07-08 11:46:33 +00:00
Juergen Schmied
07b143ed4d
- removed hack to find the right resource
...
- updated to use the ICOM macros
- cleaned up use typelib and typelib2 (was mixed up)
2000-06-24 13:50:52 +00:00
Alexandre Julliard
917910324f
Cleaned up a few inter-dll dependencies.
2000-06-23 16:13:33 +00:00
Patrik Stridvall
0ee98cc39f
Fixed ANSI C violations.
2000-02-26 13:17:55 +00:00
Alexandre Julliard
d65198c6b3
Changed the loading of typelib files to use a memory mapping instead
...
of reading the file bit by bit.
2000-02-18 19:08:40 +00:00
Alexandre Julliard
383da68cf9
Optimized debugging API to reduce code size.
2000-02-10 22:15:21 +00:00
Francois Gouget
f82a723a43
The COM virtual tables must use the
...
'ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE' macro to provide padding in C++.
2000-01-30 02:55:16 +00:00
Dimitrie O. Paun
dd03cc19fd
Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
...
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Andreas Mohr
ffdd1717d4
- the OLE version returned was too low
...
- renamed OABuildVersion16 to OaBuildVersion16
- spelling fixes
1999-12-05 23:52:56 +00:00
Francois Gouget
6e74ec0015
Use the COM macros rather than directly accessing the lpvtbl field.
1999-10-13 14:01:40 +00:00
Rein Klazes
260cd4ec94
First implementation of LoadTypeLibEx().
1999-09-29 12:15:05 +00:00
Patrik Stridvall
8276f696fc
Fixed some of the issues reported by winapi-check.
1999-09-23 11:48:02 +00:00
Ulrich Weigand
2a722f498a
Moved bulk of OLE implementation to dlls/ subdirectories.
1999-09-19 18:36:53 +00:00