Commit Graph

980 Commits

Author SHA1 Message Date
Jacek Caban e8f4fff3ea oleaut32: res50 is number of impinfos. Fix its usage. 2006-05-15 11:48:29 +02:00
Thomas Weidenmueller 05d629264c oleaut32: Fix converting file name to Unicode.
Fix converting the typelib file name to Unicode by using the correct
buffer size.
2006-05-15 11:06:28 +02:00
Robert Shearman 74407105d2 Check the return value from register_key_guid in all the DLL registering code. 2006-05-10 19:38:04 +02:00
Huw Davies 40986cd729 oleaut32: Correctly handle the case when the number of bytes in a BSTR is odd. 2006-05-10 19:24:01 +02:00
Huw Davies 86d9457cdc oleaut32: Support VT_SAFEARRAY in the typelib marshaler.
Based on a patch by Rob Shearman.
2006-05-10 19:23:43 +02:00
Huw Davies d0bdf685f5 oleaut32: Add a function to grow the marshal state buffer to a specified size. 2006-05-10 19:23:29 +02:00
Huw Davies df40c966a0 oleaut32: Preserve the 'auto' features before copying over the masked unmarshaled ones. 2006-05-08 21:18:32 +02:00
Huw Davies c7bb8bd4fe oleaut32: Implement GetVarDesc_Proxy and friends. 2006-05-08 14:50:42 +02:00
Huw Davies 9235ae2ecd oleaut32: Change CLEANLOCALSTORAGE flag constants to their character
constant equivalents.  It's now obvious why these were chosen.  Should
be a NOP.
2006-05-08 14:50:34 +02:00
Huw Davies 3abd27c624 oleaut32: Fix VARIANT_UserFree. 2006-05-07 10:11:06 +02:00
Huw Davies 2898b5d9ad oleaut32: Remove weird attempt to clear VT_VARIANT.
Add some tests.
2006-05-07 10:10:56 +02:00
Huw Davies 696f73a7f5 oleaut32: Rewrite VARIANT user marshaling. 2006-05-07 10:10:30 +02:00
Robert Shearman 6c6ce70260 oleaut32: Check the return value from VariantCopy when copying values
for VT_VARIANT typed parameters for ITypeInfo::Invoke.
2006-05-05 21:51:11 +02:00
Robert Shearman 5e8c877f96 oleaut32: Support values being passed into VT_VARIANT|VT_BYREF typed parameters in ITypeInfo::Invoke. 2006-05-05 21:50:58 +02:00
Huw Davies 17ec77f19e oleaut32: Alignment fixes for safearrays. 2006-05-05 21:47:13 +02:00
Huw Davies 74b63d5e0d oleaut32: Fix tests under win2k. 2006-05-05 21:47:02 +02:00
Huw Davies 747f08c8ae oleaut32: Split out the SAFEARRAY and BSTR tests so that they can be used in the upcoming VARIANT tests. 2006-05-05 21:46:47 +02:00
Huw Davies 2e8a74d520 oleaut32: Fix BSTR marshaling to be wire compatible with Windows. 2006-05-05 21:46:32 +02:00
Huw Davies e783531ec2 oleaut32: Implement GetDocumentation_Proxy/Stub. 2006-05-05 17:04:09 +02:00
Huw Davies 5e69b5d9ff oleaut32: Implement GetFuncDesc_Proxy and friends. 2006-05-05 17:03:52 +02:00
Huw Davies 32a626fdbd oleaut32: Implement GetTypeAttr_Proxy and friends. 2006-05-05 16:56:01 +02:00
Huw Davies 195ae60e97 oleaut32: Implement CLEANLOCALSTORAGE marshalling and fix GetLibAttr to use it.
Based on some documentation by Rob Shearman.
2006-04-19 19:17:49 +02:00
Robert Shearman 50a9c208c6 oleaut32: Fix differences between the size returned in sizing the
buffer for interfaces and the buffer actually used.
2006-04-18 16:49:01 +02:00
Robert Shearman a963fd6285 oleaut32: Initialise BSTR pointer to NULL in VARIANT_UserUnmarshal.
Initialise BSTR pointer to NULL before calling BSTR_UserUnmarshal,
otherwise BSTR_UserUnmarshal will try to use the memory in the
pointer.
2006-04-18 16:48:48 +02:00
Antonio Codazzi 135ca99f88 oleaut32: Added Esperanto language. 2006-04-11 11:27:47 +02:00
Robert Shearman cca69647a3 oleaut32: Fix typo in LPSAFEARRAY_Unmarshal.
Fix typo in LPSAFEARRAY_Unmarshal where the check for the failure of
the SafeArrayCreateEx call was missing a dereference operator (found
by Coverity).
2006-04-07 13:09:23 +02:00
Robert Shearman f74dfe3182 oleaut32: Remove deadcode in SafeArrayPutElement.
Remove deadcode in SafeArrayPutElement, as lpBstr cannot be NULL
because of the check at the top of the function on pvData (found by
Coverity).
2006-04-07 13:09:08 +02:00
Mike McCormack e0276035a4 oleaut32: Remove unnecessary check for NULL. 2006-04-07 11:46:04 +02:00
Robert Shearman 22e7eeb2a3 oleaut32: Add IPersist to QueryInterface. 2006-03-30 12:43:52 +02:00
Robert Shearman 11c83c5d5e oleaut32: Zero out parameter in LoadRegTypeLib in case of failure. 2006-03-30 12:43:38 +02:00
Robert Shearman aa2214626e oleaut32: Replace memcmp with IsEqualIID macro.
Replace memcmp with IsEqualIID macro that doesn't require a size
parameter and remove the unneeded brackets to give more compact and
more readable code.
2006-03-30 12:43:33 +02:00
Francois Gouget 6bddeb1cf7 Assorted spelling fixes. 2006-03-21 20:10:39 +01:00
Robert Shearman 4b19449b6b oleaut: ITypeInfo::GetIDsOfNames should search inherited interfaces
regardless of what type they are.

