Rob Shearman
1dc5dec6e6
ole32: Marshal the ORPCTHIS structure prefixed to the client data when doing ORPC calls.
...
This is done by putting the ORPCTHIS data into the buffer when calling
IRpcChannelBuffer::GetBuffer on the client side and then storing the
amount we increased the buffer in a structure stored in the Handle
field. This is done to present the correct Buffer pointer to the proxy
so that it writes its data after the ORPCTHIS data.
Unmarshal the data on the server side (during RPC_ExecuteCall) and make
sure the data is consistent according to NDR rules. Also add several
checks on the unmarshaled data that are specified by the DCOM draft
specification.
2006-12-20 12:36:43 +01:00
Rob Shearman
307ab51793
ole32: Fix the HMETAFILEPICT user marshaling test to use the size
...
derived from the return value of HMETAFILEPICT_UserMarshal instead of
the value returned by HMETAFILEPICT_UserSize, as the latter
over-estimates the size on Windows.
Remove some unnecessary casts.
2006-12-19 17:00:02 +01:00
Rob Shearman
fb883d8687
ole32: Fix SetSize for HGLOBAL streams in the case of being out-of-memory.
2006-12-18 11:54:24 +01:00
Rob Shearman
fda6498284
ole32: Implement HMETAFILE and HMETAFILEPICT user marshaling functions and add tests for these.
2006-12-18 11:52:58 +01:00
Rob Shearman
3bb4760f88
ole32: Move the user marshal tests to usrmarshal.c.
2006-12-18 11:52:42 +01:00
Rob Shearman
4babec1928
ole32: Add documentation for the user marshaling functions.
2006-12-18 11:45:46 +01:00
Rob Shearman
cc30255c8a
ole32: Support reading and writing custom clipformats in the data cache.
2006-12-18 11:45:42 +01:00
Francois Gouget
458ebf423d
ole32/tests: Replace some '#if 0's with 'if (0)'s.
...
Fix the code so it compiles.
2006-12-14 20:24:53 +01:00
Francois Gouget
5e10172b30
ole32: Fix named/nameless union compilation error.
2006-12-14 12:44:31 +01:00
Marcus Meissner
f0280cbd1e
made functions and variables static in some testcases.
2006-12-11 12:18:29 +01:00
Rob Shearman
7a5766346f
ole32: Add some documentation for CoCreateInstance.
2006-12-07 11:51:13 +01:00
Francois Gouget
dd6e948d84
ole32: Convert dump_user_flags() into debugstr_user_flags(), a proper debug trace function.
2006-12-06 12:15:11 +01:00
Francois Gouget
f0ccd389d4
ole32: Convert dump_FORMATETC() into debugstr_formatetc(), a proper debug trace function.
2006-12-06 12:14:55 +01:00
Francois Gouget
bb8e625b5b
Assorted spelling fixes.
2006-12-05 10:31:47 +01:00
Rob Shearman
878d5e9cec
ole32: Implement the GetData function of the data cache to using the
...
existing LoadData function and fix GetData to also return data that
has been set, rather than loaded.
2006-12-04 20:19:28 +01:00
Rob Shearman
1b244baf48
ole32: Fix HandsOffStorage in the data cache.
2006-12-04 20:19:03 +01:00
Rob Shearman
6235ac9f58
ole32: Implement the DiscardCache function in the data cache.
2006-12-04 20:18:56 +01:00
Rob Shearman
feee099eec
ole32: Add some more traces to the data cache to make debugging easier.
2006-12-04 13:51:15 +01:00
Rob Shearman
e99168e1ba
ole32: Add tests for invalid clipformat/tymed combinations in IOleCache:Cache and for caching formats with a clipformat of 0.
2006-12-04 13:51:11 +01:00
Rob Shearman
ca81b825be
ole32: In the data cache, fmtetc->cfFormat and fmtetc->tymed can be 0 which means to match any clipformat/tymed.
...
Therefore, keep the clipformat of the data in the data_cf field.
Return an error from SetData if a non-zero clipformat hasn't been specified.
Write out stgmedium.tymed instead of fmtetc.tymed, which is guaranteed
to be non-zero if data has been set.
2006-12-04 13:51:06 +01:00
Rob Shearman
d37b669503
ole32: Check that the specified clipboard format and tymed are valid in IOleCache::Cache in the data cache.
2006-12-04 13:44:06 +01:00
Rob Shearman
3b87fe97df
ole32: Set the mapping mode to anisotropic in OleMetafilePictFromIconAndLabel.
2006-12-04 12:22:09 +01:00
Rob Shearman
d7d3309e0a
ole32: The width of the metafile drawn should be 3 times the icon width in OleMetafilePictFromIconAndLabel.
2006-12-04 12:22:03 +01:00
Rob Shearman
cdb86c6c90
ole32: Fill in the xExt and yExt fields in OleMetafilePictFromIconAndLabel.
2006-12-04 12:21:55 +01:00
Rob Shearman
2fa7cadf07
ole32: Use the default icon title font when writing the caption text out in OleMetafilePictFromIconAndLabel.
2006-12-04 12:21:48 +01:00
Rob Shearman
f0e2ea54e0
ole32: The METAFILEPICT created by OleMetafilePictFromIconAndLabel should have its mapping mode be anisotropic, not isotropic.
2006-12-04 12:21:38 +01:00
Rob Shearman
09376ea1f5
ole32: Call SetWindowOrgEx and SetWindowExtEx in OleMetafilePictFromIconAndLabel so that the created metafile scales correctly.
...
Centre the icon and the label.
2006-12-04 12:21:31 +01:00
Rob Shearman
587ba29174
ole32: Implement saving of the data cache.
...
Document a few of the unknown fields in the presentation data header.
2006-12-04 12:21:20 +01:00
Rob Shearman
e5c82d3aa4
ole32: Add handling of the dirty state to the data cache and fix InitNew to not call Load.
2006-12-04 12:21:09 +01:00
Rob Shearman
e9cc0744cc
ole32: Add documentation for CreateDataCache.
2006-12-04 12:20:57 +01:00
Rob Shearman
188fe95091
ole32: Add some tests for the IViewObject, IOleCache2 and IPersistStorage interfaces of the OLE data cache.
2006-12-04 12:20:51 +01:00
Rob Shearman
4b7e8e73a4
ole32: The advise sink for the data cache should be primed with the passed in aspects value, not an arbitrarily selected value.
2006-12-04 12:20:41 +01:00
Rob Shearman
46f70207b2
ole32: Implement the SetData function for the data cache.
2006-12-04 12:20:36 +01:00
Rob Shearman
25d7d95035
ole32: Load cached data in the data cache into a STGMEDIUM type so it can be treated the same as set data.
2006-12-04 12:20:28 +01:00
Rob Shearman
4232d31c57
ole32: Implement Cache and Uncache for the data cache.
2006-12-04 12:20:18 +01:00
Rob Shearman
07e3d538a0
ole32: Create a cache entry for each format in the data cache to allow
...
for the future possiblity to add entries with IOleCache::Cache and
IOleCache::SetData.
2006-12-04 12:20:07 +01:00
Rob Shearman
a2d59ef534
ole32: Implement DataCache_GetClassID.
2006-12-04 12:19:31 +01:00
Dmitry Timoshkov
09fea0f83e
ole32: Make some data const.
2006-11-28 12:36:17 +01:00
Kirill K. Smirnov
3cd3ca68fe
ole32: Fix logic in Storage32Impl_SmallBlocksToBigBlocks function.
2006-11-27 17:44:47 +01:00
Huw Davies
8519a6c49e
ole32: Spelling fixes.
2006-11-22 11:39:03 +01:00
Huw Davies
1f34fdffee
ole32: CoGetInterfaceAndReleaseStream shouldn't crash when passed a NULL stream.
2006-11-22 11:38:57 +01:00
Huw Davies
241336c749
ole32: CoRegisterMessageFilter shouldn't crash on an uninitialized apartment.
2006-11-16 22:09:24 +01:00
Rob Shearman
fff2d8e82b
ole32: Re-enable the code that unregisters interfaces with the RPC runtime.
2006-11-13 14:32:45 +01:00
Francois Gouget
1ccf944900
Assorted spelling fixes.
2006-11-13 13:01:53 +01:00
Francois Gouget
aa857dead3
ole32: Standardize some documentation comments.
2006-11-13 13:01:08 +01:00
Francois Gouget
49ad2b10c1
ole32/tests: Don't use the NONAMELESS* macros in the tests.
2006-11-13 12:59:11 +01:00
Eric Pouech
3026d8844c
ole32: Don't use PropVariantClear to setup an unitialized variant.
2006-11-09 12:24:46 +01:00
Michael Stefaniuc
22befac97e
ole32: Fix the warnings introduced by the "unsigned long" to "ULONG" header changes.
2006-11-09 10:43:38 +01:00
Michael Stefaniuc
cc234847d0
widl: Use ULONG instead of unsigned long when generating declarations for *_UserFree() functions. This is needed for Win64 compatibility.
2006-11-09 10:43:23 +01:00
Michael Stefaniuc
6f95047034
widl: Use ULONG instead of unsigned long when generating declarations for *_UserUnMarshal() functions. This is needed for Win64 compatibility.
2006-11-09 10:43:20 +01:00