Rob Shearman
b1ee49a74d
ole32: ReadClassStm should return STG_E_READFAULT is not all of the data could be read, not S_FALSE.
...
Clear pclsid in case of errors.
Add tests for ReadClassStm.
2007-01-10 12:17:00 +01:00
Rob Shearman
de527d5ec0
ole32: Add tests for invalid arguments of CoMarshalInterface and CoMarshalInterThreadInterfaceInStream.
2007-01-10 12:16:08 +01:00
Rob Shearman
7730e1408f
ole32: Return an error from CoUnmarshalInterface if pStream is NULL or if ppv is NULL.
2007-01-10 12:15:10 +01:00
Rob Shearman
35548d15c4
ole32: Fix Read/WriteClassStm to return an error if the passed in stream pointer is NULL.
2007-01-10 12:14:24 +01:00
Rob Shearman
923bc6bf3d
ole32: Return an error in CoMarshalInterface if pStream is NULL.
2007-01-10 12:14:21 +01:00
Rob Shearman
fd07191673
ole32: Fix HGLOBALStreamImpl_CopyTo to check the return values of IStream_Read and IStream_Write and to not compare the bytes read to the bytes written.
...
Add tests for IStream::CopyTo of the HGLOBAL stream implementation.
2007-01-10 12:13:22 +01:00
Rob Shearman
ba25254d9f
ole32: Remove some unneeded inclusions of headers.
...
Change some incorrect usages of SEEK_SET to the intended STREAM_SEEK_SET
instead.
2007-01-10 12:08:51 +01:00
Rob Shearman
d02b27c0e9
ole32: Move test for CoGetInterfaceAndReleaseStream to compobj.c.
2007-01-10 12:02:37 +01:00
Rob Shearman
43d0d85f67
ole32: Use the standard list functions for the global interface table implementation.
2007-01-10 12:02:35 +01:00
Rob Shearman
c21f5c7c6a
ole32: Move the Running Object Table test in marshal.c to moniker.c to put it with the other ROT tests.
2007-01-10 12:02:28 +01:00
Rob Shearman
beaaf0514f
ole32: Fix a comment in rpc_sendreceive_thread that wasn't correct.
2007-01-10 12:02:26 +01:00
Rob Shearman
84158d6742
ole32: Remove a FIXME comment that no longer applies.
2007-01-10 12:02:24 +01:00
Paul Vriens
32fbfea47a
ole32/tests: Cast-qual warnings fixes.
2007-01-09 12:01:45 +01:00
Rob Shearman
b624e8125c
ole32: Fix the OLE clipboard test to call OleInitialize before performing the tests to fix test failures on Windows.
2007-01-08 12:35:44 +01:00
Rob Shearman
a45a2e37f9
ole32: Add a field to the TLS data to determine whether OLE has been initialised for the current thread.
2007-01-08 12:35:41 +01:00
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
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
Robert Shearman
03510be55b
ole32: Add a test for OleLoad.
2006-09-07 11:43:41 +02:00
Robert Shearman
d0b4717cdb
ole32: Do a QueryInterface for IOleLink in OleLoad, like native does.
2006-09-07 11:43:33 +02:00
Robert Shearman
4ad8da53f5
ole32: Re-order the function calls in OleLoad to match native.
...
Call IOleObject_GetMiscStatus like OleCreate and native do.
2006-09-07 11:43:27 +02:00
Robert Shearman
da321acf0e
ole32: Add tests for OleCreate.
2006-09-07 11:43:16 +02:00
Robert Shearman
53be8cc861
ole32: Call IRunnableObject_Run and IOleCache_Cache from OleCreate if the render option is specified as draw or format.
...
This is documented on MSDN and is confirmed by tests.
2006-09-07 11:42:39 +02:00
Robert Shearman
6da80a8898
ole32: Call IOleObject_GetMiscStatus in OleCreate if a client site is passed in.
2006-09-07 11:42:28 +02:00
Robert Shearman
ccb634fdee
ole32: Re-structure OleCreate to match to order of calls that native does.
...
Get rid of hres1 since all failures are returned. Cleanup pUnk on
failure and make sure to return NULL in ppvObj.
2006-09-07 11:42:22 +02:00
Robert Shearman
aaa26b2702
ole32: Set the storage's class ID in OleCreate.
2006-09-07 11:42:11 +02:00
Robert Shearman
679dfb029d
ole32: Return errors if the attempt to start a LocalService object fails.
2006-08-28 17:48:47 +02:00
Robert Shearman
f463b9d422
ole32: AppId is a value under the clsid key, rather than a key.
2006-08-28 17:48:45 +02:00
Robert Shearman
9038705919
ole32: Fix functions defined without specifying argument types by changing them to "(void)".
2006-08-28 17:48:40 +02:00
Alexandre Julliard
5cf75e615a
makefiles: Only run test and documentation targets in directories that need them.
2006-08-28 13:37:44 +02:00
Robert Shearman
588c782ac8
ole32: Call IRpcChannelBuffer_GetBuffer for the RemRelease case of
...
Invoke, even though we are requesting a buffer size of 0 as we put
extra data into the buffer in IRpcChannelBuffer_GetBuffer.
2006-08-26 19:37:10 +02:00
Robert Shearman
428c63f586
ole32: Use IRpcChannelBuffer_GetBuffer in the hand-made proxy/stubs
...
instead of calling I_RpcGetBuffer as IRpcChannelBuffer_GetBuffer does
some extra magic.
2006-08-26 19:37:02 +02:00
Robert Shearman
986027af9f
ole32: Add support for main-threaded apartments.
...
A main-threaded apartment is the first single-threaded apartment in the
process. It was designed to be used for legacy applications that don't
want to think about threading at all, even if they are always called
from the same context, as is the case for regular STAs.
2006-08-26 19:36:56 +02:00
Robert Shearman
83d24a6408
ole32: Move the opening of the AppId key for a clsid to a helper function.
2006-08-26 19:28:10 +02:00
Robert Shearman
619ba90dbe
ole32: CoGetClassObject should host a single-threaded object in a
...
single-threaded apartment if executing in a multi-threaded apartment,
if one exists.
2006-08-26 19:27:52 +02:00
Robert Shearman
c1eb2c7003
ole32: Get the threading model value for inproc classes and output a
...
fixme if we should create it in an apartment of another type.
2006-08-26 19:24:23 +02:00
Robert Shearman
f42d61df0d
ole32: Move some functions out of compobj.c that don't belong there and update the copyright statement.
2006-08-16 16:42:32 +02:00
Robert Shearman
0e99d795b7
ole32: Add some more tests for failure cases of Co* functions and make builtin ole32 pass them.
2006-08-16 16:42:01 +02:00
Robert Shearman
31726e3823
ole32: Add tests for the failure cases of CLSIDFromProgID and fix the function to conform to these.
2006-08-16 16:41:47 +02:00
Mike McCormack
6c8259fb31
ole32: Avoid a warning for VT_FILETIME in PropVariantCopy.
2006-08-14 20:17:11 +02:00
Mike McCormack
c8572a5e43
ole32: Use PropVariantInit instead of memset.
2006-08-14 20:17:10 +02:00
Mike McCormack
8dc5bd8e29
ole32: Always set pcbWritten when writing a stream.
2006-08-14 11:46:41 +02:00
Mike McCormack
f205eca5ad
ole32: FreePropVariantArray should return an error if rgvars is null.
...
As suggested by Rob Shearman.
2006-08-14 11:46:38 +02:00
Robert Shearman
c350e0000f
ole32: Add a check for NULL This->dataAdviseHolder in DefaultHandler_Stop.
...
Cleanup DefaultHandler_GetCanonicalFormatEtc by using
This->pDataDelegate instead of querying for IDataObject from
This->pOleDelegate.
2006-08-09 20:40:17 +02:00
Robert Shearman
8d7bfca965
ole32: Fix a typo in IEnumSTATSTGImpl_QueryInterface where IStorage was being compared against instead of IEnumSTATSTG.
2006-08-09 20:40:11 +02:00
Robert Shearman
8f513e3576
ole32: When comparing monikers use the abData field of MInterfacePointer
...
as ulCntData doesn't include the size of its own field.
2006-08-09 20:39:51 +02:00
Robert Shearman
f589ec8081
ole32: Zero stg in case ADVF_NODATA is specified.
...
Otherwise IDataObject_GetData fails before using it in
DataAdviseHolder_SendOnDataChange.
2006-08-09 20:39:37 +02:00
Francois Gouget
7bb2c3f8a6
ole32: Register the CLSID_Picture_Metafile and CLSID_Picture_Dib ProgIDs.
2006-08-09 20:37:44 +02:00
Francois Gouget
9ed9398ebe
ole32: Add a BaseInterface where needed.
2006-08-08 11:15:28 +02:00
Robert Shearman
6ba258ec1d
ole32: Tell the advise holder what the data delegate is in DefaultHandle_DAdvise if we are already connected.
2006-08-07 15:35:32 +02:00
Robert Shearman
c860b8aec4
ole32: Finish off delegate notifications in the data advise holder.
...
Advise the data delegate object when new advises come in on the data
advise holder, not just when connecting.
Unadvise the data delegate object when unadvising a connection on the
data advise holder, when destructing the data advise holder and when
disconnecting.
2006-08-07 15:35:28 +02:00
Francois Gouget
ce9b4baad8
Assorted spelling fixes.
2006-08-07 13:52:55 +02:00
Robert Shearman
f0dc9deff0
ole32: Ensure that a returned free block is valid in storage.
...
Otherwise, an IStream_SetSize call followed by an IStream_Read call
could fail with STG_E_DOCFILECORRUPT.
2006-08-03 22:23:27 +02:00
Robert Shearman
6455b9e1a0
ole32: Fix CoLockObjectExternal to respect fLastUnlockReleases.
2006-08-03 22:23:13 +02:00
Andrew Talbot
6bb8a7f726
ole32/tests: Write-strings warnings fix.
2006-08-03 22:22:55 +02:00
Jacek Caban
3cf1e46d95
ole32: Clean up OleRun.
2006-08-02 22:01:15 +02:00
Alexandre Julliard
518ee99f6f
ole32: Make some functions and variables static.
2006-08-02 13:31:26 +02:00
Robert Shearman
e3e42985ec
ole32: Implement OleNoteObjectVisible as described by MSDN.
2006-07-31 21:25:38 +02:00
Robert Shearman
1a5cd3ca9b
ole32: Remove a check on the share mode for the NULL filename case as the check is already done earlier in StgCreateDocfile.
2006-07-31 21:25:35 +02:00
Mike McCormack
63cbef27a2
ole32: Use IsGUIDEqual to compare IIDs.
2006-07-31 17:18:24 +02:00
Mike McCormack
6ede65596a
ole32: Add function parameters to FIXME messages.
2006-07-31 10:53:19 +02:00
Mike McCormack
24e69d544b
ole32: Add a test showing what STGM_TRANSACTED does for streams.
2006-07-31 10:53:15 +02:00
Mike McCormack
fd61c3f24b
ole32: Add some missing traces.
2006-07-29 11:55:43 +02:00
Mike McCormack
d9bfbe9197
ole32: Add a test for IEnumSTATSTG.
2006-07-29 11:55:39 +02:00
Robert Shearman
67ed752e69
ole32: Add more self-registration entries for classes and interfaces.
2006-07-27 11:42:29 +02:00
Robert Shearman
2308d49bcb
ole32: Implement CoRegisterPSClsid.
2006-07-21 10:52:03 +02:00
Robert Shearman
fac6bedda9
ole32: Improve CoRegisterMessageFilter and add tests for it.
2006-07-17 13:43:47 +02:00
Robert Shearman
352d9e2d67
ole32: Free the buffer allocated in local_server_thread (found by Smatch).
2006-07-17 13:43:44 +02:00
Robert Shearman
69e10bf1ed
ole32: Add validation of parameters to CoGetClassObject and make sure to initialise ppv to NULL.
2006-07-14 12:38:44 +02:00
Robert Shearman
11c1bcf6de
ole32: Don't loop while peeking messages in CoWaitForMultipleHandles.
...
It increases the latency on completing the COM call and could result in
the COM call never completing in some circumstances.
2006-07-13 16:26:25 +02:00
Mike McCormack
6a15ac7f0a
ole32: Only return S_FALSE in IPropertyStorage::ReadMultiple if a property was not found.
2006-07-12 19:30:06 +02:00
Mike McCormack
49ff182fc4
ole32: Small cleanups.
2006-07-12 19:29:14 +02:00
Mike McCormack
1a80cb87cb
ole32: Remove unnecessary assert(This) calls.
2006-07-12 19:28:57 +02:00
Mike McCormack
ac01692523
ole32: Fix and test reading and writing of VT_CF properties.
2006-07-12 19:28:24 +02:00
Mike McCormack
a8b38fa2ea
ole32: Implement IPropertyStorage::Enum using enumx.
2006-07-12 13:19:51 +02:00
Mike McCormack
6c21ac2565
ole32: Clean up some declarations.
2006-07-12 13:19:44 +02:00
Mike McCormack
d35176d52a
ole32: Use enumx to implement IPropertySetStorage::Enum.
2006-07-12 13:19:39 +02:00
Mike McCormack
127ae2bf8b
ole32: Add a framework for implementing IEnum* interfaces.
2006-07-12 13:18:17 +02:00
Mike McCormack
918cf3261b
ole32: Don't warn when clearing PropVariants that don't have allocated memory.
2006-07-12 13:17:51 +02:00
Mike McCormack
d323acc23b
ole32: Fix conformance test to compile with MSVC6.
2006-07-12 13:17:41 +02:00
Mike McCormack
a5b3479774
ole32: This cannot be NULL, so don't check it.
2006-07-12 13:17:29 +02:00
Mike McCormack
7f891787bc
ole32: Only return S_FALSE in IPropertyStorage::ReadMultiple if a property was not found.
2006-07-12 13:17:23 +02:00
Mike McCormack
704dffcb09
ole32: Allocate copied VT_CF data correctly in PropVariantCopy.
2006-07-12 13:16:53 +02:00
Alexandre Julliard
eb8a40c368
libs: Merged libwine_unicode into libwine.
...
Most dlls use libwine_unicode at this point, so there's nothing to
gain by having two separate libraries.
2006-07-11 19:33:22 +02:00
Mike McCormack
55ab809854
ole32: Only print a FIXME if necessary in StgOpenStorageEx.
2006-07-11 12:41:42 +02:00
Alexandre Julliard
77dc0d9be5
.gitignore: Added wildcards to ignore generated resource files.
2006-07-10 21:39:00 +02:00
Alexandre Julliard
0fa8baafcb
make_dlls: Recursively ignore .ok files in all tests directories.
2006-07-10 21:26:50 +02:00
Alexandre Julliard
edd100b899
make_dlls: Recursively ignore testlist.c in all tests directories.
2006-07-10 21:19:42 +02:00
Alexandre Julliard
5258e061dc
make_dlls: Ignore generated import libraries from the top-level .gitignore.
2006-07-10 20:55:58 +02:00
Alexandre Julliard
cc2b3b48e6
Take advantage of the recursive nature of .gitignore for Makefile entries.
...
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Robert Shearman
5f453db5cf
ole32: Fix the return value of COM_RegReadPath and make it static.
2006-07-07 13:31:49 +02:00
Paul Vriens
8f143f190c
Use the return value of register_key_guid.
2006-06-30 21:08:07 +02:00
Robert Shearman
628371021b
ole32: When CoLockObjectExternal with fLock=TRUE is used on an object
...
that hasn't yet been marshaled then it should create a new stub
manager.
2006-06-30 20:44:02 +02:00
Robert Shearman
2f0e714a27
ole32: When marshaling a proxy make sure to maintain an external
...
reference on the stub object so that the first proxy can be released.
Implement external refcount sharing between a proxy and the marshaled proxy.
Extend the marshaling of a proxy test to show that an external reference
is always kept on the stub object.
2006-06-29 14:40:50 +02:00
Robert Shearman
723aceb20f
ole32: Add a test for CoCreateInstance doing object hosting by
...
automatically creating an appropriate apartment for the object and
returning a proxy to it.
2006-06-29 14:40:23 +02:00
Robert Shearman
b0efdcbdbd
ole32: Implement CoGetObject.
2006-06-29 14:40:05 +02:00
Andrew Talbot
d69745ff7a
ole32/tests: Write-strings warning fix.
2006-06-23 10:45:57 +02:00
Mike McCormack
98d4c2b049
ole32: Implement reading of VT_CF storage properties.
2006-06-19 22:54:21 +02:00
Mike McCormack
ccfa76d18e
ole32: Fix a typo.
2006-06-19 20:53:44 +02:00
Robert Shearman
1ddc722ec2
ole32: Document CoCreateFreeThreadedMarshaler.
2006-06-19 10:28:26 +02:00
Robert Shearman
aa09031c78
ole32: Reuse event handles used for COM calls.
...
This reduces the number of server calls during a COM call by half.
2006-06-19 10:28:20 +02:00
Robert Shearman
f2dc25a5f3
ole32: Always rewind the stream in StdGlobalInterfaceTable_GetInterfaceFromGlobal
...
as CoUnmarshalInterface may have advanced the stream, even if it failed.
2006-06-15 12:07:10 +02:00
Robert Shearman
fa757df883
ole32: Add a tests for OleSetMenuDescriptor and the global interface table.
2006-06-15 12:06:49 +02:00
Alexandre Julliard
96ad688174
ole32: Don't use sizeof in traces to avoid printf format warnings.
2006-06-13 14:11:15 +02:00
Alexandre Julliard
28e17a75af
ole32/tests: Don't use sizeof in ok() to avoid printf format warnings.
2006-06-13 14:03:36 +02:00
Robert Shearman
b5f7e818a1
ole32: Print an error if a DLL's DllGetClassObject fails as this is
...
usually a good indicator of a bug elsewhere in Wine.
2006-06-13 11:40:20 +02:00
Alexandre Julliard
69591d81f9
ole32: Explicitly specify CDECL calling convention on exported functions.
2006-06-12 21:34:59 +02:00
Alexandre Julliard
ae525c1441
ole32: Make the virtual table functions static where possible.
2006-06-10 11:59:15 +02:00
Robert Shearman
c60c28cf08
ole32: If IRpcStubBuffer_Invoke fails, we should raise an exception to
...
tell the RPC runtime that the call failed.
2006-06-09 21:11:20 +02:00
Robert Shearman
3d4e9d6a71
ole32: Register ISequentialStream for marshaling.
2006-06-09 21:11:09 +02:00
Robert Shearman
51e22f42bb
ole32: Implement CoQueryClientBlanket, CoImpersonateClient and
...
CoRevertToSelf on top of CoGetCallContext, which is a stub.
2006-06-09 21:11:02 +02:00
Robert Shearman
42c39675ea
ole32: Implement FTMarshalImpl_GetMarshalSizeMax.
2006-06-09 21:10:44 +02:00
Alexandre Julliard
32f57b0214
ole32: Use the standard DEFINE_OLEGUID macro to define GUIDs.
2006-06-09 21:09:49 +02:00
Troy Rollo
bdbc482651
ole32: Use STGM_WRITE when opening child storage to delete its children.
2006-05-31 11:45:29 +02:00
Robert Shearman
f2bd261f12
ole32: Add a class factory for CLSID_InProcFreeMarshaler.
2006-05-25 10:43:29 +02:00
Robert Shearman
386fcbb5f7
ole32: Implement GetUnmarshalClass for the free-threaded marshaler and
...
remove unnecessary unmarshaling code for the standard-marshal case -
this is handled by CoUnmarshalInterface and CoReleaseMarshalData.
2006-05-25 10:43:18 +02:00
Robert Shearman
2c57189a97
ole32: Implement table-strong marshaling and ReleaseMarshalData for the free-threaded marshaler.
2006-05-25 10:43:07 +02:00
Robert Shearman
f9b5280dd0
ole32: Implement table-weak marshaling for the free-threaded marshaler.
2006-05-25 10:42:56 +02:00
Robert Shearman
b795631daa
ole32: Release the standard marshal in the free-threaded marshaler's UnmarshalInterface function.
2006-05-25 10:42:12 +02:00
Robert Shearman
4335c64f7b
ole32: Add a rough implementation of the free-threaded marshaler MarshalInterface and UnmarshalInterface methods, with test cases.
2006-05-25 10:41:17 +02:00
Robert Shearman
4d1d2b6c1f
ole32: Fix the free-threaded marshaler when it has no outer unknown.
2006-05-25 10:41:04 +02:00
Robert Shearman
760208b2a5
uuid: Add some COM CLSIDs.
2006-05-25 10:38:57 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Troy Rollo
1be295fb47
ole32: Fix excessive file sizes for Storage files.
...
The IStorage (DocFile) implementation was adding empty blocks at the
end of the file every time a caller wrote data that was not a multiple
of 512 bytes. If the caller made a lot of very small writes the file
size could be huge even though the data in the file was tiny. This was
caused by BlockChainStream_SetSize trying to allocate file blocks for
the new data using a condition that bore no relationship to the
required condition, and it was not necessary to do so at that time
since it is done (the right way) by StorageImpl_GetNextFreeBigBlock
(called via BlockChainStream_Enlarge).
2006-05-23 13:00:13 +02:00
Robert Shearman
0fd184773a
ole32: Release the outer unknown in the proxybuffer test.
...
Release the outer unknown in the proxybuffer test to show that the
last release of the outer unknown doesn't free the proxy buffer.
2006-05-23 12:05:07 +02:00
Robert Shearman
875390110f
ole32: Release the proxy buffer object on the last release of the proxy's outer unknown.
...
Release the proxy buffer object on the last release of the proxy's outer
unknown, otherwise memory is leaked for the Ndr implementation of
IRpcProxyBuffer.
Fix up the hand-coded proxies to match the behaviour from the Ndr
implementation.
2006-05-23 12:05:01 +02:00
Francois Gouget
17689c07bb
Fix some winapi_check documentation warnings.
2006-05-15 15:05:15 +02:00
Francois Gouget
f7c24f37ad
Various trace fixes.
...
Add trailing '\n's to trace calls.
Remove spaces before '\n'.
2006-05-15 15:05:09 +02:00