Add a test for this and dump type infos created with CreateDispTypeInfo.
2006-03-21 20:02:11 +01:00
Robert Shearman 264b122d52 oleaut: Better support for invoking methods with VT_VARIANT argument types. 2006-03-21 16:19:06 +01:00
Francois Gouget 74b6aba216 oleaut32: Reorder a few functions to avoid forward declaractions. 2006-03-09 12:51:42 +01:00
Robert Shearman b3a8a3d559 oleaut: Implement VarBstrFromDisp. 2006-03-06 11:10:26 +01:00
Robert Shearman 93acfeb7f0 oleaut: Fix VarFormat for VT_NULL variants. 2006-03-06 11:09:54 +01:00
Robert Shearman e5b2c14665 oleaut: Add some more VarFormat tests and fix the VarMod decimal test. 2006-03-06 11:08:32 +01:00
Robert Shearman 08764dde8a oleaut: Split OLEPictureImpl_Load.
Split OLEPictureImpl_Load into separate functions for the different file
types.
2006-03-06 11:08:19 +01:00
Robert Shearman 269909f53e oleaut: Use IsEqualIID in connpt.c instead of memcmp for comparing IIDs. 2006-03-01 19:54:09 +01:00
Robert Shearman 7fbca4c111 oleaut: Fix standard font cloning.
Create new empty connection points on clone of the standard Font
(based on a patch by Alex Villacís Lasso).
2006-02-24 11:23:03 +01:00
Robert Shearman 6ad326a607 oleaut: Test some error conditions in ITypeInfo::GetIDsOfNames and ITypeInfo::Invoke. 2006-02-16 19:33:08 +01:00
Robert Shearman d16c0dc6ce oleaut32: Free connection point on destruction of the picture object.
Handle failure of CreateConnectionPoint on construction.
2006-02-14 11:34:00 +01:00
Robert Shearman 1ce38682fb oleaut32: Fix returning Typelib file name.
We can't use GetModuleFileName on a resource-only module, so the best
we can do is to copy the original name we used to find the type
library.  Fix a couple of places where we were incorrectly using the
file name, rather than the path.
2006-02-14 11:33:40 +01:00
Robert Shearman 1891e137da oleaut32: Free the connection points on destruction of the font object.
Free the connection points on destruction of the font object and cope
with failure of CreateConnectionPoint on construction.
2006-02-14 11:33:18 +01:00
Robert Shearman 9030ff2c13 oleaut32: Don't try to release NULL COM objects in the typelib
marshaler.
2006-02-14 11:33:03 +01:00
Robert Shearman 792d89f53a oleaut32: Fix flag comparison in Picture Invoke.
One or more invoke flags can be passed into IDispatch::Invoke, but we
only care if INVOKEFLAG_PROPERTYGET is specified, and don't about any
others.
2006-02-14 11:32:53 +01:00
Francois Gouget 90aaf6ba8f include: Add missing LANG_xxx and SUBLANG_xxx constants. 2006-02-14 10:42:12 +01:00
Robert Shearman 98fd1c5678 Return the correct error code from IConnectionPointContainer::FindConnectionPoint. 2006-02-10 14:51:30 +01:00
Robert Shearman f4acfe9a53 oleaut: Partially implement Invoke on the standard picture implementation. 2006-02-10 14:51:03 +01:00
Robert Shearman 265f042801 oleaut: Fix importing the IDispatch interface for TKIND_DISPATCH type infos.
Fix importing the IDispatch interface for TKIND_DISPATCH type infos
when the offset isn't specified. It should be fetched from the
dispatch offset stored in the header, rather than using a hack that
doesn't work.
2006-02-10 14:50:53 +01:00
Robert Shearman bcac0cd5d5 oleaut: Add tests for IFontEventsDisp. 2006-02-10 14:50:40 +01:00
Robert Shearman d49e808be0 oleaut: Implement IFontEventsDisp connection point for the standard
font implementation.
2006-02-10 14:50:26 +01:00
Robert Shearman a633e22bdd oleaut: Make TLB_ReadTypeLib not rely on the signature of executables or dlls.
Try loading the dll first and then fall back to the regular file case.
Only call SearchPath for the regular file case since LoadLibraryEx
will do this for us and it previously excluded builtin dlls and
executables from having their type libraries opened.
2006-02-09 12:11:54 +01:00
Robert Shearman 19b6046e21 oleaut: Move the call to SearchPath inside of TLB_ReadTypeLib. 2006-02-09 12:11:01 +01:00
Robert Shearman 00ecbd05e8 oleaut: Revert incorrect patch changing the order of parameters passed
into DispCallFunc. A test with native indeed shows that the parameter
index increases from the leftmost parameter to the rightmost.
2006-02-09 12:10:26 +01:00
Robert Shearman b0218db90a oleaut32: Fix circular reference count in Typelib marshaler.
The current method of handling typelib-marshaled interfaces that derive
from IDispatch is to query for an IDispatch pointer from the proxy, but
this causes a circular reference count.
Fix the reference counting by loading using the IRpcProxyBuffer of
IDispatch without an outer unknown, so that the lifetime is controlled
by the typelib-marshaled interface's proxy. The IDispatch proxy now
shares the same channel as the typelib-marshaled interface, so fix up
the stub side to handle this.
2006-02-07 16:26:23 +01:00
Robert Shearman fd81d9c56e oleaut32: Handle VT_INT in serialize_param and deserialize_param. 2006-02-07 16:26:02 +01:00
Robert Shearman ec5d73910c oleaut32: Release interfaces when told to.
Make the VT_DISPATCH and VT_UNKNOWN cases of serialize_param match the
TKIND_INTERFACE case below by releasing their respective interfaces as
necessary.
2006-02-07 16:25:42 +01:00
Francois Gouget 379b62c04e Assorted spelling fixes. 2006-02-06 20:58:36 +01:00
Huw Davies 7000aca824 oleaut32: Fixes and tests for CreateDispTypeInfo.
CreateDispTypeInfo returns the typeinfo of a coclass which implements
the described interface.
2006-02-06 20:57:09 +01:00
Fatih Aşıcı b1a67bba3a oleaut32: Turkish translation. 2006-02-06 13:05:30 +01:00
Huw Davies 16cc1858d0 ole: Initialize a few more funcdesc members in CreateDispTypeInfo. 2006-02-03 12:29:39 +01:00
Ulrich Czekalla 37f1d4cb54 oleaut32: Prevent freeing of random memory.
Don't assign type to variant until we're sure we are assigning a
value.
2006-02-02 13:18:43 +01:00
Robert Shearman 61708da1c8 oleaut: Dump the pointer for VT_ARRAY/VT_VECTOR typed variants. 2006-01-31 12:21:27 +01:00
Robert Shearman be13d154c6 oleaut: Fix the order of parameters passed into DispCallFunc. 2006-01-30 14:55:57 +01:00
Alexandre Julliard a76d5a10ed oleaut32: Ignore new test ok file. 2006-01-27 15:47:57 +01:00
Robert Shearman 385e693e44 ole: Test and implement LPSAFEARRAY marshaling. 2006-01-27 12:54:22 +01:00
Robert Shearman 799ebfc499 oleaut: Improve the typelib marshaler traces.
Improve the typelib marshaler traces for lazy developers like me who
don't want to grep for constants.
2006-01-27 12:54:03 +01:00
Dmitry Timoshkov 57a579ffcd Make more arrays const. 2006-01-24 14:00:32 +01:00
Michael Stefaniuc ba23adba41 oleaut: Add missing SysFreeString to the Var{Mul,Add,Cmp} tests. 2006-01-18 11:30:23 +01:00
Michael Stefaniuc 0d00d9af0e oleaut: Merge the VarCmp tests from vartype.c into vartest.c. 2006-01-18 11:30:01 +01:00
Robert Shearman 89846948e3 oleaut: Reduce an ERR down to a WARN since a NULL interface pointer
doesn't signify an error; it is just unusual.
2006-01-18 11:29:01 +01:00
Michael Stefaniuc 2f9c9b31ae oleaut32: Tests for the VarCmp reimplementation. 2006-01-16 21:34:59 +01:00
Michael Stefaniuc f73b68b016 oleaut32: Reimplement VarCmp().
- Supports now all WinXP allowed combinations of input variants.
- VT_RESERVED on input variants is handled now.
- Removed complicated VT_DATE comparision; that's not how Windows does it.
- Improved documentation.
2006-01-16 21:34:50 +01:00
Michael Stefaniuc e47b813fc6 oleaut32: Define missing but useful VTBIT_* macros. 2006-01-16 21:32:24 +01:00
Robert Shearman 1f04fc6a49 oleaut: Handle a non-byref variant being passed for a byref param in
ITypeInfo::Invoke.
2006-01-16 20:44:13 +01:00
Robert Shearman d86f8d2ef2 oleaut: Only allocate memory once for each array needed for the
arguments in ITypeInfo::Invoke.
2006-01-16 20:43:55 +01:00
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 878af6661e oleaut: Support VT_CY in the typelib marshaller. 2006-01-14 17:47:25 +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 9f1c6bf6bc OLE: Fix SafeArrayCopy for NULL pvData.
It is allowed to copy a SAFEARRAY with a NULL pvData, as long as
cbElements is non-zero. Add a test for this and fix the safe array
code.
2005-12-12 11:52:51 +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 e7299cdf47 OleTranslateColor trace fix.
OleTranslateColor isn't a stub so don't print ":stub" in the trace
message.
2005-12-12 11:52:02 +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 36f112973e OLE: Add tests for the typelib version of ITypeComp_Bind. 2005-12-06 21:23: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
Michael Stefaniuc 8ec3906768 Fix VarBstrCmp for NULL input BSTRs (MSDN is wrong). 2005-12-05 12:00:24 +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
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
YunSong Hwang 58d6722e7a Add Korean translations. 2005-11-11 10:55:09 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Francois Gouget f4c0524ec6 Assorted spelling and case fixes. 2005-11-10 11:39:07 +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
Marcus Meissner c49f5f0095 Added support of loading of IPicture data from non-statable
IStreams. Added testcases for this.
2005-11-07 11:09:10 +00:00
Marcus Meissner 7e08a24f83 Fixed FMT_DATE_GENERAL and FMT_DATE_TIME_SYS cases in
VARIANT_FormatDate.
2005-11-05 10:42:09 +00:00
Marcus Meissner 2045ed2299 Added support for VT_I8/VT_UI8 marshalling. 2005-11-04 11:13:55 +00:00
Robert Shearman 3a0a31843e Add a test for Invoking an OleFont function. 2005-11-04 11:13:08 +00:00
Uwe Bonnes 87df07452a Extend VarCmp() and add test cases. 2005-11-03 13:21:11 +00:00
Huw Davies 753e4ee9bd Don't call Release on a null ptr. 2005-11-02 20:54:34 +00:00
Robert Shearman 4381c62560 Fix a crash during +variant logging caused by a typo causing an array
to be one element less than expected.
2005-11-02 20:03:01 +00:00
Robert Shearman efe606fddb - Make sure to clean up properly on error.
- Restrict the critical section to getting the channel buffer and
  adding a reference to it.
