Commit Graph

1169 Commits

Author SHA1 Message Date
Rob Shearman 1fa24db9fd ole32: Add the OXID_INFO structure to dcom.idl. 2007-03-27 12:39:33 +02:00
Rob Shearman 061a29ee44 ole32: Add a stubbed out implementation of IClientSecurity to the proxy manager. 2007-03-27 12:39:25 +02:00
Andrew Talbot 24a197490c ole32: Replace inline static with static inline. 2007-03-23 12:29:45 +01:00
Rob Shearman 3acb0a878d ole32: The 16-bit version of CoDisconnectObject is not compatible with the 32-bit version, so create a separate stub for the former. 2007-03-21 15:55:22 +01:00
Dmitry Timoshkov dce12498d0 ole32: Move the storage signatures to the appropriate file that uses them. 2007-03-21 11:59:41 +01:00
Rob Shearman 36d5515d91 ole32: Add a test for StgStreamImpl_SetSize with a non-zero HighPart for the size. 2007-03-20 13:00:04 +01:00
Rob Shearman 251bab8ac9 ole32: Implement TYMED_FILE for STGMEDIUM marshaling and unmarshaling. 2007-03-20 12:56:34 +01:00
Rob Shearman 05e99099af ole32: Add warnings for failures in the structured storage stream functions. 2007-03-20 12:56:30 +01:00
Aric Stewart 838eb4037f ole32: Rework storage with blockfiles to properly use ILockBytes interfaces.
Rework storage to make all its interactions with the underlying data go 
though ReadAt and WriteAt to allow for an ILockBytes underlying layer.
Implement ReadAt and WriteAt in stg_bigblockfile.c for blockfiles.
2007-03-20 12:36:45 +01:00
Rob Shearman f1ced14eed ole32: Print the contents of the IID input to OleLoad. 2007-03-14 18:49:58 +01:00
Rob Shearman 00877c898d ole32: OleCreate isn't a semi-stub any more, as it is tested in a range of cases and has no todos. 2007-03-13 20:31:40 +01:00
Rob Shearman 39f0f9d52a ole32: OleCreate shouldn't pass CLSCTX_LOCAL_SERVER to CoCreateInstance. 2007-03-13 20:31:37 +01:00
Rob Shearman 2815cd8ef4 ole32: Don't allocate an initial table for bind contexts.
Most users of bind contexts don't use bound objects or object params, so 
don't create an initial table. Instead, create it on demand and use an 
exponential algorithm for increasing the size of the table when full.
2007-03-13 20:31:34 +01:00
Huw Davies a8c72b76cf ole32: Only retrieve posted and paint messages in an STA message loop. 2007-03-13 11:52:41 +01:00
Jan Zerebecki 0f7a3811b4 ole32: Add DebugInfo to critical sections.
Also add missing DeleteCriticalSection.
2007-03-12 13:49:44 +01:00
Rob Shearman f0189b8789 ole32: Implement CoAddRefServerProcess and CoReleaseServerProcess. 2007-03-09 21:17:47 +01:00
Rob Shearman 789f344c2b ole32: Make RegisteredClass list into a standard Wine list. 2007-03-09 21:17:42 +01:00
Rob Shearman 15a0b7fad5 ole32: Don't keep the local server named pipe open for a single-use object. 2007-03-09 21:16:44 +01:00
Rob Shearman 7ba4b81675 ole32: Add some tests for the flags input to CoRegisterClassObject. 2007-03-09 21:16:41 +01:00
Rob Shearman 880542a9f8 ole32: Close the named pipe after revoking local server objects. 2007-03-09 21:16:37 +01:00
Rob Shearman 2a021b50d4 ole32: Enable local server test and make it work with Win9x COM implementation. 2007-03-09 21:16:34 +01:00
Rob Shearman c826515e55 ole32: REGCLS_MULTIPLEUSE implies CLSCTX_INPROC_SERVER in CoRegisterClassObject. 2007-03-09 21:16:31 +01:00
Rob Shearman c4727fde17 ole32: Fix return codes returned by IBindCtx::RegisterObjectBound and IBindCtx::RevokeObjectBound when used on NULL objects. 2007-03-09 11:46:42 +01:00
Rob Shearman ba3ceaa4b8 ole32: Fix cbStruct handling in IBindCtx:GetBindOptions. 2007-03-09 11:46:38 +01:00
Rob Shearman e14e464df6 ole32: Add more tests of IBindCtx functions.
Add tests for IBindCtx::GetObjectParam, IBindCtx::RevokeObjectParam and 
IBindCtx::RevokeObjectBound.
2007-03-09 11:46:33 +01:00
Rob Shearman 3d6070aebd ole32: Set output param to NULL in BindCtxImpl_EnumObjectParam. 2007-03-08 13:50:33 +01:00
Rob Shearman bdefb46d29 ole32: Fix BindCtxImpl_GetBindOptions to return the correct locale and to not fail if the input size is too large. 2007-03-08 13:50:27 +01:00
Rob Shearman bf4b5188e0 ole32: CreateBindCtx should fail if reserved parameter is not zero. 2007-03-08 13:50:23 +01:00
Rob Shearman a418777708 ole32: Add some tests for IBindCtx. 2007-03-06 22:25:45 +01:00
Rob Shearman c19076cb19 ole32: Remove some unnecessary traces from the HeapUnknown implementation. 2007-03-06 22:17:54 +01:00
Rob Shearman 7a6a63f8fc ole32: Fix a failing CoUnmarshalInterface test on Windows. 2007-03-06 22:17:45 +01:00
Rob Shearman ac8d035f3d ole32: Fix a use-after-free of the file moniker in the running object table tests. 2007-03-06 22:17:43 +01:00
Rob Shearman 87155d654f ole32: Compare the class contexts in COM_GetRegisteredClassObject.
Only objects that have been registered for a class context that matches 
the requested class context should be returned.
2007-03-06 12:10:50 +01:00
Rob Shearman 356fdcbb15 ole32: OleLoad should call CoCreateInstance with CLSCTX_INPROC_SERVER as well as CLSCTX_INPROC_HANDLER. 2007-03-06 12:10:47 +01:00
Rob Shearman 3bd31cfd16 ole32: The stream returned by StgStreamImpl_Clone should have one reference, so call AddRef before returning.
Move the call to StorageBaseImpl_AddStream to StgStreamImpl_Construct to 
fix StgStreamImpl_Clone, which forgets to call it.
Add tests for OLE structured storage tests for IStream::Clone.
2007-02-26 17:33:36 +01:00
Rob Shearman 29706e6709 ole32: Use IsEqualIID instead of memcmp in HGLOBALLockBytesImpl_QueryInterface. 2007-02-26 13:38:49 +01:00
Rob Shearman 0101f89a8d ole32: Add tests for default handler creation and handler marshaling. 2007-02-26 13:38:45 +01:00
Francois Gouget f5c6a71a65 ole32: Better match the PSDK types and fix the winapi_check warnings. 2007-02-20 20:29:10 +01:00
Rob Shearman 3047ea9e78 ole32: Make an error message more useful by printing the returned error code. 2007-02-20 11:39:18 +01:00
Mike McCormack b937f33d23 ole32: Add missing parameter for RunningObjectTableImpl_UnInitialize. 2007-02-13 17:47:28 +01:00
Rob Shearman cb9c40a8cf ole32: Add the external references that the server gave to us to any existing ifproxy,
so that the right external reference count is released when the proxy is destroyed.
Protect all changes to refs in the ifproxy using interlocked functions 
and update the thread-safety documentation.
2007-02-06 21:35:25 +01:00
Rob Shearman 723592cf5a ole32: Release iobject and the IRpcStubBuffer object no matter which code path we take.
Otherwise we would leak a reference for both of these if the ifstub was already created.
Fix the FIXME in the code by releasing the stub manager if necessary.
2007-02-06 21:33:47 +01:00
Mike McCormack 4c46194cf5 ole32: Add a few more tests for transacted storage. 2007-02-06 13:20:37 +01:00
John Morris 00b29dfa79 ole32: Add CoWaitForMultipleHandles to spec file. 2007-02-05 12:34:51 +01:00
Paul Vriens e89cac747c ole32/tests: Cast-qual warning fixes. 2007-01-24 11:59:11 +01:00
Andrew Talbot 02a5f7389e ole32: Declare some functions static. 2007-01-19 12:28:58 +01:00
Francois Gouget b0bde6b87c Assorted spelling fixes. 2007-01-18 12:56:52 +01:00
Paul Vriens 3d2baaa6cf ole32/tests: Cast-qual warnings fixes. 2007-01-12 11:25:45 +01:00
Rob Shearman d35a81c7aa ole32: Fix copied description and copyright statement for tests/errorinfo.c. 2007-01-12 11:24:14 +01:00
Rob Shearman bbedf3d096 ole32: Add tests for the default handler. 2007-01-11 11:50:03 +01:00
Rob Shearman 5c71583b53 ole32: Add tests for error info functions.
Return E_INVALIDARG if dwReserved is not set to zero for both
GetErrorInfo and SetErrorInfo.
2007-01-11 11:49:59 +01:00
Rob Shearman f658adffc2 ole32: Fix the detection of when we need an additional QueryInterface in CoUnmarshalInterface. 2007-01-10 12:22:06 +01:00
Rob Shearman fa64950ee1 ole32: Add a test for the failure case of same-apartment unmarshaling when passing in an unsupported iid. 2007-01-10 12:21:59 +01:00
Rob Shearman 49fc8ac742 ole32: Add tests for passing invalid arguments to CoUnmarshalInterface. 2007-01-10 12:21:53 +01:00
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