Commit Graph

937 Commits

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