2005-11-02 20:00:00 +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 ebb839733a The PSDispatch PS class factory can manage both typelib marshalled and
IDispatch, which is NDR marshalled, so we need a wrapper to call the
appropriate CreateProxy or CreateStub function.
2005-11-02 10:54:52 +00:00
Marcus Meissner d6e45770b5 SysReAllocString of same pointer returns TRUE. 2005-11-01 18:06:41 +00:00
Huw Davies 0fb5729693 Deal with pExcepInfo == NULL. 2005-10-31 15:43:53 +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
Michael Stefaniuc 8ecefe9e93 Handle VT_DECIMAL in VarCmp(). 2005-10-28 10:08:31 +00:00
Alex Villacís Lasso c1d07134b8 Add tests for functionality implemented or corrected: multiplication,
division, cast to double, cast to string.
2005-10-27 12:09:40 +00:00
Robert Shearman 69562b0edf There is no need to call IUnknown_QueryInterface since getting the
correct object is handled by the proxy manager.
2005-10-27 12:08:58 +00:00
Robert Shearman 3c2bda8f83 Add IFontEventsDisp and IProvideMultipleClassInfo. 2005-10-27 10:19:54 +00:00
Alex Villacís Lasso 69b5f808a7 Implement complete VarDecDiv() for any valid DECIMAL. 2005-10-26 13:53:21 +00:00
Huw Davies 0c6d54631f Treat paramflags == 0 like PARAMFLAG_FIN. 2005-10-26 12:06:49 +00:00
Alex Villacís Lasso fa49ffcb61 Implement complete VarDecMul() for any valid DECIMAL. 2005-10-26 12:06:41 +00:00
Michael Stefaniuc c64abfa374 Handle VT_CY in VarDiv(). 2005-10-26 12:05:39 +00:00
Robert Shearman 5c2a708d51 - Forward IDispatch functions to the MIDL-generated proxy.
- Remove special cases caused by previous marshaling of IDispatch &
  IUnknown that is no longer done.
