Commit Graph

923 Commits

Author SHA1 Message Date
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