Rob Shearman
63ea015c65
ole32: Don't release the registered drop targets in OleUninitialize.
...
Do it in DLL_PROCESS_DETACH instead.
2007-04-05 13:25:18 +02:00
Rob Shearman
47432cba45
ole32: Check the input hwnd is valid in RevokeDragDrop.
2007-04-05 13:25:05 +02:00
Rob Shearman
2d8ae2cf83
ole32: Check for COM not being initialised and an invalid window handle being input to RegisterDragDrop.
2007-04-05 13:24:54 +02:00
Rob Shearman
db4972f1fb
ole32: Add tests for drag and drop functions.
2007-04-05 13:23:59 +02:00
Aric Stewart
6230222aab
ole32: Storage optimization.
...
We do not need to unmap and remap all the victim pages with every
resize as they are simply a cache. Provides significant speedup for
saving large storage files.
2007-04-05 10:53:47 +02:00
Rob Shearman
ab7f796fcb
ole32: Keep a list of the loaded dlls for each apartment.
...
Use it to make CoFreeUnusedLibraries per-apartment.
2007-04-04 21:28:36 +02:00
Rob Shearman
30721a88e3
ole32: Cache the address for the library's DllGetClassObject and DllCanUnloadNow in the OpenDll list entry.
2007-04-04 21:28:01 +02:00
Rob Shearman
1d8879bccc
ole32: Add a test that shows CoFreeUnusedLibraries only frees unused libraries from the current apartment.
2007-04-04 21:27:12 +02:00
Rob Shearman
c40f1b6659
ole32: Move the handling of loading a dll and getting an in-process object from it to an apartment-specific function.
...
Use it to implement apartment_hostobject in a cleaner way so that it is
guaranteed to not recurse.
2007-04-04 21:27:07 +02:00
Rob Shearman
679bfdab28
ole32: Move the in-process module loading to COMPOBJ_DllList_Add.
2007-04-04 21:26:53 +02:00
Rob Shearman
247255568c
ole32: Convert the OpenDll list to a standard Wine list.
...
Store the library name and make it reference counted.
2007-04-04 21:26:47 +02:00
Paul Vriens
ec30f6de30
ole32/stg_bigblockfile: Check page before use (Coverity).
2007-04-04 12:45:05 +02:00
Francois Gouget
0081b430e1
Assorted spelling and English fixes.
2007-04-03 11:23:12 +02:00
Francois Gouget
a8695bae88
ole32/tests: Spelling fix.
2007-04-03 11:22:57 +02:00
Francois Gouget
f4f4eb24c8
ole32/tests: Spelling fix.
2007-04-03 11:22:52 +02:00
Francois Gouget
d9e8a0f63e
Remove unneeded checks on the GetModuleHandle() return value for cases where we are linked with the dll.
2007-03-28 12:36:13 +02:00
Rob Shearman
f8789122aa
ole32: Implement MkParseDisplayName.
2007-03-28 12:12:49 +02:00
Rob Shearman
87a4516bd9
ole32: Add some more tests for MkParseDisplayName.
2007-03-28 12:11:15 +02:00
Rob Shearman
32dc398976
ole32: Display the testname for the test for display name in test_moniker.
2007-03-28 12:11:07 +02:00
Rob Shearman
4ce58cb531
ole32: Do a case-insensitive comparison in the count_moniker_matches in the moniker tests as Win9x marshals an all upper-case file name for file monikers.
2007-03-28 12:11:00 +02:00
Rob Shearman
1f70fc50c6
ole32: Add tests for the standard marshaler's implementation of IClientSecurity.
2007-03-28 12:10:51 +02:00
Rob Shearman
d6a435fc56
ole32: Pass the OXID info to RPC_CreateClientChannel and use this to pass the server process ID to channel hooks.
2007-03-28 12:10:40 +02:00
Rob Shearman
8b50eb3556
ole32: Register the ProgID for the class and file monikers.
2007-03-27 13:00:54 +02:00
Rob Shearman
2514c0141e
ole32: Move GetClassFile to moniker.c and move OleRun to ole2.c.
2007-03-27 13:00:44 +02:00
Rob Shearman
8e0145242b
ole32: Add documentation for CoGetClassObject and GetClassFile.
2007-03-27 13:00:29 +02:00
Rob Shearman
cdc9367d78
ole32: Add documentation for CreateBindCtx, BindMoniker, GetRunningObjectTable and OleRun.
2007-03-27 13:00:24 +02:00
Rob Shearman
1b8537bebd
ole32: Handle NULL sub-objects correctly in the STGMEDIUM user marshaling functions so that no further data in marshaled or unmarshaled.
2007-03-27 13:00:10 +02:00
Rob Shearman
d1ec56c871
ole32: Generate OXID_INFO in the stub manager.
...
Copy the OXID_INFO from the stub manager, if available, in
proxy_manager_construct. Otherwise, attempt to resolve it.
Use ipidRemUnknown from OXID_INFO in the proxy manager instead of
magically generating the IPID for RemUnknown.
2007-03-27 12:39:44 +02:00
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