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