Commit Graph

967 Commits

Author SHA1 Message Date
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
Mike McCormack 0220d7ac89 Fix declarations in the tests. 2005-06-15 10:20:30 +00:00
Alexandre Julliard c2d5b444b3 Moved the NONAMELESSUNION/STRUCT macros to wine/test.h so that they
can be used in all the test.
2005-06-13 12:10:54 +00:00
Robert Shearman fd5f7729cb Fix PropVariant tests on Windows 2000 and above. 2005-06-13 10:02:10 +00:00
Robert Shearman a1e466ae77 - Add registry entries for local-only OLE interfaces.
- Change IUnknown to local interface.
2005-06-13 10:01:43 +00:00
Marcus Meissner ec7a5931ae Removed CLSID_CompositeMoniker (conflicting with static definition). 2005-06-09 09:47:44 +00:00
Robert Shearman 037bdc0dc0 IUnknown isn't a remotable interface so the stub manager shouldn't
need a marshaller for it.
2005-06-09 09:45:59 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Rob Shearman e46047e4da Don't disconnect proxies flagged with SORFP_NOLIFETIMEMGMT. It makes
no sense and only causes trouble for proxies that depend on these
proxies being available.
2005-06-05 19:19:24 +00:00
Mike Hearn e3f990467c Add some tracing to the IRemUnknown RpcProxyBuffer implementation. 2005-06-05 18:13:47 +00:00
Richard Cohen 977806a884 - Don't assume the ROT is already empty.
- Test that IEnum::Clone doesn't also do a Reset.
2005-06-02 20:06:33 +00:00
Richard Cohen 95b71ed885 IEnum::Clone shouldn't do a Reset. 2005-06-02 20:06:22 +00:00
Richard Cohen 885e6298f2 Added tests for file monikers. 2005-06-02 19:43:03 +00:00
Richard Cohen 54f041ad32 - Base FileMonikerImpl_Save() on XP.
- Correct handling of Unicode strings & multibyte locales.
- More error checking.
- Change ERR to WARN.
- Match Windows quick & dirty estimate for GetSizeMax().
2005-06-02 19:42:48 +00:00
Mike McCormack 4f14044f29 Remove forward declarations. 2005-05-23 16:31:13 +00:00
Robert Shearman 8d6a673cf7 - Add error messages on failure in file moniker load function.
- Fix incorrect pointer check in both monikers.
- Fix max size calculation of item moniker to match native.
2005-05-23 10:27:42 +00:00
Robert Shearman 27d73d6115 - Add a useful trace message.
- Fix more places where custom header size was calculated exclusive of
  the data size member.
- Optimize custom marshaling by getting size before calling the custom
  marshaler so we can write the header before and not use a second
  stream.
2005-05-23 10:27:23 +00:00
Alexandre Julliard aebb745488 Comment out stub WEP entry points so that we can call WEP for builtin
dlls too.
2005-05-23 10:12:26 +00:00
Alexandre Julliard 0ddd30b0b6 Removed unnecessary code in the 16-bit DllEntryPoint function of some
dlls, and also fixed its ordinal in a few places.
2005-05-23 10:00:26 +00:00
Robert Shearman b9ecbb6167 - Marshal objects & monikers into the ROT.
- Test for this behaviour.
2005-05-23 09:54:53 +00:00
Kevin Koltzau bb4d6f88bf Implement Hash function on composite moniker. 2005-05-23 09:52:13 +00:00
Robert Shearman 34d3049360 - Add a generic moniker marshaler that works by saving & loading
monikers to & from the stream.
- Use the generic moniker marshal in the file & item monikers and add
  a class factory for each.