- Add error messages if an IUnknown or IDispatch method is called when
  it no longer should be.
2005-10-26 10:12:30 +00:00
Alex Villacís Lasso 00187fab29 Implement complete VarBstrFromDec() for any valid DECIMAL, with
internationalization support borrowed from VARIANT_BstrFromReal(). The
decimal fix for VARIANT_BstrFromReal was encapsulated in a separate
function and reused.
2005-10-26 10:12:20 +00:00
Huw Davies f630f97842 Proxies and stubs for GetTypeInfoCont, GetLibAttr and ReleaseLibAttr. 2005-10-20 11:35:30 +00:00
Pierre d'Herbemont f26e8090c2 Allow compilation on non-i386. 2005-10-19 19:06:49 +00:00
Huw Davies c0cd7dc6fa Implement GetContainingTypelib_{Proxy,Stub}. 2005-10-18 14:09:58 +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
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Francois Gouget 335fce9ce0 Fix .spec declarations for functinos with 64bit arguments (reported by
winapi_check).
2005-09-26 09:56:40 +00:00
Francois Gouget 10f72c719b Add trailing '\n's to ok() calls. 2005-09-26 09:52:25 +00:00
Alex Villacís Lasso 680bf12aec Fix a scaling error in VarR4FromDec() and VarR8FromDec() that
incorrectly multiplies the high 32 bits of the DECIMAL by 1e64 instead
of the correct 2^64.
2005-09-22 10:49:01 +00:00
Alexandre Julliard 0ec0f048e6 Removed unused debug channels. 2005-09-22 10:44:40 +00:00
Alex Villacís Lasso 253f3bf5be Modify VarDiv() and VarSub() to use the existing VarDecSub() and
VarDecDiv() for DECIMAL.
2005-09-22 10:35:16 +00:00
Alexandre Julliard 9f1c6de1ef We are no longer generating .spec.c files. 2005-09-21 14:42:52 +00:00
Mike McCormack c818a4e662 Fix "empty body in an if/else-statement" warnings. 2005-09-21 09:46:28 +00:00
Milko Krachounov 980f817737 Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
2005-09-19 17:00:58 +00:00
Marcus Meissner 43e73ebba2 Support more arguments in _invoke(). 2005-09-19 14:29:41 +00:00
Robert Shearman b3a4b59668 Fix ref-counting rules to match native DCOM Dlls. 2005-09-18 11:10:37 +00:00
Alexandre Julliard 7c1925a0f3 Remove the 'L' suffix on a number of constants to avoid comparison
errors on 64-bit platforms.
2005-09-13 15:00:32 +00:00
Walt Ogburn d765cb960f Get IFontDisp type information from stdole2.tlb, instead of IDispatch
information from stdole32.tlb.
2005-09-13 10:36:54 +00:00
Marcus Meissner bd7ec9aca5 The last argument to MultiByteToWideChar is wide character count and
not the buffer size in bytes. Fixed all places where it was wrong.
2005-09-12 22:07:53 +00:00
Alexandre Julliard e1646dd215 Use MAKEINTRESOURCE instead of casts where appropriate. 2005-09-12 20:29:16 +00:00
Alexandre Julliard 4c34d9386c Specify 64-bit integers as double instead of long long in spec files
so that we get the correct number of arguments.
2005-09-09 15:05:01 +00:00
Alex Villacís Lasso 10f0ace4a2 Make Single|Double->BSTR conversion use the specified locale for the
decimal point even without the LOCALE_USE_NLS flag. Test supplied.
2005-09-09 15:01:17 +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
Marcus Meissner 6f823db58b VT_PTR->VT_USERDEFINED chains depend on the TKIND of the userdefined
type due to our handling of COM interfaces in there.
2005-09-07 09:23:04 +00:00
Robert Shearman f6daf49061 Add VT_UNKNOWN support for VARIANT marshaling by generalising the
existing VT_DISPATCH code.
2005-09-02 11:18:57 +00:00
Robert Shearman 44d6e39c8b Make typelib marshaler use IRpcChannelBuffer::GetBuffer if possible. 2005-08-29 21:46:51 +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
Alexandre Julliard cc4da88563 Explicitly import kernel32 in tests that use it. 2005-08-27 09:27:09 +00:00
Mike McCormack 93ab695a5c Fix gcc 4.0 warnings. 2005-08-26 08:53:31 +00:00
Robert Shearman 4519b1bd1d - Remove redundant QueryInterface in marshal_interface - the object is
always queried later on for the correct interface of the object.
- Make sure to Release the marshaled pointer in the typelib marshaler
  once it is no longer required.
