Rob Shearman
2568c4662a
ole32: IPeristStream implies IPersist and IStream implies ISequentialStream so fix the Structured Storage stream implementation's QueryInterface with to reflect this.
2007-01-08 12:35:38 +01:00
Rob Shearman
482063bc29
ole32: IStream inherits from ISequentialStream so the HGLOBALStream implementation must also support ISequentialStream.
2007-01-08 12:35:36 +01:00
Rob Shearman
0c51b6236c
ole32: Release the global interface table in the tests when it is no longer needed.
2007-01-08 12:35:34 +01:00
Francois Gouget
386bb905e7
ole32: Print GetLastError() in decimal with '%u'.
2007-01-06 11:40:43 +01:00
Kai Blin
fb2a3914e1
ole32: Remove redundant NULL check (Coverity).
2007-01-05 20:26:47 +01:00
Rob Shearman
2db1d0de38
ole32: Make sure to reset the message state if it has been changed in RPC_ExecuteCall before returning.
...
Fix the hrFault parameter passed into the ClientNotify function in
ClientRpcChannelBuffer_SendReceive so that it is correct in the case of
messages dispatched with PostMessage.
Only unmarshal ORPCTHAT for non-fault packets.
2007-01-04 21:12:36 +01:00
Michael Gardiner
f9d8449db2
ole32: Stop StgOpenStorage from creating a file when it does not already exist.
2007-01-04 20:53:39 +01:00
Rob Shearman
b8035d2c70
ole32: Don't release pUnk in OleCreate if CoCreateInstance failed.
2007-01-04 09:50:21 +01:00
Rob Shearman
7a5d5c5503
ole32: Fix the calculation of message_state->prefix_data_len in two places where it would come out negative.
2007-01-02 20:49:07 +01:00
Rob Shearman
638182bbba
ole32: Add tests for channel hooks.
2006-12-29 21:25:49 +01:00
Rob Shearman
2881f919c7
ole32: Add some tests for the running object table.
...
The tests show the behaviour when the IROTData interface is not
available from the moniker. They also show the flags that are accepted
into IRunningObjectTable::Register.
2006-12-28 12:36:07 +01:00
Rob Shearman
bf33f9410f
ole32: Contrary to MSDN, IROTData doesn't need to be implemented for a moniker to be usable with the running object table.
...
If IROTData isn't available, fall back to a path that uses the display
name and the clsid of the moniker to generate the comparison data.
2006-12-28 12:35:54 +01:00
Rob Shearman
341bf7a44a
ole32: Only call IROTData::GetComparisonData once, like native does.
2006-12-28 12:35:17 +01:00
Rob Shearman
04498ba49a
ole32: Use IMoniker::GetTimeOfLastChange to attempt to retrieve the last-modified time for the ROT entry.
...
However, fall back to CoFileTimeNow if it fails.
2006-12-28 12:34:54 +01:00
Rob Shearman
d4b755a834
ole32: Use the reduced forms of monikers for comparison in the running object table.
2006-12-28 12:34:40 +01:00
Rob Shearman
3bcea6395f
ole32: Execute Reduce using the moniker's vtable in CreateCompositeMoniker as the moniker isn't necessarily a composite moniker.
2006-12-28 12:34:20 +01:00
Rob Shearman
83da7dde2a
ole32: ROTFLAGS_REGISTRATIONKEEPSALIVE and ROTFLAGS_ALLOWANYCLIENT are legal to be used together in RunningObjectTable_Register.
2006-12-28 12:34:10 +01:00
Rob Shearman
3e8adc3d26
ole32: Output the HRESULT for clipboard tests that fail.
2006-12-28 12:17:07 +01:00
Rob Shearman
ee99b6d743
ole32: Marshal the ORPCTHAT structure prefixed to the server data.
...
Unmarshal the data on the client side (during
ClientChannelBuffer_SendReceive) and call ClientNotify.
2006-12-27 14:34:15 +01:00
Rob Shearman
3be9cbc41a
ole32: Message filters aren't used in the test_call_from_message test, so remove the call to CoRegisterMessageFilter.
2006-12-27 13:02:48 +01:00
Alexandre Julliard
365a463b1e
make_makefiles: Automatically add IDL header targets to the .gitignore file.
2006-12-24 17:31:52 +01:00
Rob Shearman
844037ab01
ole32: Performing a COM call from within the processing of a sent message during a wait for completion of another COM call is not allowed.
...
Add a test for the behaviour where RPC_E_CANTCALLOUT_ININPUTSYNCCALL is returned.
2006-12-24 13:08:02 +01:00
Rob Shearman
038c8e642a
ole32: Call the MessagePending function for message filters.
2006-12-24 13:07:38 +01:00
Rob Shearman
aca17cd120
ole32: Track the pending call count so that the correct call type can be passed to the message filter HandleInComingCall function.
2006-12-24 13:07:35 +01:00
Rob Shearman
d3217872b3
ole32: Allow the marshaling/unmarshaling of NULL interfaces for IClassFactory.
2006-12-24 13:07:32 +01:00
Rob Shearman
e236edb91e
ole32: Send a causality ID in the ORPCTHIS header for a call.
...
Use the causality ID to determine whether this is a top-level or a
nested (called-back) call for the purposes of IMessageFilter::HandleInComingCall.
2006-12-20 12:41:01 +01:00
Rob Shearman
4fa03831a5
ole32: Reset the message filter at the end of the message filter test.
2006-12-20 12:40:46 +01:00
Rob Shearman
a089e57983
ole32: Pass in the IID and IUnknown* of the object being executed to the server notification and message filter functions.
2006-12-20 12:40:38 +01:00
Rob Shearman
9208eef55c
ole32: Call the message filter for incoming calls.
2006-12-20 12:40:30 +01:00
Rob Shearman
c0a25d3565
ole32: Call ServerNotify for channel hooks.
...
Store the SChannelHookCallInfo structure in the message state.
2006-12-20 12:40:03 +01:00
Rob Shearman
5788ee9f05
ole32: Implement CoRegisterChannelHook and call channel hook methods on the client side.
2006-12-20 12:39:50 +01:00
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