Commit Graph

1075 Commits

Author SHA1 Message Date
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
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
Michael Stefaniuc 05b1aac100 widl: Use ULONG instead of unsigned long when generating declarations for *_UserMarshal() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:16 +01:00
Michael Stefaniuc 177aaf6738 widl: Use ULONG instead of unsigned long when generating declarations for *_UserSize() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:12 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Andrew Talbot 97ee9c7820 ole32: Cast-qual warnings fix. 2006-11-07 15:06:30 +01:00
Rob Shearman b1bfad067b ole32: Fix a memory leak on the error path of dispatch_rpc. 2006-10-27 11:59:58 +02:00
Rob Shearman 93dfdf7a3f ole32: Fix some memory leaks in the class factory proxy. 2006-10-27 11:59:40 +02:00
Rob Shearman 7cbafd4f74 ole32: Always call IRpcChannelBuffer_GetBuffer in the class factory stub. 2006-10-27 11:59:34 +02:00
Eric Pouech a79fa50280 ole32: Fixed some wrong conditions in OleFlushClipboard. 2006-10-24 11:32:48 +02:00
Eric Pouech 5c0f35a2aa ole32: CoUninitialize: No longer access an object after it's been freed. 2006-10-24 11:32:38 +02:00
Rob Shearman e1ee3b4de3 ole32: Fix some memory leaks in the marshal tests. 2006-10-23 15:18:05 +02:00
Alexandre Julliard b0ea577ae5 Avoid usage of sizeof in traces that causes warnings on MacOSX. 2006-10-20 12:16:45 +02:00
Francois Gouget 22288de732 Fix compilation with gcc 2.95. 2006-10-19 13:35:19 +02:00
Alexandre Julliard 12c196203c Make.rules: Added support for building IDL client/proxy/server/iid files. 2006-10-16 17:20:37 +02:00
Francois Gouget ef998ea6cb Assorted spelling fixes. 2006-10-16 11:33:38 +02:00
Michael Stefaniuc 21ff87bf50 ole32: Win64 printf format warning fixes. 2006-10-16 10:53:28 +02:00
Michael Stefaniuc 15765dd953 The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility. 2006-10-16 10:53:04 +02:00
Jeff Latimer 6a355aec1b ole32: Remove dead code in errorinfo.c (Coverity). 2006-10-14 20:38:20 +02:00
Michael Ploujnikov 9d2a804f9b ole32/tests: Win64 printf format warning fixes. 2006-10-14 20:17:16 +02:00
Jacek Caban 2abe8348fa ole32: Don't fail in OleCreate if created object doesn't implement IRunnableObject or IOleChache. 2006-10-09 12:43:57 +02:00
Francois Gouget 38520a819c Assorted spelling fixes. 2006-10-03 15:56:21 +02:00
Francois Gouget d0b322b00f ole32: Fix invalid macro usage. 2006-09-29 17:53:01 +02:00
Francois Gouget 87045eb0c5 Fix rpcndr.h so it takes CONST_VTABLE into account.
Define CONST_VTABLE in the tests that need it. This fixes many Visual C++ warnings.
2006-09-29 17:52:27 +02:00
Michael Stefaniuc 85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Andrey Turkin 63f88b3d57 ole32: StgOpenStorage on non-existent file should create it (with test). 2006-09-28 14:14:59 +02:00
Huw Davies fead72e8a7 ole32: Don't return from CoRegisterClassObject until we have created the named pipe.
Also don't fail if the client connects to the pipe between CreateNamedPipe and ConnectNamedPipe.
2006-09-28 11:56:08 +02:00
Robert Shearman 3721bf60bb ole32: Check the return value of IStream_SetSize so as to not blindly continue on and possibly corrupt the structured storage file. 2006-09-28 11:55:56 +02:00
Alexandre Julliard 335144dc04 ole32/tests: Avoid using sizeof in a trace. 2006-09-27 20:54:05 +02:00
Andrew Talbot c9f9797890 ole32: Cast-qual warnings fix. 2006-09-21 11:16:42 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Gerald Pfeifer 24dc347134 ole32: Silence a compiler warning about unused variable in StgStreamImpl_Write(). 2006-09-13 11:01:53 +02:00
Robert Shearman aa336618ec ole32: Add a check for a condition where a stream has an invalid size
and so there aren't enough blocks in the chain to write data into.
2006-09-11 12:28:23 +02:00
Robert Shearman 106156cb75 ole32: Remove some assertions in the stuctured storage code by
returning error codes to the caller and by handling the error
condition.
2006-09-11 12:28:12 +02:00
Robert Shearman 79f7318a11 ole32: Convert the *_{Read,Write}At structured storage functions to
return HRESULTs instead of BOOLs so that errors can be properly
propagated from lower levels.
2006-09-11 12:27:45 +02:00
Robert Shearman bfc1bdc3bb ole32: Fix the IStream_SetSize function for HGLOBAL streams to ignore HighPart. 2006-09-11 12:27:15 +02:00
Robert Shearman 83f13d6b99 ole32: Make an ok message match the name of the function it is testing. 2006-09-11 12:27:07 +02:00
Robert Shearman 355903ddc4 ole32: Fix the return value of the HGLOBAL stream IStream_LockRegion function. 2006-09-11 12:27:04 +02:00
Robert Shearman a552c2ead7 ole32: Fix the HGLOBAL stream IStream_Read function to return S_OK even if not all of the requested bytes were available. 2006-09-11 12:26:58 +02:00
Robert Shearman e10103e3ec ole32: Add tests for the stream object returned by CreateStreamOnHGlobal. 2006-09-11 12:25:01 +02:00
Francois Gouget 06f9532dda Assorted spelling fixes. 2006-09-08 11:04:53 +02:00
Francois Gouget 19be7545e5 ole32: Fix spelling of a couple of local variables. 2006-09-08 11:03:07 +02:00
Robert Shearman bb1276425f ole32: Allocate memory for a copy of the ptd member of FORMATETC in
DataAdviseHolder_Advise since there is no requirement for the
application to keep this memory valid for the lifetime of the
connection.
2006-09-07 11:44:11 +02:00
Robert Shearman 5e9df71e0e ole32: Don't send data changes in DataAdviseHolder_Advise for
ADVF_PRIMEFIRST connections if we are connected to a data object,
since it will send the data change for us.
2006-09-07 11:44:03 +02:00
Robert Shearman 53d01d2764 ole32: DefaultHandler_GetData and DefaultHandler_QueryGetData should
both defer to the real data object if the cached versions fail and we
are running.
2006-09-07 11:43:59 +02:00
Robert Shearman 6bf6caa69d ole32: Add a reference to the stream in RPC_StartLocalServer since we
release a reference to it when the local server thread dies.
2006-09-07 11:43:49 +02:00