2005-08-24 09:44:41 +00:00
Michael Stefaniuc fc663043d3 Implement IPicture::get_hPal for PICTYPE_BITMAP. 2005-08-24 09:44:25 +00:00
Michael Stefaniuc 4d36546c07 - VarAdd, VarMul: I4 overflows to R8 and not I8 even if the result
would fit in I8. Fix tests.
- Document a brokeness in the handling of I8 numbers in
  VarNumFromParseNum. Fix tests.
2005-08-23 09:33:37 +00:00
Walt Ogburn 9473bcbb93 Add tests for olefont size functions & conversions. 2005-08-22 09:22:52 +00:00
Walt Ogburn 2bcc1c07a9 When applying logical / himetric ratio to olefont sizes, must divide
by the standard ratio 72 / 2540.
2005-08-22 09:22:43 +00:00
Vincent Béron 7160af007c Uniformize DllMain TRACEing across dlls. 2005-08-15 10:48:51 +00:00
Francois Gouget 0de0d11357 Change some Dll* functions so they are exported by name like on
Windows.
Update the documentation accordingly.
2005-08-10 13:02:43 +00:00
Alexandre Julliard b8d0f4cd10 Get rid of the almost empty tmarshal.h file. 2005-08-09 10:38:54 +00:00
Alexandre Julliard 095fb5b061 Moved a number of definitions that are not needed in other files into
vartype.c
2005-08-09 10:34:21 +00:00
Mike McCormack a04b77ddc2 gcc 4.0 warning fixes. 2005-08-08 18:38:29 +00:00
Saulius Krasuckas 7782e72322 Comment out VarDateFromStr() calls that generate exceptions on WinME. 2005-08-08 17:58:14 +00:00
Alexandre Julliard 66868e532b Removed some unnecessary macros, and make some functions static. 2005-08-08 15:08:22 +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
Mike McCormack 50a6d970f5 gcc 4.0 warning fixes for Interlocked* functions. 2005-08-03 11:03:05 +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
Alexandre Julliard dac19768fa Get rid of cursoricon.h. 2005-07-20 10:31:37 +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 6bfae1a1b7 - IRpcStubBuffer_Disconnect can be called multiple times.
- Release TypeLib when freeing stub buffer.
2005-07-19 20:00:07 +00:00
Robert Shearman f29a1315ec Activate ITypeLib, ITypeInfo and IEnumVARIANT Marshalers. 2005-07-19 19:43:54 +00:00
Robert Shearman 0648ab6131 Remove RegisterTypeLib hack. 2005-07-19 19:43:37 +00:00
Robert Shearman d8780c7546 Fix confusion between number of characters and number of bytes in
unmarshaling BSTRs. Convert it all to characters for consistency with
the BSTR_User* routines.
2005-07-19 19:42:50 +00:00
Robert Shearman 500c41b75e Support VT_BYREF|VT_I4 in _copy_arg. 2005-07-19 19:13:45 +00:00
Robert Shearman d2e2e851da Marshal and unmarshal TKIND_ENUM and TKIND_ALIAS. 2005-07-19 19:13:23 +00:00
Alex Villacís Lasso 43076139c3 Fix GIF palette allocation, by relying on ColorCount instead of
SColorResolution.
2005-07-19 11:38:25 +00:00
Alex Villacís Lasso 3153aa9131 Ensure that underflowing negative float is represented as a positive
0, just as native oleaut32.
2005-07-19 11:38:12 +00:00