2005-05-19 14:22:14 +00:00
Robert Shearman a890293f33 - Change remaining blocks of code with 2-space indentation to 4-space
indentation.
- Make vtables const.
- Remove an unnecessary memcpy and let the compiler do the work.
2005-05-19 12:04:58 +00:00
Robert Shearman 447ab61288 Write custom header up to and including size, not excluding. 2005-05-19 11:15:50 +00:00
Robert Shearman 10ee7b36e8 Implement IROTData::GetComparisonData for file & item monikers. 2005-05-18 18:28:15 +00:00
Pierre d'Herbemont 49b1d335d9 Big Endian specific code fixes in order to conform with
NONAMELESSSTRUCT.
2005-05-18 09:44:13 +00:00
Juan Lang b45e31608b Obvious fixes to PropVariantClear and PropVariantCopy for vector
types.
2005-05-17 10:18:59 +00:00
Juan Lang ff87ad7ab1 Add a comment, and a no-op cleanup. 2005-05-16 21:37:54 +00:00
Juan Lang e140d02a2b Differentiate between version 0 and version 1 property storages. 2005-05-16 17:52:36 +00:00
Marcus Meissner f3d99b2697 Move the Dll init function to compobj.c to avoid having global
variables. Remove need of ole32_main.h.
2005-05-16 14:12:53 +00:00
Marcus Meissner fc61f6c553 Make _xmalloc16() static. 2005-05-16 08:47:40 +00:00
Marcus Meissner 81e2677939 Staticify FTMarshalImpl definition. 2005-05-16 08:47:26 +00:00
Marcus Meissner 45bc1c21a1 Make HGLOBALStream_* functions static. 2005-05-16 08:47:14 +00:00
Juan Lang 5d90f2bcf9 Store property names in the code page of the property set. 2005-05-16 08:43:35 +00:00
Jeff Latimer 72f73ac452 Implement the IEnumMoniker interface for the ROT and provide tests to
exercise the interface.
2005-05-14 18:50:14 +00:00
Juan Lang 2507264e05 - maintain proper byte order
- maintain PROPSETFLAG_ANSI flag based on codepage
- update comments
2005-05-14 11:06:44 +00:00
Mike McCormack a22c767eb0 Remove function prototypes. 2005-05-13 17:45:50 +00:00
Hans Leidekker 6b7676a1e8 Don't import from ntdll. 2005-05-13 17:42:49 +00:00
Mike McCormack e3b43fa458 Make sure a stream can't be created in read only storage. 2005-05-13 13:58:43 +00:00
Mike McCormack 912ffd6a0f Remove unnecessary declarations and make functions static. 2005-05-12 09:57:21 +00:00
Mike McCormack 2c6c67f4ea Make functions static and remove unnecessary declarations. 2005-05-11 15:56:45 +00:00
Mike McCormack 3c5790646f Add a stub implementation of CoIsHandlerConnected. 2005-05-11 12:57:16 +00:00
Mike McCormack 809cf354e4 Fix a memory leak in the ole storage implementation. 2005-05-10 15:59:59 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Juan Lang 4d1562495d Correct/improve error checking in IPropertyStorage. 2005-05-09 09:26:43 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Stefan Leichter cabe752d1d Make ole32 tests loadable on NT4. 2005-05-07 12:09:58 +00:00
Matthew Mastracci 6e028f414d Replace stub entry for StgOpenStorageEx with call to StgOpenStorage. 2005-05-06 14:32:30 +00:00
Matthew Mastracci 8188790946 Replace StgCreateStorageEx stub with call to StgCreateDocfile and add
required STGFMT_* enumerations.
2005-05-05 16:44:05 +00:00
Juan Lang b99dfb0c1a Define and use endian conversion macros for big-endian machines. 2005-04-24 17:22:26 +00:00
Juan Lang bf83ba1fa3 - convert strings between property storage's code page and system code
page
- add tests for setting code page
- fix tests and behavior to match WinXP
2005-04-23 19:04:49 +00:00
Stefan Leichter 950d678c5e Make ole32 tests loadable on NT4. 2005-04-22 19:05:51 +00:00
Francois Gouget 4b9f767845 Specify the proper call convention in the PropSysFreeString()
implementation.
2005-04-20 16:21:16 +00:00
Francois Gouget 3ef8c51c8a Tweak the API documentation to silence winapi_check warnings. 2005-04-20 15:18:42 +00:00
Dmitry Timoshkov 35356002e6 Zero out an invalidated runningObjectTableInstance pointer. 2005-04-15 16:11:29 +00:00
Juan Lang e68982fcaf Implement FmtIdToPropStgName & PropStgNameToFmtId, with tests. 2005-04-15 14:09:18 +00:00
Alexandre Julliard f7ff216a15 Fixed a buffer overflow. 2005-04-14 12:50:54 +00:00
Dimitrie O. Paun e3e5cf19a8 Remove the need for the non-standard (Close|Delete)MetaFile16(). 2005-04-13 15:16:40 +00:00
Juan Lang 142254d746 Implement PropSys{Alloc|Free}String, and support BSTRs in
PropVariant{Clear|Copy} using them.
2005-04-13 11:13:55 +00:00
Juan Lang c1fe67bc36 - add write support to IPropertyStorage, with tests
- misc. cleanups the tests turned up
2005-04-11 18:50:45 +00:00
Juan Lang 50794ce787 Add traces, add unit tests for IPropertyStorage, and fix the problems
they caught.
2005-04-11 14:30:24 +00:00
Mike McCormack 6714664dee Eliminate forward declarations, make functions static. 2005-03-31 15:26:30 +00:00
Francois Gouget 6b10c324c5 Assorted spelling fixes. 2005-03-30 17:08:31 +00:00
Huw Davies 9be7f2789f WriteFmtUserTypeStg doesn't pull a CLSID from the registry - it's
unclear when (if at all) this gets written.
2005-03-29 18:56:22 +00:00
Huw Davies e42a23d2d3 Don't close reg key if the open failed. 2005-03-29 13:06:57 +00:00
Vincent Béron c822566974 Change prototypes so gcc with some warnings doesn't bark. 2005-03-29 11:32:04 +00:00
Mike McCormack a63c2eb30b Remove function prototypes, make functions static. 2005-03-28 10:01:45 +00:00
Mike McCormack e19ce3bd40 Remove unnecessary function prototypes. 2005-03-27 18:16:49 +00:00
Mike McCormack 1ff3bf8e69 Remove function prototypes, make functions static. 2005-03-27 18:16:25 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Jakob Eriksson 461c830745 Eliminate HeapAlloc casts. 2005-03-22 18:26:06 +00:00
Jakob Eriksson 665b9ca377 More trace info from storage32 test. 2005-03-22 18:18:43 +00:00
Mike McCormack 17c3106896 Eliminate casts of the return value of HeapAlloc. 2005-03-21 11:25:13 +00:00
Vincent Béron 811725ac20 Correct and complete some api documentation. 2005-03-21 10:55:13 +00:00
Troy Rollo 963b63ecbd ix test for STGM_SHARE_EXCLUSIVE on nameless DocFiles. 2005-03-21 10:30:01 +00:00
Robert Shearman 1571df5722 Fix memory leak in OleDuplicateData on error path (found by Smatch). 2005-03-19 17:05:12 +00:00
Jon Griffiths dbf222f3aa Use LMEM_ flags for LocalAlloc(), not GMEM_ (GlobalAlloc). 2005-03-17 20:53:37 +00:00
Juan Lang be84f8d9e6 Begin implementing IPropertyStorage. 2005-03-17 20:50:35 +00:00
Robert Shearman 1b5ebabdce - Add critsec debugging info.
- Move the modal loop called during RPCs into CoWaitForMultipleHandles.
- Use a mutex for long remoting calls to IRemUnknown methods.
- Remove locking in apartment_disconnectproxies as it is not needed.
- Use PostMessage instead of SendMessage so we can run the message
  loop or not as appropriate.
2005-03-17 10:26:20 +00:00
Juan Lang ac24801db0 Add a comment about byte order, change types to reduce casting and not
cast away constness.
2005-03-17 10:25:13 +00:00
Joris Huizer 34a0463bca A few memory checks avoiding memory leaks. 2005-03-14 10:46:50 +00:00
Mike McCormack 77fc6a5d82 StgOpenStorage shouldn't open zero length storage files. 2005-03-11 13:17:10 +00:00
Robert Shearman 8971f06225 - Rename apartment functions to become more object-oriented.
- Rename register_ifstub to marshal_object to more accurately describe
  what it does.
- Add new function, apartment_getoxid, to prepare for a possible
  future patch where remoting is started on demand.
2005-03-11 10:19:10 +00:00