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
Francois Gouget
3b102b39f4
ole32: Fix compilation with gcc 2.95.
2006-05-15 11:09:01 +02:00
Robert Shearman
74407105d2
Check the return value from register_key_guid in all the DLL registering code.
2006-05-10 19:38:04 +02:00
Robert Shearman
5a8536a18d
ole32: Add a test for IMoniker_IsDirty.
2006-05-10 19:26:22 +02:00
Robert Shearman
af6d97ad36
ole32: Exception handling shouldn't be needed around the call to IRpcStubBuffer_Invoke.
...
It should have its own exception handler to catch any exceptions that are raised.
2006-05-10 19:24:24 +02:00
Robert Shearman
1c6f16a384
ole32: The type check in AntiMonikerImpl_CommonPrefixWith should be for anti-monikers, not item-monikers.
2006-05-08 21:14:36 +02:00
Robert Shearman
ae62ab039f
ole32: Implement several class moniker functions using the description provided on MSDN.
2006-05-08 21:14:28 +02:00
Robert Shearman
b155f233f3
ole32: Remove duplicated CLSIDs.
2006-05-08 21:13:38 +02:00
Robert Shearman
8a4f71c61e
ole32: Add an implementation of class monikers.
2006-05-08 21:13:32 +02:00
Robert Shearman
71a7393f45
ole32: Add tests for IsRunning, GetTimeOfLastChange, BindToObject, BindToStorage and Inverse.
2006-05-08 21:04:26 +02:00
Robert Shearman
288fb09b31
ole32: Fix regression caused by an earlier patch that removed the
...
check for the composite moniker having only one moniker in it. In this
case, return the one moniker and free the memory associate with the
composite moniker.
2006-05-08 20:59:25 +02:00
Robert Shearman
96646d532f
ole32: Fix infinite recursion in CompositeMonikerImpl_GetTimeOfLastChange by handling pmkToLeft properly.
...
Fix a typo where CompositeMonikerImpl_GetTimeOfLastChange was called
instead of the virtual implementation of it on mostRightMk.
2006-05-08 20:59:04 +02:00
Robert Shearman
91afe981e0
ole32: Fix infinite recursion in CompositeMonikerImpl_BindToStorage.
2006-05-08 20:58:53 +02:00
Mike Hearn
27800ef4cc
ole32: Add StgCreateFile test and conformance fix.
2006-05-08 16:04:51 +02:00
Alexandre Julliard
fec050c88d
ole32: Properly initialize hash value in CompositeMonikerImpl_Hash.
2006-05-08 16:04:41 +02:00
Robert Shearman
b6592efa83
ole32: Fix typos in CompositeMonikerImpl_BindToObject and CompositeMonikerImpl_BindToStorage.
2006-05-08 15:45:08 +02:00
Robert Shearman
806f6e7bd6
ole32: Create moniker enumerator with an initial reference count.
2006-05-08 15:44:58 +02:00
Robert Shearman
91e51971c0
ole32: Test moniker display names.
2006-05-08 15:44:49 +02:00
Robert Shearman
d8563f1eba
ole32: Add a test for IMoniker_IsDirty.
2006-05-08 15:44:39 +02:00
Robert Shearman
77188bbeab
ole32: Test unmarshaling the moniker instead of just releasing the marshaled data.
2006-05-08 15:44:27 +02:00
Robert Shearman
57b42ae7bc
ole32: Make the size returned by CompositeMonikerImpl_GetMarshalSizeMax match that returned by native.
2006-05-08 15:44:15 +02:00
Robert Shearman
50ec1d6849
ole32: Add on the size of the whole OBJREF structure in the case of custom marshaling.
2006-05-08 15:44:06 +02:00
Robert Shearman
340f7a3ec0
ole32: Fix the algorithm used in CompositeMonikerImpl_Hash to match native.
2006-05-08 15:43:46 +02:00
Robert Shearman
e97709ff6d
ole32: Fix the algorithm used in ItemMonikerImpl_Hash to match native.
2006-05-08 15:43:35 +02:00
Robert Shearman
b011a2ba8f
ole32: Add tests for generic composite monikers.
2006-05-08 15:43:27 +02:00
Robert Shearman
caefc34084
ole32: Add a class factory for composite monikers.
2006-05-08 15:43:16 +02:00
Robert Shearman
fa8472c35a
ole32: Allocate memory for the generic composite moniker in CompositeMonikerImpl_Construct.
...
Don't leak memory in the case of newCompositeMoniker->tabLastIndex == 1,
which can't happen anyway.
Allow construction of a moniker with no sub-monikers.
2006-05-08 15:42:53 +02:00
Robert Shearman
9e799f2054
ole32: Implement IMarshal for composite monikers.
2006-05-08 15:41:25 +02:00
Robert Shearman
e68e6d7dba
ole32: Release all existing monikers before loading the state.
2006-05-08 15:41:13 +02:00
Robert Shearman
785d957eb4
ole32: EnumMonikerImpl_Next should add a reference to the monikers it returns to the caller.
2006-05-08 15:41:04 +02:00
Robert Shearman
3a77ee1d5e
ole32: Fix CompositeMonikerImpl_GetSizeMax to match the data written by CompositeMonikerImpl_Save.
2006-05-08 15:40:56 +02:00
Robert Shearman
9c6b67090f
ole32: Fix the loop in CompositeMonikerImpl_Hash, as IEnumMoniker_Next
...
will return S_FALSE when there are no more monikers left to enumerate.
2006-05-08 15:40:43 +02:00
Robert Shearman
2a320dbde8
ole32: Implement CompositeMonikerROTDataImpl_GetComparisonData.
2006-05-08 15:40:31 +02:00
Robert Shearman
996b35f272
ole32: The unknown constant at the start of the persisted data is the number of monikers in the generic composite.
...
Fix the pointer passed into IEnumMoniker_Release in CompositeMonikerImpl_Save.
2006-05-08 15:40:05 +02:00
Robert Shearman
c8c93e6657
ole32: Add a test for anti monikers. Fix AntiMonikerImpl_Hash and AntiMonikerROTDataImpl_GetComparisonData to pass the tests.
2006-05-08 15:39:47 +02:00
Robert Shearman
caa8b4ed1d
ole32: Support marshaling of anti monikers.
2006-05-08 15:39:10 +02:00
Robert Shearman
f7ed725b60
ole32: Register CLSID_CompositeMoniker.
2006-05-08 15:37:27 +02:00
Robert Shearman
7fe211e9b3
ole32: Register CLSIDs for all OLE monikers.
2006-05-08 15:37:06 +02:00
Robert Shearman
68fceb0a70
ole32: Add tests for item moniker.
2006-05-08 15:36:45 +02:00
Robert Shearman
26a3ff33d0
ole32: Make class moniker test more generic and test more properties.
2006-05-08 15:36:40 +02:00
Marcus Meissner
f937f72308
ole32: Fixed typo in debug statement.
2006-05-08 14:46:58 +02:00
Robert Shearman
6814b33aa3
ole32: Remove the fixme printed if CoGetClassObject fails in CoCreateInstance.
...
Remove the fixme printed if CoGetClassObject fails in
CoCreateInstance, because we already print an error in all cases and
the error more accurately pin-points the source of the problem.
2006-05-07 10:03:11 +02:00
Robert Shearman
32d39ea6ed
ole32: IPersistStream is also implemented by any object that implements IStream.
2006-05-05 21:51:52 +02:00
Robert Shearman
d9b7c36009
ole32: Fix typos in StgCreateStorageEx and StgOpenStorageEx.
2006-05-05 21:51:43 +02:00
Robert Shearman
6dd5dbef64
ole32: STGM_PRIORITY allows other IStorage objects to be opened in transacted mode with read/write access.
2006-05-05 21:51:31 +02:00
Robert Shearman
693da8c471
ole32: Check that the storage was opened with write access before creating a new stream or sub-storage.
2006-05-05 21:50:12 +02:00
Robert Shearman
5d051af6ae
ole32: Copy the mode flags into the STATSTG structure in IStorage::Stat.
...
Copy the mode flags into the STATSTG structure in IStorage::Stat. Don't
store the STGM_CREATE flag in openFlags, since it is only relevant when
opening the stream and the tests show that it isn't returned in the
STATSTG structure.
2006-05-05 21:49:39 +02:00
Robert Shearman
dd58e54e43
ole32: Add tests for IStorage::Stat.
2006-05-05 21:49:13 +02:00
Robert Shearman
b2207d83ad
ole32: Fix access right check for opening and creating streams and storages.
...
Check the access mode for opening and creating streams and storages
doesn't exceed the access rights the current storage was opened with,
not the parent storage.
2006-05-05 21:49:04 +02:00
Robert Shearman
8d39c80950
ole32: Add more tracing for reading and writing storage streams.
...
Add more tracing for read and write operations and warn in the case of
failure.
2006-05-05 21:48:49 +02:00
Robert Shearman
168e2fb98f
ole32: Add tests for sub-storages and creating streams.
...
Replace a test that fails on NT and with DCOM95 DLLs with a test that
ensures access permissions are checked correctly for sub-storages and
creating streams.
2006-05-05 21:48:37 +02:00
Robert Shearman
8d30c1d08e
ole32: Add a storage test for reading and writing of streams that have
...
had their parent storage released.
2006-05-05 21:48:27 +02:00
Mike McCormack
3c1e67d084
ole32: Return STG_E_REVERTED when a stream's parent storage has been closed.
2006-05-05 20:54:57 +02:00
James Hawkins
2b5963f8e2
ole32: StorageImpl_GetROBigBlock can return NULL so check for NULL before doing a memcpy.
2006-05-05 17:51:08 +02:00
Mike McCormack
a8494aa9a9
ole32: Store drop targets in a standard list.
2006-05-05 16:33:12 +02:00
Mike McCormack
11e4b21a30
ole32: More tests and fixes for STGM_PRIORITY.
2006-04-18 11:15:03 +02:00
Mike McCormack
d7424771ea
ole32: Fix a declaration.
2006-04-18 11:14:58 +02:00
Mike McCormack
64659785de
ole32: Uncomment some code to make sure it is compiled, but don't run it.
2006-04-18 11:14:53 +02:00
Robert Shearman
bff74c1763
ole32: Fix typo in FileMonikerImpl_BindToObject.
...
Fix apparent typo in FileMonikerImpl_BindToObject, where ppf was
incorrectly passed into IClassFactory_CreateInstance instead of &ppf
(found by Coverity).
2006-04-07 13:10:18 +02:00
Robert Shearman
3a2e18c99c
ole32: Check for pcbSize parameter of CompositeMonikerImpl_GetSizeMax being NULL, rather than non-NULL.
2006-04-07 13:10:03 +02:00
Robert Shearman
ff5efc2779
ole32: Check for pcbSize in AntiMonikerImpl_GetSizeMax being for NULL, not for non-NULL.
2006-04-07 13:09:57 +02:00
Robert Shearman
582e2f1ff8
ole32: Fix DefaultHandler_EnumAdvises.
...
As per MSDN, if the object has no connections then
IOleObject::EnumAdvises should return a NULL enumerator and S_OK. This
is the case when This->oleAdviseHolder is NULL, so do this and avert a
potential NULL dereference of This->oleAdviseHolder (found by
Coverity).
2006-04-07 13:09:36 +02:00
Robert Shearman
c77711a6c9
ole32: Add documentation for the clip format user marshal functions.
2006-04-03 21:36:12 +02:00
Mike McCormack
eed120995b
ole32: STGM_PRIORITY implies STGM_SHARE_EXCLUSIVE.
2006-04-03 12:15:34 +02:00
Robert Shearman
714b66e945
ole: Use ncalrpc instead of ncacn_np as the RPC transport.
...
Use ncalrpc instead of ncacn_np as the transport as this is more similar
to how ole32 from NT works and should also be compatible with rpcrt4
from Win9x, allowing more combinations of dlls to work.
2006-03-31 17:38:43 +02:00
Robert Shearman
fb5ec209cd
ole32: Remove unnecessary commenting out of the RPC interfaces in the dcom idl file.
2006-03-30 21:55:43 +02:00
Robert Shearman
8c7706bad0
ole32: Don't process posted messages in CoWaitForMultipleHandles.
...
Tests with native show that during COM calls posted messages aren't
retrieved other than COM calls so change the PeekMessage parameters in
CoWaitForMultipleHandles to duplicate this.
2006-03-30 12:43:17 +02:00
Robert Shearman
ff85f892c6
ole32: Try to retrieve messages that are COM calls first.
...
Try to retrieve messages that are COM calls first in
CoWaitForMultipleHandles before retrieving other types.
2006-03-30 12:42:50 +02:00
Robert Shearman
a1548b45d8
ole32: Put the PeekMessage call of CoWaitForMultipleHandles into a separate function.
...
Put the PeekMessage call of CoWaitForMultipleHandles into a separate
function so that the order and type of the messages retrieved can be
customised in the future.
2006-03-30 12:42:35 +02:00
Robert Shearman
8c551796a9
ole32: Whether the message loop is entered in CoWaitForMultipleHandles,
...
should depend on whether the current apartment is a single threaded one.
2006-03-30 12:42:01 +02:00
Robert Shearman
3091aa5302
ole32: Pass the no yield flag to PeekMessage.
...
Pass the no yield flag to PeekMessage since we sleep in
MsgWaitForMultipleObjectsEx and the extra context switch is wasteful.
2006-03-30 12:41:32 +02:00
Mike McCormack
50436da519
ole32: Fix StgOpenStorage's handling of the STGM_PRIORITY flag.
2006-03-30 12:38:08 +02:00
Kevin Koltzau
0c2d277286
ole32: Initial tests for OLE clipboard functions.
2006-03-22 11:19:25 +01:00
Francois Gouget
6bddeb1cf7
Assorted spelling fixes.
2006-03-21 20:10:39 +01:00
Robert Shearman
650ac14219
ole: Use the thread pool for executing RPC calls for better performance
...
(after the thread pool has been improved).
2006-03-20 12:00:50 +01:00
Robert Shearman
7406cc210b
ole: Implement IRpcChannelBuffer::GetDestCtx on the client side.
2006-03-06 11:09:34 +01:00
Robert Shearman
92a1f52b4d
ole: Store the destination context and the destination context data in
...
the proxy manager when unmarshaling.
2006-03-06 11:08:52 +01:00
Alexandre Julliard
c9cc7e33ff
Fixed some compiler warnings on old gcc versions.
2006-03-02 18:03:32 +01:00
Robert Shearman
9a9981bad5
ole: Change NORMALEXTREFS to 5, like it is in native.
2006-03-01 19:54:45 +01:00
Robert Shearman
857a6d1f63
ole: Fix marshaling of proxies for interfaces that haven't already been unmarshaled.
2006-03-01 19:54:20 +01:00
Vitaly Lipatov
aee52b747e
ole32: Add descriptions for StgCreateDocfile and StgIsStorageFile functions.
2006-02-24 21:10:27 +01:00
Francois Gouget
e092adfc9b
Add trailing '\n's to ok() calls.
2006-02-24 21:07:33 +01:00
Vitaly Lipatov
a8397e307a
ole32/tests: Do not compare returned by DeleteFile value with TRUE.
2006-02-24 11:23:40 +01:00
Robert Shearman
f4a8ba9548
ole: Fallthrough from local activation in CoGetClassObject.
...
If local-server or local-service activation doesn't work in
CoGetClassObject then fallthrough instead of returning from the
function.
2006-02-24 11:23:16 +01:00
Robert Shearman
6c529a7273
ole: Make the CoCreateInstance test succeed.
...
Move the uninitialized apartment check after zeroing out the return
value.
2006-02-22 22:14:52 +01:00
Dr J A Gow
e3af1227c9
ole32: Fix stream ref counting.
...
Stream methods called after parent object has been closed correctly
return STG_E_REVERTED.
Stream refcounting fixed. Now can safely call IStorage destructor
before IStream destructor and guarantee file will be closed.
2006-02-21 11:18:05 +01:00
Dr J A Gow
c74e5a784d
ole32: Fix up permissions when opening streams.
...
Fix up permissions when opening streams in storage objects when
storage object has been opened in transacted mode.
2006-02-21 11:17:32 +01:00
Robert Shearman
023ad38914
ole: Test the behaviour of CoCreateInstance with an uninitialized apartment.
2006-02-20 11:16:08 +01:00
Robert Shearman
a37a5014a2
ole: Change the Apartment Model field to a boolean.
...
Change the apartment model field to a boolean that just specifies
whether the apartment is multi-threaded or not and fix up all the
places where this is used.
Fixes a bug where we would return an error if the previous apartment
model passed into CoInitializeEx matches the new apartment model, but
additional optimisation flags are specified.
2006-02-20 11:15:57 +01:00
Mike McCormack
5c3b0df716
ole32: Added a test showing OLE storage's IStorage/IStream refcounting
...
behaviour.
2006-02-15 11:51:05 +01:00
Alexandre Julliard
be22a96847
Include wine/port.h in files that use exceptions.
2006-02-07 16:31:21 +01:00
Robert Shearman
af7c076337
ole32: Print an error message if the apartment isn't initialised in
...
CoCreateInstance.
2006-02-07 16:25:25 +01:00
Huw Davies
aaf7a974a9
ole: ProgIDFromCLSID sets progid to NULL on failure.
2006-01-20 19:41:56 +01:00
Robert Shearman
1b7d346d1f
ole: Verify that the proxy is being used in the correct thread.
2006-01-20 16:16:08 +01:00
Robert Shearman
98734cc894
ole: Add a test for WM_QUIT behaviour during COM calls.
2006-01-20 16:14:32 +01:00
Robert Shearman
6e0029f83d
ole: Fix WM_QUIT Handling in CoWaitForMultipleHandles.
...
When a WM_QUIT message in encountered in CoWaitForMultipleHandles then
it should repost the WM_QUIT message and then switch to waiting
without checking messages.
2006-01-20 16:14:23 +01:00
Robert Shearman
b4fe7ea7c6
ole: Update the COM todo list.
2006-01-18 11:29:20 +01:00
Robert Shearman
ba8cdfdc37
ole: Re-post the quit message outside of the DoDragDrop message loop.
2006-01-18 11:29:13 +01:00
Robert Shearman
b3041ba6ad
ole: Optimisation for COM Calls.
...
Add an optimisation to yield and try to allow the RPC to run before
waiting for messages and RPCs to arrive.
2006-01-14 17:45:49 +01:00
Robert Shearman
f431353058
ole: Fix crash in RpcChannelBuffer_SendReceive.
...
Initialise apt to NULL since ipid_to_apt_stubbuffer no longer does
this for us.
2006-01-12 11:53:32 +01:00
Robert Shearman
9ac3b28354
ole: Use strict prototypes for some test functions.
2006-01-12 11:53:19 +01:00
Robert Shearman
6e6d24e959
ole: Implement IEnumSTATDATA for the Ole Advise Holder.
...
Implement IEnumSTATDATA for the Ole Advise Holder and use it to
implement the Send* functions.
2006-01-11 12:09:32 +01:00
Robert Shearman
781970f001
ole: Initialise hrref so as not to display garbage in the trace.
2006-01-11 12:09:17 +01:00
Robert Shearman
92ad2958ac
ole: Remove some duplicated code.
2006-01-11 12:09:11 +01:00
Robert Shearman
cd2fafb775
ole: Defer apartment window creation until the first object is marshalled.
2006-01-10 20:41:23 +01:00
Robert Shearman
fcba783fc7
ole: Add an accessor function for an apartment's window.
2006-01-10 20:41:22 +01:00
Robert Shearman
d175f154ba
ole: Report and clean up after PostMessage failures.
2006-01-10 20:41:22 +01:00
Robert Shearman
a02cb3ebd6
ole: Pass a channel into IRpcStubBuffer::Invoke.
...
Create a server channel and store this in the ifstub.
Rename ipid_to_apt_and_stubbuffer to ipid_get_dispatch_params and make
the function return an HRESULT.
Return the channel for the ifstub in ipid_get_dispatch_params.
2006-01-10 20:41:22 +01:00
Robert Shearman
8e5b36147d
ole: Reduce the access rights required by start_local_service.
2006-01-10 20:41:22 +01:00
Robert Shearman
c46386ff5c
ole: Return the last error if we couldn't open the requested service.
...
Fix the ok/failed message.
2006-01-10 20:41:22 +01:00
Robert Shearman
b75db2d9de
ole: Join the MTA if necessary when executing an RPC call.
...
Join the MTA if necessary when executing an RPC call to ensure that it
is executing with a valid apartment and won't fail for certain COM
calls.
2006-01-09 18:41:19 +01:00
Robert Shearman
1eda42ccac
ole: Prefer services over servers.
...
Attempt to start as a local service before attempting to start as a
local server for the CLSCTX_LOCAL_SERVER case.
2006-01-09 18:40:42 +01:00
Robert Shearman
e0605afdf6
ole: Add some tests for CLSIDFromString.
2006-01-09 18:40:27 +01:00
Robert Shearman
cc4669cc5f
ole: Remove __CLSIDFromStringA.
...
Move the ANSI implementation of CLSIDFromString to ole16.c and change
CLSIDFromString to only deal with Unicode strings.
2006-01-09 18:40:17 +01:00
Alexandre Julliard
0f81ac3506
ole: Remove a no longer needed smbfs hack.
2006-01-06 21:19:05 +01:00
Robert Shearman
95312fcb63
ole: Remove "stub" from TRACEs of functions that aren't stubs.
2006-01-06 21:08:09 +01:00
Ulrich Czekalla
427920f8a2
ole: Fix SmallBlocksToBigBlocks loop.
...
Stop copying data when read returns 0 bytes
2006-01-06 12:16:04 +01:00
Robert Shearman
dfa74b998e
ole: Check the return value of IStream_SetSize in IStream_Read.
...
Check the return value of IStream_SetSize in IStream_Read, since
otherwise execution could continue on and cause heap corruption.
2006-01-03 12:07:49 +01:00
Robert Shearman
8f604e925d
ole: Fix mis-handling of return value in StgStreamImpl_Read.
...
BlockChainStream_ReadAt returns a BOOL, not an HRESULT so change
StgStreamImpl_Read to handle this, by returning STG_E_READFAULT on
failure.
2006-01-03 12:07:34 +01:00
Robert Shearman
85128db39c
Fix detection of V1a prop variant library in test suite.
2005-12-26 12:56:48 +01:00
Ulrich Czekalla
707fa2c3a2
ole32: Return error instead of asserting if storage file is corrupt.
2005-12-22 17:15:05 +01:00
Alexandre Julliard
dbc14a5cb5
ole32: Revert exception handler change.
...
The handler does the opposite of normal page fault handlers.
2005-12-19 17:44:56 +01:00
Alexandre Julliard
ae964ac801
Take advantage of the __EXCEPT_PAGE_FAULT macro.
2005-12-16 17:17:57 +01:00
Alexandre Julliard
db7920bb44
We no longer need to handle EXCEPTION_PRIV_INSTRUCTION on page faults.
2005-12-16 16:37:12 +01:00
Michael Jung
892fc1093d
ole32: Periodically call IDropTarger::DragOver during Drag&Drop.
2005-12-12 12:42:53 +01:00
Eric Pouech
681b71ed9a
Functions with no paramters must be (void).
2005-12-12 12:42:44 +01:00
Eric Pouech
28442721fd
Const correctness fixes.
2005-12-12 11:55:49 +01:00
Robert Shearman
6c3e1f9adf
CreateErrorInfo trace fix.
...
CreateErrorInfo isn't a stub so don't print this in the trace
message.
2005-12-12 11:52:36 +01:00
Robert Shearman
ef8ae2d763
OLE: Fix a typo where brackets were missing.
2005-12-06 10:57:58 +01:00
Francois Gouget
5127dc9f49
Assorted spelling fixes.
2005-12-02 16:15:09 +01:00
Robert Shearman
567919d78f
Implement some user marshal functions and add tests.
2005-11-29 11:35:27 +01:00
Michael Jung
e2bdb145ef
Made the Drag&Drop cursors' rubber band visible on a white background.
2005-11-29 11:23:49 +01:00
Robert Shearman
5f7bb17cf4
Implement IOleObject_DoVerb function by running the object and then
...
delegating to the remote IOleObject_DoVerb function.
2005-11-28 11:24:31 +01:00
Robert Shearman
b9d7754034
Delegate advises to the remote object to enable the client to receive
...
data change notifications.
2005-11-28 11:16:58 +01:00
Robert Shearman
bc09238067
Call DefaultHandler_Stop if we fail to start the server running
...
correctly and a few formatting fixes.
2005-11-28 10:58:51 +01:00
Michael Jung
5db65cdd51
Correct the hot spot position of the drag&drop 'move' and 'link' cursors.
2005-11-28 10:41:00 +01:00
Robert Shearman
22cf59ba43
Call the equivalent delegate function for all of the simple
...
functions.
2005-11-28 10:39:19 +01:00
Alexandre Julliard
0ec7e1a591
Renamed all .cvsignore files to .gitignore.
2005-11-26 13:10:33 +01:00
Robert Shearman
45d440a219
Implement CLSCTX_INPROC_HANDLER in CoGetClassObject similar to
...
CLSCTX_INPROC_SERVER by looking at the InprocHandler32 registry key
instead of InprocServer32.
2005-11-12 19:11:21 +00:00
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +00:00
Markus Amsler
ae542af541
Improve c2man Documented-Total count.
2005-11-09 10:30:57 +00:00
Robert Shearman
f7b65cc716
- Extend COM_OpenKeyForCLSID to open a subkey and return an HRESULT.
...
- Fix up the callers and reorganize CoGetClassObject to split out the
inproc code into another function.
2005-11-09 10:29:11 +00:00
Michael Jung
2f210917ee
Added tracing to CoCreateInstance.
2005-11-08 12:43:24 +00:00
Robert Shearman
65581b8489
We shouldn't pass the application name into CreateProcess because the
...
value stored in the registry could include arguments.
2005-11-08 10:56:02 +00:00
Robert Shearman
fe4015201b
Implement OLE object notifications, making sure to cope with the case
...
of the advise holder not being created because no notifications are
needed.
2005-11-03 19:32:49 +00:00
Ivan Leo Puoti
52c6299538
Delete some temp files created by the ole32 tests.
2005-10-29 10:29:18 +00:00
Robert Shearman
22c97cd98a
Implement a Stop function and use this to properly implement
...
IOleObject_Close, IAdviseSink_OnClose and the destructor.
2005-10-26 10:12:49 +00:00
Francois Gouget
a1f9a13997
Use "static const" rather than "const static" as gcc -W complains
...
about the former.
2005-10-06 11:38:45 +00:00
Robert Shearman
c23cb51d52
Pass WM_QUIT to outer modal loop.
2005-10-03 11:02:37 +00:00
Alexandre Julliard
7e22be4d84
We are no longer generating .dbg.c files.
2005-09-29 10:35:58 +00:00
Robert Shearman
fc68475c80
Add a stubbed out implementation of IAdviseSink and advise the
...
delegate object to use it.
2005-09-29 10:29:44 +00:00
Robert Shearman
8165b584f6
- Make the interfaces that should be supported by the data cache
...
explicit so their is no confusion in this file as to what it should
be implementing and what this object should implement.
- Delegate some IOleObject methods to the server IOleObject if it is
running.
2005-09-28 18:29:38 +00:00
Alex Villacís Lasso
1e26f9601d
Add NULL check for sinkInterface in DataCache_GetAdvise.
2005-09-28 18:12:58 +00:00
Alex Villacís Lasso
a90c11330e
Add missing ! to fix a reversed condition check in
...
OleCreateDefaultHandler, in order to match intent in comment.
2005-09-28 18:12:45 +00:00
Vincent Béron
80e023bdea
Use the proper calling convention for 2 16-bit functions.
2005-09-27 09:32:41 +00:00
Francois Gouget
a8c7284f92
Assorted spelling fixes.
2005-09-26 10:58:41 +00:00
Francois Gouget
335fce9ce0
Fix .spec declarations for functinos with 64bit arguments (reported by
...
winapi_check).
2005-09-26 09:56:40 +00:00
Robert Shearman
c86fef8844
Move all 16-bit functions to an appropriate 16-bit file.
2005-09-25 15:17:10 +00:00
Robert Shearman
53ef9950f2
Implement some IRunningObject functions that actually start the server
...
and initialize it.
2005-09-23 10:08:35 +00:00
Robert Shearman
3daf39fb0c
Implement OleRegEnumVerbs.
2005-09-23 10:08:25 +00:00
Robert Shearman
044ccc40f3
Don't fail in CoRegisterClassObject if the class already exists and
...
the REGCLS_MULTIPLEUSE flag is specified.
2005-09-23 10:08:11 +00:00
Alexandre Julliard
0ec0f048e6
Removed unused debug channels.
2005-09-22 10:44:40 +00:00
Robert Shearman
6bc4327c92
- Initialize out pointer to NULL before access check in
...
IStorage_CreateStorage.
- WriteClassStg should return E_INVALIDARG if pstg is NULL instead of
asserting.
- ReadClassStg should return E_INVALIDARG if pstg is NULL instead of
crashing and a NULL pclsid should cause it to return the same
value.
2005-09-22 10:34:40 +00:00
Alexandre Julliard
9f1c6de1ef
We are no longer generating .spec.c files.
2005-09-21 14:42:52 +00:00
Robert Shearman
0a49c1752e
Implement OleIsRunning.
2005-09-20 11:36:56 +00:00
Robert Shearman
d389b57171
- Fix a trace to refer to the object ID rather than the legacy MID.
...
- Fix the error case of CoMarshalInterThreadInterface to release the
stream.
2005-09-20 11:36:40 +00:00
Robert Shearman
83f3b370b1
- Remove redunant braces.
...
- Compact multi-line comments that fit into one line.
- Remove comments that state the obvious.
- Remove extra brackets that are redundant because the -> operator
binds tighter than &.
- Change "this" to "This" to make code more like other interface
implementations.
- Remove redundant comparisons with NULL for pointers.
2005-09-19 14:42:53 +00:00
Robert Shearman
0ceacf017f
Fix the return codes during unmarshaling so that it returns failure
...
codes instead of S_FALSE returned from IStream_Read.
2005-09-19 14:34:04 +00:00
Robert Shearman
b3a4b59668
Fix ref-counting rules to match native DCOM Dlls.
2005-09-18 11:10:37 +00:00
Robert Shearman
18bd21d4f1
Re-arrange some functions and vtables so we don't have declarations
...
for all of the functions in the file.
2005-09-17 14:29:11 +00:00
Robert Shearman
43df8b61bb
Add exception handling for stubs.
2005-09-14 10:07:01 +00:00
Alexandre Julliard
5a49e40149
SendMessageTimeout takes a DWORD_PTR not a DWORD.
2005-09-12 20:43:32 +00:00
Alexandre Julliard
f8ee161a1b
Fixed some traces to use the right printf format and avoid typecasts.
2005-09-12 10:30:05 +00:00
Alexandre Julliard
20a1a203c6
Use a more portable scheme for storing the name of a critical
...
section.
2005-09-09 10:19:44 +00:00
Richard Cohen
908e9e889e
Relax the share mode validation for transacted storage, with a test.
2005-09-07 09:22:15 +00:00
Eric Pouech
b379e420ed
Fixes for function prototypes without arguments.
2005-09-06 09:27:37 +00:00
Robert Shearman
3f912e048e
The [string] attribute is only valid on byte, char and wchar_t types,
...
so replace "unsigned short" by "WCHAR".
2005-09-02 11:19:05 +00:00
Alexandre Julliard
611b5acbf8
Authors: Mike Hearn <mh@codeweavers.com>, Robert Shearman <rob@codeweavers.com>
...
Change stub manager to track the number of normal marshals instead of
using the state machine so that multiple marshals of the same object
and interface work correctly.
2005-09-02 11:18:45 +00:00
Robert Shearman
dab603def3
- Implement IMarshal on proxies so that we don't end up with proxies
...
to proxies, causing potential deadlock issues and performance
problems.
- Add a test for this situation and remove the todo_wine from another
test that now succeeds.
2005-08-27 09:25:16 +00:00
Robert Shearman
c8aedf9726
Add stub for CoAllowSetForegroundWindow.
2005-08-26 08:47:09 +00:00
Robert Shearman
bcb251d5b3
Remove unused thread handle entry from the apartment structure.
2005-08-25 09:50:36 +00:00
Mike McCormack
eafa666bee
Fix some gcc 4.0 warnings.
2005-08-22 09:26:53 +00:00
Mike McCormack
6c8527c31c
- return a precomputed result for a NULL string
...
- pass strlen an LPSTR to eliminate a sign warning
2005-08-22 09:19:38 +00:00
Francois Gouget
71af595499
Use LPSTORAGE to better match the PSDK.
...
Document the real SEGPTR type using the standard documentation
mechanisms. Fixes winapi_check warnings.
2005-08-16 16:01:15 +00:00
Mike McCormack
61aabd66f5
Warning fixes for gcc 4.0.
2005-08-15 10:49:39 +00:00
Marcus Meissner
61b2fba9d7
Added CoCreateInstance16, CoGetClassObject16, OleLoad16 stubs.
2005-08-15 09:46:51 +00:00
Alexandre Julliard
628939d567
Use the proper WOW functions everywhere instead of the K32WOW variant.
2005-08-10 10:59:19 +00:00
Vincent Béron
21e3ba8cd1
Correct mismatches between spec files and comments about export
...
number.
2005-08-10 09:53:47 +00:00
Vincent Béron
d32610fabe
Remove local declarations already in included public headers.
2005-08-10 09:48:15 +00:00
Alexandre Julliard
d37f0abf07
Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
...
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Marcus Meissner
170470ee0b
Implemented ILockBytes16 (memorystream) support for the 16bit compound
...
storage implementation.
Added ReadClassStg, OleDoAutoConvert, GetConvertStg
implementations/stubs.
2005-08-08 11:05:06 +00:00
Alexandre Julliard
04b7382db9
Remove duplicate definition of FILE_BEGIN.
2005-07-28 10:24:01 +00:00
Alexandre Julliard
b1a9701bb5
Replace the _ICOM_THIS_From macros by inline functions the way it's
...
already done in shelllink.c.
2005-07-27 11:10:52 +00:00
Alexandre Julliard
b8d3075d83
Uncomment the typedef in the DECLARE_INTERFACE macro, and get rid of
...
duplicate typedefs.
2005-07-26 18:32:53 +00:00
Stefan Huehner
4f82e547d7
Fix some missing-declarations warnings.
2005-07-24 17:11:59 +00:00
Marcus Meissner
c5feb317b3
Implemented IsValidInterface16, CoMemAlloc.
...
Added debug to HGLOBALLockBytes16_QueryInterface.
2005-07-24 16:15:24 +00:00
Marcus Meissner
1c3054af32
Added OleSetMenuDescriptor16 stub.
2005-07-22 18:29:39 +00:00
Marcus Meissner
c8187b0900
OleInitializeWOW gets 2 arguments.
2005-07-22 18:29:19 +00:00
Marcus Meissner
ba4c61776d
16bit COM interfaces are cdecl, not WINAPI.
2005-07-22 18:26:31 +00:00
Marcus Meissner
d32762808b
16bit interfaces are cdecl, so drop the WINAPI.
2005-07-22 09:03:29 +00:00
Robert Shearman
4fad9ddc86
Hack around broken state management so InstallShield works.
2005-07-20 10:30:04 +00:00
Robert Shearman
775898ba97
- Always query for the correct stub interface, otherwise we will be
...
pointing to the completely wrong object when a proxy does a
queryinterface.
- Remove assumption that the stub buffer will handle the lifetime of
the object.
2005-07-19 19:59:41 +00:00
Robert Shearman
5d873adf9f
Marshal return value from IRemUnknown_RemQueryInterface.
2005-07-19 19:43:05 +00:00
Robert Shearman
c0d7a25a42
Silence now noisy error messages caused by changes in the way we call
...
ipid_to_stubmanager. Move the error message to the one place it is
needed.
2005-07-19 19:42:33 +00:00
Robert Shearman
97be0be7e4
- We should be starting with 1 reference.
...
- IRpcStubBuffer_Disconnect can be called more than once.
2005-07-19 19:13:11 +00:00
Robert Shearman
28479ea4aa
By-pass the RPC runtime if possible when calling an STA by posting a
...
message directly to the apartment window for it to process. Fixes a
deadlock in InstallShield caused by having to create a thread when
freeing an object that comes from an STA apartment. Added tests that
fail without this fix.
2005-07-19 19:12:47 +00:00
Robert Shearman
e874408d65
Delete the stub manager outside of the apartment critical section
...
because the deletion may require the object to re-enter the
apartment.
2005-07-19 19:12:24 +00:00
Alex Villacís Lasso
0f9ebafbec
Initialize RegisteredClass properly in CoRegisterClassObject to
...
prevent crash in CoRevokeClassObject when accessing (uninitialized)
pMarshalledData.
2005-07-19 11:40:22 +00:00
Vitaly Lipatov
e633b45300
Added some documentation.
2005-07-07 17:21:44 +00:00
Mike McCormack
c7fdb4565a
Fix gcc 4.0 -Wpointer-sign warnings.
2005-07-05 11:02:54 +00:00
Eric Pouech
809edabfbe
Const correctness fixes.
2005-06-27 09:53:46 +00:00
Alexandre Julliard
aa0b9aac0d
Sort entry points alphabetically.
2005-06-22 18:38:23 +00:00
Stefan Huehner
863a4b1488
Fix some more -Wstrict-prototypes warnings.
2005-06-21 20:53:13 +00:00
Stefan Huehner
ac6f562b52
Fix more -Wstrict-prototypes warnings.
2005-06-20 14:18:03 +00:00
Robert Shearman
0a645e8cb9
Convert some registry helper functions to use unicode versions of
...
CLSID & registry functions (untested).
2005-06-20 13:14:22 +00:00
Robert Shearman
5807cb79f0
Change the RPC code to use the unicode versions of the CLSID &
...
registry functions.
2005-06-20 10:33:28 +00:00
Robert Shearman
f419880d64
- Change some of the registry helper functions to use the unicode
...
versions of the CLSID & registry functions.
- Reindent CoGetClassObject and output an error message if the class
isn't registered.
- Add tests for the touched functions.
2005-06-20 10:33:17 +00:00