Michael Stefaniuc
a90828aa60
ole32: Use GetWindowLongPtr/SetWindowLongPtr for pointers.
2009-02-10 12:33:00 +01:00
Rob Shearman
b859d2052b
ole32: Allow some optional methods to be called in the OleCreate tests.
...
Fixes failures in these tests on NT4.
2009-02-09 14:03:09 +01:00
Rob Shearman
d26250fd08
ole32: Add framework in the ole2 tests for having optionally called methods.
2009-02-09 14:03:03 +01:00
Rob Shearman
db851a1d2a
ole32: Output the size that we didn't expect in the HGLOBAL marshalling tests.
2009-02-09 14:02:29 +01:00
Rob Shearman
f2b17029aa
ole32: Fix some test failures in the HGLOBAL marshalling tests on 64-bit Windows.
2009-02-09 13:58:07 +01:00
Rob Shearman
2eca96af67
ole32: Fix CLIPFORMAT marshalling on 64-bit platforms by not using the wireCLIPFORMAT type.
...
The wireCLIPFORMAT represents the memory equivalent format of the wire
format and not the wire format itself.
Also update the tests to do the same.
2009-02-09 13:58:04 +01:00
Rob Shearman
40660894c8
ole32: Fix an ole2 test failure on Win9x and NT4.
...
The combination of CF_BITMAP and TYMED_GLOBAL isn't accepted on newer
versions of Windows, so mark it as broken.
2009-02-06 13:03:16 +01:00
Andrew Talbot
772a9b3540
ole32: Remove superfluous shadow variables.
2009-02-03 12:39:35 +01:00
Rob Shearman
712e33e669
ole32: Initialise more of the context passed into user marshaling functions in the tests for these functions.
2009-02-02 11:55:29 +01:00
Rob Shearman
d3085abc08
Change parameter type from size_t to SIZE_T for MIDL_user_allocate.
2009-02-02 11:55:21 +01:00
Ge van Geldorp
4b27dfec93
ole32/tests: Write to HKCR instead of HKCU/Software/Classes for the benefit of older Windows versions.
2009-01-29 15:59:39 +01:00
Rob Shearman
0025bdf607
ole32: Fix a missing CoUninitialize in test_CoFreeUnusedLibraries.
2009-01-28 14:15:48 +01:00
Rob Shearman
9353dff5b3
ole32: Fix some tests that fail on NT4 and Win9x.
...
Round the expected sizes up to the alignment used by HeapSize, which
is 4 on Win9x and NT4 but 1 in more recent versions.
Additionally fix an IGlobalInterfaceTable test which erroneously
succeeds on these older OSs.
2009-01-28 14:15:42 +01:00
Huw Davies
bc93467f5d
ole32: The bigblockfile on ILockBytes implementation should work on any ILockBytes not just those based on HGLOBAL.
2009-01-28 12:31:53 +01:00
Huw Davies
bfc32ae0c6
ole32: Add a helper function to return the file size and modify EnsureExists to use it.
2009-01-28 12:31:25 +01:00
Huw Davies
cc7edbe3b5
ole32: Move functions around in file to avoid forward declarations.
2009-01-28 12:31:08 +01:00
Huw Davies
70ee112337
ole32: Move private data structure out of header file.
2009-01-28 12:31:01 +01:00
Ge van Geldorp
f7a34db378
ole32/tests: Some Windows versions need the class to be registered.
2009-01-26 16:06:02 +01:00
Nikolay Sivov
32cc4011ee
kernel32: Make GetOverlappedResult crash on NULL args as native does.
2009-01-22 15:28:24 +01:00
Michael Stefaniuc
bdbfac5996
ole32/tests: Remove superfluous pointer casts.
2009-01-20 12:34:31 +01:00
Andrey Turkin
644220b518
ole32: Prevent recursion when CLSIDFromString is passed empty string.
2009-01-20 12:23:11 +01:00
Andrey Turkin
d0a345f914
ole32: Add a few fields to OLE TLS area to match native memory layout.
2009-01-19 14:46:02 +01:00
Andrey Turkin
a06f568a2a
ole32: Add CoGetCallContext and CoSwitchCallContext implementations.
2009-01-19 14:44:32 +01:00
Andrey Turkin
d20ab01ed2
ole32: Do not crash in WriteClassStg if passed NULL pointer.
2009-01-15 12:42:33 +01:00
Andrey Turkin
37d27c38ce
ole32: Add IContextCallback interface to context object.
2009-01-15 12:42:12 +01:00
Andrey Turkin
8ff76d24f6
ole32/tests: Add test for IContextCallback.
2009-01-14 14:16:21 +01:00
Austin English
753affe48d
ole32: Add tests for CoInitializeEx.
2009-01-13 16:17:02 +01:00
Andrew Talbot
9e537ae06c
ole32: Declare a function static.
2009-01-12 13:11:01 +01:00
Alexandre Julliard
8377b2464b
ole32/tests: Fix marshalling data layout for Win64.
2009-01-10 21:06:09 +01:00
Nikolay Sivov
37d4349636
ole32: Some tests for IMoniker::IsRunning with NULL args.
2009-01-09 14:06:13 +01:00
Nikolay Sivov
df0ecdfd30
ole32: Fix some comment typos.
2009-01-09 14:06:13 +01:00
Francois Gouget
ad587aa036
ole32: Don't use the default debug channel before it has been defined.
2009-01-08 14:52:57 +01:00
Nikolay Sivov
11c1d7a0e7
ole32: Fix return value for DefaultHandler_GetMiscStatus.
2009-01-07 12:27:34 +01:00
Alexandre Julliard
e793a2ba35
ole32/tests: Fix a structure size check for Win64.
2009-01-05 15:37:48 +01:00
Michael Stefaniuc
e86eb8efa6
include: Change RPC_STATUS from long to LONG for Win64 compatibility.
...
Also fix the compiler warnings introduced by this change.
2009-01-04 13:34:38 +01:00
Michael Karcher
11aef5e0a2
ole32: Add HICON user marshalling stubs.
2009-01-04 13:33:12 +01:00
Alexandre Julliard
68bd54b558
ole32/tests: Fix a pointer casting warning on 64-bit.
2009-01-03 20:14:11 +01:00
Ge van Geldorp
f5df407522
ole32/tests: Add declarations which are not present in SDK headers.
2009-01-03 14:55:32 +01:00
Ge van Geldorp
69c5fca81a
ole32/tests: Work around broken Windows urlmon.dll.
2009-01-03 14:55:32 +01:00
Rob Shearman
4a67e7a71e
include: Include winuser.h from generated oleidl.h header.
...
oleidl.h isn't usable without winuser.h being included first due to
using the LPMSG type, so explicitly include it by adding a cpp_quote
statement to oleidl.idl. In the PSDK it is implicitly included as
IDL-generated header includes windows.h, which in turn includes
winuser.h.
2008-12-29 14:41:00 +01:00
Andrew Talbot
eceb0cce82
ole32: Superfluous semicolons fix.
2008-12-24 19:59:22 +01:00
Nikolay Sivov
55658d061c
ole32: Fix return value for IDataObject_GetData.
2008-12-22 10:28:37 +01:00
Nikolay Sivov
0eeb042067
ole32: Make OleSetClipboard affected by previous OleInitialize() calls.
2008-12-19 17:36:36 +01:00
Andrew Talbot
96d7c6e2ea
ole32: Remove unused Wine debug channel.
2008-12-19 17:36:35 +01:00
Hans Leidekker
8bd9a3aa09
janitorial: Don't depend on user32 for the self registration functions.
2008-12-17 11:38:32 +01:00
Francois Gouget
e7b3671813
ole32: Use the IStream16_(CreateStream,CreateStorage,Write) implementations.
2008-12-15 12:24:58 +01:00
Francois Gouget
0b1d8be037
ole32/tests: Make test_runnable() static.
2008-12-12 11:42:31 +01:00
Francois Gouget
ec4d74baef
ole32: Fix the STORAGE_dump_pps_entry() description.
2008-12-12 11:41:37 +01:00
Alexandre Julliard
4bb2199c8e
ole32: Make a function static.
2008-12-04 12:47:56 +01:00
Alexandre Julliard
04fb1d656a
ole32: Remove some unused functions.
2008-12-03 12:11:09 +01:00
Alexandre Julliard
16b5e6b9b5
ole32: Register interfaces through dlldata.c as far as possible.
2008-12-02 20:52:09 +01:00
Alexandre Julliard
1bd26cca94
ole32: Use a dlldata.c file instead of maintaining the data manually.
2008-12-01 18:56:15 +01:00
Maarten Lankhorst
08c78e07a9
ole32: Fix releasing spy.
2008-11-28 12:56:47 +01:00
Huw Davies
ed6bcc27fa
ole32: Forward the ASYNC_STGMEDIUM user marshallers to the STGMEDIUM quadruple.
2008-11-28 12:53:19 +01:00
Maarten Lankhorst
92dca953d9
ole32: Add Co*InitializeSpy functions.
2008-11-26 13:44:36 +01:00
Francois Gouget
b3bf746ff9
Straighten out some ellipses.
2008-11-26 12:33:34 +01:00
Francois Gouget
66063ae4a4
ole32: Remove WINAPI on static functions where not needed.
2008-11-26 12:33:13 +01:00
Francois Gouget
c584c2d12c
ole32: Remove __RPC_USER on static functions where not needed.
2008-11-26 12:10:38 +01:00
Huw Davies
8355eeaa21
ole32: Defer releasing the delegate interfaces until after we return from an OnClose notification.
2008-11-25 12:17:27 +01:00
Huw Davies
8730bf66c9
ole32: Factor out the code to release the delegate interfaces.
2008-11-25 12:17:24 +01:00
Francois Gouget
3b140ccb0e
Assorted spelling fixes.
2008-11-17 16:04:39 +01:00
Alexandre Julliard
f8b8478f91
ole32/tests: Fix a couple of test failures on Win9x and NT4.
2008-11-13 21:45:57 +01:00
Alexandre Julliard
4bff91265a
ole32/tests: Don't hardcode the Ansi codepage value.
2008-11-13 21:45:41 +01:00
Alexandre Julliard
48d41dbc37
ole32/tests: Use a CLSID that is more likely to exist on old Windows versions.
2008-11-13 21:45:25 +01:00
Alexandre Julliard
5ca20cd482
ole32/tests: Fix a couple of global stream test failures on Win9x.
2008-11-13 21:45:04 +01:00
Huw Davies
706b29c47c
ole32: Don't issue a warning if a flat copy is all that's required.
2008-11-12 14:14:55 +01:00
Paul Vriens
a9c3d6f207
ole32/tests: Don't crash on NT4.
2008-11-11 11:40:55 +01:00
Michael Stefaniuc
095568dfe9
ole32: Remove some superfluous casts of void pointers and zero.
2008-11-06 11:09:54 +01:00
Michael Stefaniuc
79e31f6d40
ole32: Do not cast NULL.
2008-11-03 13:41:17 +01:00
Huw Davies
5937ddd403
ole32: Call the object's GetClassID if it's running.
2008-10-31 14:01:17 +01:00
Huw Davies
a26d67b14e
ole32: Implement IEnum*_Next marshallers.
2008-10-28 12:14:14 +01:00
Huw Davies
b05d392dfb
ole32: Try to load the '\1Ole' stream and create it if it doesn't exist.
2008-10-28 12:14:11 +01:00
Huw Davies
0cc2c53107
ole32: Create the '\1Ole' stream.
2008-10-28 12:14:06 +01:00
Austin English
8301325989
ole32: Implement IEnumFORMATETC_Next_Proxy and IEnumFORMATETC_Next_Stub.
2008-10-27 12:38:24 +01:00
Sylvain Petreolle
e7d951320a
ole32: Stub implementation for CoGetCallerTID.
2008-10-23 15:19:50 +02:00
Huw Davies
92202feff3
ole32: Call the appropriate storage function when we run the object.
2008-10-23 12:13:49 +02:00
Huw Davies
94d753c63d
ole32: Query the object's dirty state if it's running.
2008-10-21 13:22:51 +02:00
Huw Davies
3a0ed83fb0
ole32: Call the object's IPersistStorage_HandsOffStorage() if the object is running.
2008-10-21 13:22:51 +02:00
Huw Davies
89edf3a52f
ole32: Call the object's IPersistStorage_SaveCompleted() if the object is running.
2008-10-21 13:22:51 +02:00
Huw Davies
72f82c04ec
ole32: Call the object's IPersistStorage_Save() if the object is running.
2008-10-21 13:22:51 +02:00
Huw Davies
5b1520761d
ole32: Call the object's IPersistStorage_InitNew() if the object is running.
2008-10-21 13:22:51 +02:00
Huw Davies
3019a8f195
ole32: Call the object's IPersistStorage_Load() if the object is running.
2008-10-21 13:22:51 +02:00
Huw Davies
ed28886f9d
ole32: Call the object's IOleObject_IsUpToData() if the object is running.
2008-10-21 13:22:51 +02:00
Huw Davies
5ba96d7ae1
ole32: Call the object's own IOleObject_GetUserType() if the object is running.
2008-10-21 13:22:51 +02:00
Huw Davies
f2cf617f00
ole32: Partial implementation of IOleObject_Update().
2008-10-21 13:22:50 +02:00
Alexandre Julliard
ebdb933b6d
ole32: Convert source files to utf-8.
2008-10-18 19:20:29 +02:00
Alexandre Julliard
19966f8c0e
comcat: Moved all the implementation to ole32 where it belongs.
2008-10-11 13:30:08 +02:00
Alexandre Julliard
d4f107f54b
comcat: Moved dll registration to ole32.
2008-10-11 13:08:22 +02:00
Paul Vriens
6d15749d14
ole32/tests: Fix two failures on NT4.
2008-10-09 13:01:40 +02:00
Michael Stefaniuc
3ed8ffcc99
ole32: Use the right FAILED/SUCCEEDED macro instead of negating the opposite.
2008-10-08 13:41:58 +02:00
Aric Stewart
39b2c1eb50
ole32: Handle GetMenuItemCount returning -1 by changing UINT to INT (Coverity 228).
2008-10-06 13:51:06 +02:00
Huw Davies
ec73ad29e0
ole32: Remove an unneeded WINAPI and remove some useless comments.
2008-10-06 12:51:53 +02:00
Rob Shearman
f16bbf3282
ole32: Fix clipboard test failures on some versions of Windows.
...
Some versions of ole32 don't test that the lindex field of the
FORMATETC structure passed into functions is valid.
2008-09-29 17:25:00 -05:00
Rob Shearman
7b564cbf17
ole32: Create a dummy window for use in the drag and drop API tests.
...
As a window being registered for drag and drop is a system-global
property, the tests could be affected by other processes in the
system.
2008-09-29 17:24:42 -05:00
Rob Shearman
de03fe3c0f
ole32: Update comments in compobj.c.
2008-09-16 22:33:14 +02:00
Michael Karcher
75bf84e60b
ole32/compobj: Fix function name in comment.
2008-09-15 11:31:33 +02:00
James Hawkins
6f7c2b94d4
ole32: Fix a few file access discrepancies between platforms.
2008-09-09 11:46:17 +02:00
James Hawkins
e28098aee5
ole32: Fix two failing tests in win9x.
2008-09-03 14:21:43 +02:00
James Hawkins
21cde57be5
ole32: Fix a failing test in Vista.
2008-09-03 13:14:51 +02:00
Dan Hipschman
19cccae29d
ole32: Add a widl-generated proxy file for oleidl.idl.
2008-09-02 16:03:02 +02:00
Dan Hipschman
44800b6ad4
ole32: Add a widl-generated proxy file for objidl.idl.
2008-09-02 16:02:29 +02:00
Dan Hipschman
4afc326638
ole32: Add widl-generated proxies for unknwn.idl and dcom.idl.
2008-09-02 16:00:33 +02:00
Alistair Leslie-Hughes
0a1a4f7ca8
ole32: Stop crash under w2k8.
2008-08-20 13:55:43 +02:00
James Hawkins
5ea0d9d807
ole32: Storage sharing should be implemented in ole32, not the lower-level file API.
2008-08-19 13:55:53 +02:00
James Hawkins
48524c9b92
ole32: Test the file access and share modes of StgCreateDocFile.
2008-08-19 13:30:47 +02:00
Rob Shearman
23bb94c005
ole32: Remove dead code in StorageImpl_LoadFileHeader.
2008-08-18 17:34:13 +02:00
Rob Shearman
064b6fce0c
ole32: Fix testing of HRESULT types with not operator instead of comparing against S_OK.
...
This makes it more obvious what the code is doing.
2008-08-18 17:34:12 +02:00
Paul Vriens
d46f93669d
ole32/tests: Fix a test on win98 and W2K.
2008-08-18 17:04:48 +02:00
François Dorin
db941f43b6
ole32: Fix return value for DefaultHandler_SetExtent.
2008-07-28 12:06:29 +02:00
Lei Zhang
c7ce692d13
ole32: Silence FIXME from CoGetContextToken stub.
2008-07-22 13:03:18 +02:00
Vincent Povirk
a0249babcd
ole32: Always return false when asked if NULL is the current clipboard.
2008-07-21 14:36:29 +02:00
Vincent Povirk
38c5185d2e
ole32: Add tests for OleIsCurrentClipboard(NULL).
2008-07-21 14:36:21 +02:00
Andrew Talbot
749184a1e8
ole32: Remove unneeded address-of operators from array names.
2008-07-11 14:06:31 +02:00
Alexandre Julliard
79c64acc7b
tests: Don't depend on the static uuid libraries in the tests.
...
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
James Hawkins
833c342555
ole32: Fix a few failing tests in win2k.
2008-07-08 10:48:16 +02:00
Andrew Talbot
82e23af814
ole32: Remove unneeded address-of operators from function name.
2008-07-07 12:31:43 +02:00
James Hawkins
e71e3efe77
ole32: Fix a test failure in win9x.
2008-06-30 12:47:57 +02:00
Alexandre Julliard
a803fa3578
ole32: Make the apartment window a HWND_MESSAGE window.
2008-06-26 13:22:16 +02:00
Alexandre Julliard
d324c42b4c
ole32: Don't consider RPC_S_UUID_LOCAL_ONLY an error in CoCreateGuid.
...
Return a proper HRESULT for other errors.
2008-06-24 11:50:42 +02:00
Rob Shearman
7302227b2e
ole32: Include compobj_private.h in oleobj.c to type-check the function signatures of DataAdviseHolder_OnConnect and DataAdviseHolder_OnDisconnect.
2008-06-23 12:48:45 +02:00
Rob Shearman
42d5b12e63
ole32: Remove unused BIGBLOCKFILE_GetSize.
2008-06-23 12:48:38 +02:00
Rob Shearman
f91d3bbeb1
ole32: Include ole2.h in ole32_main.c to type-check the function signature of OleMetafilePictFromIconAndLabel.
2008-06-23 12:48:31 +02:00
Rob Shearman
2c183cba02
ole32: Include enumx.h in enumx.c to get the declarations of the functions.
2008-06-23 12:48:24 +02:00
Paul Vriens
185ad65d12
ole32/tests: Only skip the tests if we are on NT4 or below.
2008-06-10 17:43:14 +02:00
Paul Vriens
b1a5b94001
ole32/tests: Fix crash on NT4 and below.
2008-06-10 11:33:40 +02:00
Paul Vriens
470a0a22f4
ole32/tests: Fix crash on W2K and below.
2008-06-10 11:33:36 +02:00
Paul Vriens
dae64e67fc
ole32/tests: Prevent a crash.
2008-05-30 11:50:04 +02:00
Francois Gouget
315bf2fa45
ole32/tests: Add a trailing '\n' to ok() calls.
2008-05-22 11:42:54 +02:00
Michael Karcher
3d5ea20190
ole32/tests: Test StringFromGUID2.
2008-05-20 15:45:43 +02:00
Michael Karcher
a2880cc61d
ole32/tests: Do not call Release if CoCreateInstance failed.
2008-05-20 15:43:54 +02:00
Francois Gouget
42a61d7ed7
Assorted spelling fixes.
2008-05-06 16:10:20 +02:00
Alexandre Julliard
dad21bbcbf
makefiles: List the static libraries as normal imports instead of extra libs.
2008-04-30 14:23:55 +02:00
Alexandre Julliard
ef07d83405
Include wine/port.h everywhere we use exceptions.
2008-04-29 20:18:49 +02:00
Rob Shearman
b9f8a81d8c
rpcss: When registering a moniker that is already registered in the ROT another ROT entry should still be created and a distinct cookie returned.
2008-04-29 12:35:35 +02:00
Rob Shearman
8580198dc8
ole32: Keep track of the number of weak references to an object.
...
This is so that an object will only be released when a weak-reference is
used after the last weak reference has been released (either by
CoReleaseMarshalData or CoUnmarshalInterface + Release).
2008-04-29 12:35:26 +02:00
Rob Shearman
4cb5c3b7d6
ole32: Add a test for marshaling an object as table-weak and as normal and then unmarshaling and testing that the object is released on the final release.
2008-04-29 12:35:22 +02:00
Rob Shearman
9ebebc0ecc
ole32: Add tests for registering a moniker more than once in the ROT and then using it.
2008-04-29 12:35:19 +02:00
Rob Shearman
67a7a8a8ef
ole32: Fix two comments about the running object table.
2008-04-28 14:32:33 +02:00
Austin English
c531e2abdb
Spelling fixes.
2008-04-23 12:31:07 +02:00
James Hawkins
1edb56cec8
ole32: Fix a few tests that fail in win2k.
2008-04-17 12:51:31 +02:00
Rob Shearman
51158a2f9c
ole32: Add tests for clipboard's implementation of IDataObject_GetData.
2008-04-16 14:07:24 +02:00
Rob Shearman
2cd4117f81
ole32: Fix OLEClipbrd_IDataObject_QueryGetData to conform to the tests.
2008-04-16 14:07:19 +02:00
Rob Shearman
e0ef1f061a
ole32: Add some tests for OleGetClipboard.
...
Test the IDataObject_QueryGetData function of the returned object.
2008-04-16 14:07:14 +02:00
Francois Gouget
02bcdf6db7
ole32: Fix spelling of GetComparisonData().
2008-04-14 12:40:22 +02:00
Rob Shearman
aa83f5a5aa
ole32: Use I_RpcExceptionFilter instead of custom exception filter for RPC calls.
2008-04-11 12:13:59 +02:00
Austin English
1b24da3aa0
ole32: Spelling fixes.
2008-04-10 09:51:12 +02:00
Andrew Talbot
c2599478b6
ole32: Assign to structs instead of using CopyMemory.
2008-03-31 12:50:41 +02:00
Reece Dunn
4fbdab7a8f
ole32: Added a missing include needed for CLSID_ShellDesktop using MSVC headers.
2008-03-24 21:05:17 +01:00
Rob Shearman
0b168e66f6
ole32: CreatePointerMoniker is implemented.
2008-03-15 10:58:38 +01:00
Andrew Talbot
fd6ae97486
ole32: Assign to structs instead of using memcpy.
2008-03-14 11:21:26 +01:00
Andrew Talbot
e7b0f07c3e
ole32: Assign to structs instead of using memcpy.
2008-03-11 12:11:51 +01:00
Andrew Talbot
4971f2f687
ole32: Assign to structs instead of using memcpy.
2008-03-11 12:11:51 +01:00
Huw Davies
60ee0c3eff
ole32: Fix CopyTo to work correctly with LARGE_INTEGERs.
2008-03-07 10:52:15 +01:00
Rob Shearman
630e273d17
uuid: Add CLSID_InProcFreeMarshaler.
...
Remove its initialisation from ole32.
2008-03-06 17:43:19 +01:00
Huw Davies
0aedac346a
ole32: Fix CopyTo to work correctly with LARGE_INTEGERs.
2008-03-06 17:39:27 +01:00
Rob Shearman
48000893f9
makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
...
Only specify the root to keep platform-specifics out of the individual
DLL makefiles.
2008-03-04 20:55:01 +01:00
Francois Gouget
29ef0b90ee
Assorted spelling, punctuation and case fixes.
2008-03-03 12:04:48 +01:00
James Hawkins
e4c1227ec9
janitorial: Remove links to any microsoft site.
2008-03-01 12:17:17 +01:00
James Hawkins
7b56757cf6
janitorial: Remove links to any microsoft site.
2008-03-01 12:17:13 +01:00
Alexandre Julliard
de61fc5eca
ole32: Added a CoGetContextToken stub.
2008-02-26 11:21:54 +01:00
Rob Shearman
9730b285ba
ole32: Implement VT_VECTOR|VT_VARIANT in PropVariantCopy.
2008-02-25 19:50:03 +01:00
Rob Shearman
a82f4dd9b7
Don't use GetExceptionCode and GetExceptionInformation in exception filter functions.
...
When using native compiler exceptions, it isn't valid to use
GetExceptionCode and GetExceptionInformation anywhere other than in the
filter or handler blocks since it would be very hard for the compiler to
work out where to retrieve the exception information from on the stack.
Therefore, remove the WINE_EXCEPTION_FILTER and WINE_FINALLY_FUNC macros
which enabled GetExceptionCode, GetExceptionInformation and
AbnormalTermination to be used inside of the functions they declared and
fix up all callers to access the information directly.
2008-02-16 14:57:44 +01:00
Francois Gouget
4c8e218252
Assorted spelling fixes.
2008-02-15 12:09:24 +01:00
Rob Shearman
96fafe1661
ole32: Fix the character count passed to GetClipboardFormatNameW in WriteFmtUserTypeStg.
2008-02-15 11:04:09 +01:00
Rob Shearman
461ce6e4a2
ole32: Fix potential NULL dereference of qiresults in ClientIdentity_QueryMultipleInterfaces.
...
This could happen if proxy_manager_get_remunknown returns S_FALSE, so
fix the check of the return code to match that below.
2008-02-13 16:42:42 +01:00
Rob Shearman
bfa6ddaeb7
ole32: Fix a potentially confusing combination of conditional and bitwise or operators by adding extra brackets.
2008-02-13 16:42:36 +01:00
Rob Shearman
a10cf16449
ole32: Remove an assert that is useless and triggers warnings elsewhere in static analysis tools.
2008-02-13 16:42:30 +01:00
Rob Shearman
e0d25c6394
ole32: Fix local-variable shadowing in apartment_hostobject_thread.
2008-02-13 16:42:23 +01:00
Rob Shearman
14f7a59270
ole32: Fix reference count leak in BindMoniker.
2008-02-13 16:42:18 +01:00
Alexandre Julliard
05c7174909
tests: Add a helper routine to wait for a child process and propagate its result correctly.
2008-02-07 12:56:00 +01:00
Rob Shearman
b7f3ee51b1
ole32: Add pointer moniker implementation.
2008-02-04 13:04:21 +01:00
Rob Shearman
c647bb4691
ole32: Add tests for CreatePointerMoniker.
2008-02-04 13:04:04 +01:00
Rob Shearman
a7234c07c4
ole32: Add a stub implementation of CreatePointerMoniker.
2008-02-04 13:02:35 +01:00
Rob Shearman
ee2250bc44
ole32: Don't get the HRESULT from the buffer if we get an RPC_S_CALL_FAILED status back from the runtime.
...
The buffer might not contain any data and nowhere in our ole32 code
passes HRESULTs in the buffer.
2008-01-22 12:00:49 +01:00
Rob Shearman
fcccd9fca6
ole32: Partially implement ServerRpcChannelBuffer_GetDestCtx.
2008-01-15 14:36:29 +01:00
Andrew Talbot
554644fd0d
ole32: Remove unneeded casts.
2008-01-15 11:38:08 +01:00
Eric Pouech
528ad9ebbd
ole32: Fixed datacache object so that we can retrieve meaningful information.
2008-01-14 13:38:46 +01:00
Rob Shearman
b02b9496d2
ole32: Fix some uses of SEEK_SET when STREAM_SEEK_SET should have been used instead.
2008-01-09 12:25:59 +01:00
Rob Shearman
f2b1a1106b
ole32: Fix memory leaks caused by not calling the channel hook function when extension_size is zero.
...
Instead free the allocated memory outside of the channel hook function.
2008-01-07 22:54:53 +01:00
Rob Shearman
caa9f89a18
ole32: Fix a memory leak.
2008-01-07 22:54:51 +01:00
Rob Shearman
b6553e7e29
ole32: Shortcut the RPC runtime for allocation of the message when processing the COM call by just sending a message to a window in the process.
2008-01-07 22:54:47 +01:00
Rob Shearman
e3e704bc43
ole32: Clear the RPC_FLAGS_VALID_BIT flag from the RPC_MESSAGE ProcNum when shortcutting the RPC runtime.
2008-01-07 22:54:35 +01:00
Rob Shearman
2456f2d43b
ole32: Fix a typo in the class moniker tests.
2008-01-07 12:31:42 +01:00
Rob Shearman
9645f9d19d
ole32: get_moniker_for_progid_display_name should fallback to using IClassFactory to get IParseDisplayName if getting it directly fails.
2008-01-07 12:31:38 +01:00
Rob Shearman
cf8da82ad3
ole32: Clear the RPC_MESSAGE structure before using it.
...
The RPC runtime could use some of the parameters, expecting them to be
initialised.
2008-01-07 12:04:15 +01:00
Rob Shearman
d84f0abb70
ole32: Determine the destination for the COM call and initialise the necessary parameters in ClientRpcChannelBuffer_GetBuffer instead of ClientRpcChannelBuffer_SendReceive.
...
The parameters are then freed in the matching
ClientRpcChannelBuffer_FreeBuffer function.
2008-01-07 12:03:03 +01:00
Gerald Pfeifer
76e7cc9423
ole32: Remove one noop check in CoWaitForMultipleHandles().
2008-01-02 12:38:42 +01:00
Jacek Caban
2c6cbea080
ole32: Fixed parameter checking and improved debug traces in IBindCtx::QueryInterface.
2007-12-31 16:49:44 +01:00
Rob Shearman
9804aba758
rpcss: Use context handles to automatically free running object table entries if the client process quits without calling IrotRevoke.
2007-12-26 13:27:42 +01:00
Alexander Dorofeyev
188ef4e4f9
ole32: Fix wrong timeout check.
2007-12-24 13:30:56 +01:00
Michael Jung
6598589ebd
ole32: Avoid leaving a critical section twice.
2007-12-21 13:13:10 +01:00
Rob Shearman
93df1675f1
ole32: Fix RPC_GetLocalClassObject to wait for 30 seconds, even if messages arrive while we are waiting.
2007-12-20 12:10:35 +01:00
Lei Zhang
d5e78c84c7
ole32: Print a fixme when an aggregation attempt fails.
2007-12-14 12:25:14 +01:00
Andrew Riedi
19888da21d
ole32: DPRINTF -> TRACE.
2007-12-12 13:48:54 +01:00
Rob Shearman
7ac980b1e7
ole32: Process messages while waiting for a local server to create a pipe.
2007-12-07 18:49:23 +01:00
Rob Shearman
34ab21d11e
ole32: Register the window used in the marshal tests only once.
...
Destroy the windows that have been created when they are no longer needed.
2007-12-07 16:34:48 +01:00
Rob Shearman
3328ad6eb9
ole32: Initialise object variable in RunningObjectTableImpl_GetObject.
...
As per the rules for memory in RPC, the memory pointer to by object will
be used during unmarshalling and previously it was uninitialised.
(Thanks to Dan Kegel and his Valgrind runs for reporting this.)
2007-12-06 12:06:56 +01:00
Rob Shearman
b711d35d40
ole32: Fix the test of the size returned from WdtpInterfacePointer_UserSize.
...
It varies on different versions of Windows, so we shouldn't test it for
an exact value.
2007-12-04 13:32:45 +01:00
Rob Shearman
31b2d81ea0
ole32: Ignore the threading model of the PSFactoryBuffer object created during standard marshaling.
...
This is so that we don't try to host it.
2007-12-03 11:55:00 +01:00
Rob Shearman
f65e04770d
ole32: Always create a window for the main apartment.
2007-12-03 11:54:16 +01:00
Rob Shearman
5c53b52c5a
ole32: Fix a test in the WdtpInterfacePointer tests.
2007-11-29 13:35:14 +01:00
Rob Shearman
95b6167244
ole32: Fix description of what is being test in ok calls in the WdtpInterfacePointer tests.
2007-11-29 13:35:10 +01:00
Rob Shearman
c111c2d685
ole32: Add tests for WdtpInterfacePointer_* functions.
...
Add stubs for these so that the tests link.
2007-11-27 11:40:19 +01:00
Rob Shearman
ddf59f50f7
ole32: Clean up properly in ClientRpcChannelBuffer_SendReceive in the case where PostMessageW fails.
2007-11-27 11:40:12 +01:00
Rob Shearman
6262230a4b
ole32: Store the dispatch parameters in the message state structure to allow them to be initialised earlier in the sequence of IRpcChannelBuffer calls.
2007-11-27 11:40:07 +01:00
Rob Shearman
6f917d49c1
ole32: Fix a race in find_proxy_manager.
2007-11-26 12:26:46 +01:00
Rob Shearman
33abd94d35
ole32: Intialise some out parameters in ProxyCliSec_QueryBlanket.
2007-11-15 11:09:22 +01:00
Rob Shearman
2fd5acedb7
ole32: Release the correct pointer in test_MkParseDisplayName.
...
Reported by Dan Kegel.
2007-11-13 23:28:05 +01:00
Rob Shearman
5d2f802359
ole32: Validate the parameters to DataCache_Cache.
2007-11-13 23:28:05 +01:00
Rob Shearman
56a624b0fe
ole32: Wait forever on the ready_event in the local server tests.
2007-11-13 13:33:17 +01:00
Rob Shearman
24723913e0
ole32: Use asynchronous I/O for the named pipe server for local servers.
2007-11-13 13:31:15 +01:00
Rob Shearman
da04018608
ole32: Fix the condition in HMETAFILEPICT_UserFree to match that in METAFILEPICT_UserMarshal.
...
Actually free the memory.
2007-11-13 13:29:53 +01:00
Rob Shearman
8ee930150c
ole32: Fix a memory leak in the HGLOBAL stream tests by telling CreateStreamOnHGlobal to free the memory it allocates, as we don't free it ourselves in this test.
2007-11-13 13:29:47 +01:00
Rob Shearman
d881005c4f
ole32: Release the stream in COM_RevokeRegisteredClassObject.
2007-11-13 13:29:38 +01:00
Rob Shearman
4edca3cf4d
ole32: Fail before constructing an object in CreateStreamOnHGlobal to avoid a memory leak.
2007-11-13 13:29:30 +01:00
Rob Shearman
2779099319
ole32: Disconnect the IRemUnknown stub buffer before destroying it to release the reference on the IRemUnknown object.
2007-11-12 12:53:59 +01:00
Rob Shearman
433639f783
ole32: Free the memory associated with the open DLL list on unloading of ole32.
2007-11-12 11:46:23 +01:00
Rob Shearman
1dc91c41a7
ole32: Initialise data_cf in DataCacheEntry's to zero to indicate no data present on creation.
2007-11-12 11:46:15 +01:00
Rob Shearman
dd527a7d2c
ole32: Fix a leak of a moniker object in test_default_handler.
2007-11-12 11:46:11 +01:00
Rob Shearman
8f6218a7c8
ole32: Fix a memory leak in DataCacheEntry_Save.
2007-11-12 11:46:06 +01:00
Rob Shearman
5885be4e11
ole32: Fix a memory leak of moniker in RunningObjectTableImpl_Register.
2007-11-12 11:46:02 +01:00
Rob Shearman
3bd222004e
ole32: Fix a leak of the IBindCtx object in FileMonikerImpl_IsEqual.
2007-11-12 11:45:57 +01:00
Rob Shearman
2249565eb7
ole32: Fix a memory leak in get_moniker_comparison_data.
2007-11-12 11:45:53 +01:00
Rob Shearman
2c1ba188d6
ole32: Store the InterfaceList object in the IEnumMoniker object.
...
This is because the IEnumMoniker object is supposed to free the memory
passed to it, but the array of InterfaceData pointers is inside the
InterfaceList memory block.
2007-11-12 11:45:49 +01:00
Rob Shearman
e8b9a427be
ole32: Add a missing IMoniker_Release to test_MkParseDisplayName.
2007-11-12 11:45:38 +01:00
Rob Shearman
a7bfdde975
ole32: Fix memory leak in ItemMonikerImpl_Save.
2007-11-12 11:45:34 +01:00
Rob Shearman
b75a33a214
ole32: Add a missing IStream_Release to test_same_apartment_unmarshal_failure.
2007-11-12 11:45:30 +01:00
Rob Shearman
2e2383d5ca
ole32: Add a missing IStream_Release to test_CoMarshalInterThreadInterfaceInStream.
2007-11-12 11:45:19 +01:00
Rob Shearman
d792a522c3
ole32: Remove an incorrect comment.
2007-11-02 12:18:50 +01:00
Rob Shearman
23dc7b6a67
ole32: Implement CoGetObjectContext.
2007-11-02 12:18:45 +01:00
Rob Shearman
1d0993341c
ole32: Add tests for CoGetObjectContext.
2007-11-02 12:18:42 +01:00
Rob Shearman
2eb10c2e22
ole32: Improve the error reporting in the marshal test when CreateProcess fails.
2007-11-02 12:18:40 +01:00
Francois Gouget
c4b1195c0c
Assorted spelling fixes.
2007-10-23 18:20:27 +02:00
Rob Shearman
5ce2d25b32
ole32: Reset the parent storage on overwritten streams so that operations on them now fail.
2007-10-22 12:36:07 +02:00
Rob Shearman
842d1b698d
ole32: Add a test to show that operations on overwritten should no longer succeed.
2007-10-22 12:36:07 +02:00
Alexandre Julliard
41cf63148a
Fix redundant uses of MAKEINTRESOURCE.
2007-10-18 14:16:32 +02:00
Bang Jun-young
9f3b5ae89c
ole32: Include wine/port.h for snprintf().
2007-10-17 13:44:05 +02:00
Francois Gouget
f76bea09d4
ole32: Fix the CoCreateGuid() ordinal in the documentation.
2007-10-15 14:06:25 +02:00
Mikolaj Zalewski
01e7891d48
ole32: OleIsRunning should return TRUE if the class doesn't implement IRunnableObject.
2007-10-10 11:18:44 +02:00
Rob Shearman
5e2d890e5d
ole32: RegisterDragDrop should return E_OUTOFMEMORY in the case that COM isn't intialised, instead of CO_E_NOTINITIALIZED.
2007-10-09 17:52:46 +02:00
Andrew Talbot
001d36b10e
ole32: Fix some memory leaks.
2007-10-02 11:44:09 +02:00
Stefan Leichter
b511912446
ole32: Define WINE_FILEVERSION in version resource of ole2nls.dll too.
2007-10-01 14:17:21 +02:00
Damjan Jovanovic
b9bdb2a6c2
ole32: Implement win16 COCREATEGUID.
2007-10-01 14:16:57 +02:00
Stefan Leichter
71d70f0fa1
ole32: Added version resource for ole2nls.dll.
2007-09-27 21:11:18 +02:00
Alexandre Julliard
2b5376cbc1
ole32/tests: Remove test that tries to create a huge file on Windows.
2007-09-25 11:38:31 +02:00
Michael Stefaniuc
dbfa8eedf7
ole32: Free memory on error path (found by Smatch).
2007-09-25 11:18:24 +02:00
Alexandre Julliard
85ad7c6558
ole32: We can now store binary files in the repository.
2007-09-17 15:53:00 +02:00
Rob Shearman
97f389451d
ole32: Fix the default unload delay to depend on the threading model of the component loaded.
2007-09-12 14:04:59 +02:00
Rob Shearman
5ffe867dc7
ole32: Implement CoFreeUnusedLibrariesEx.
...
Fix CoFreeUnusedLibraries to use a delay of 10 minutes when used with
multi-threaded apartments.
2007-09-12 14:04:56 +02:00
Rob Shearman
cfc50f89d7
ole32: Add cross-process running-object table support.
2007-09-11 13:55:08 +02:00
Lionel Debroux
caca06aa7f
ole32: Fix memory leak in compositemoniker.c (found by Smatch).
2007-09-11 11:47:08 +02:00
Aric Stewart
2d8cd767b2
ole32: Properly update the SmallBlockDepotCount when adding more blocks.
2007-08-28 11:58:44 +02:00
Alex Villacís Lasso
5da0c8b18f
ole32: Fix forgotten IPersistStorage vtable.
2007-08-27 12:01:31 +02:00
Stefan Leichter
fee1e38e56
ole32: Remove 'recursive registry key delete' function.
2007-08-23 20:18:32 +02:00
Huw Davies
54f2f60b54
ole32: The default handler needs to have its own implementation of IPersistStorage.
...
For now we forward the methods to the data cache as before.
2007-08-09 13:53:02 +02:00
Huw Davies
e97c5be2ed
ole32: Factor out the running object test into a separate function.
2007-08-09 13:52:54 +02:00
Huw Davies
0c8ce0d68b
ole32: Fix a few comments.
2007-08-09 13:52:48 +02:00
Rob Shearman
d845022819
ole32: Remove some dead code.
...
CoFreeUnusedLibraries doesn't do anything and COM_FlushMessageQueue
won't actually allow any RPCs to be processed as the apartment has
already been destroyed.
2007-07-16 22:46:45 +02:00
Andrew Talbot
d4417c3c14
ole32: Cast-qual warning fix.
2007-07-09 11:46:01 +02:00
Andrew Talbot
ca78a8b65f
ole32: Cast-qual warnings fix.
2007-07-06 18:11:46 +02:00
Andrew Talbot
eb7a89ccc6
ole32: Constify a variable (and fix a typo concerning its level of indirection).
2007-07-06 18:11:43 +02:00
Andrew Talbot
67d667b828
ole32: Constify some variables.
2007-07-05 19:52:35 +02:00
Andrew Talbot
886c970d76
ole32: Constify some variables.
2007-07-02 14:38:11 +02:00
Andrew Talbot
66b05dde02
ole32: Constify some variables.
2007-06-29 14:30:48 +02:00
Michael Stefaniuc
d28c3ca60c
ole32: Remove superfluous casts of void pointers to other pointer types.
2007-06-27 12:53:25 +02:00
Michael Stefaniuc
717cccb5ce
ole32: Do not use wide character constants.
2007-06-22 12:18:55 +02:00
Aric Stewart
f8c8355d85
ole32: Implementation of state bits for IStorage.
2007-06-07 23:09:10 +02:00
Ulrich Czekalla
c2fdea600a
ole32: Remove stack-based string buffer inFileMonikerImpl_DecomposePath.
2007-06-07 20:40:12 +02:00
Dmitry Timoshkov
3c9e7a7f33
wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility.
2007-05-25 20:37:56 +02:00
Rob Shearman
30cc21196e
ole32: Remove spurious AddRef of returned object on retrieval of an interface from the global interface table.
2007-05-23 12:49:50 +02:00
Rob Shearman
7d90b6ce29
ole32: Allow the getting of different interfaces from the global interface table than that with what the object was registered with.
2007-05-23 12:49:45 +02:00
Rob Shearman
05230781b0
ole32: Add more tests for global interface table functions.
2007-05-23 12:49:39 +02:00
Rob Shearman
eebf8df601
ole32: Fix some races in the global interface table implementation.
...
Fix a race between RevokeInterfaceFromGlobal and GetInterfaceFromGlobal
by only using the entry inside the critical section.
Fix a race between two GetInterfaceFromGlobal by cloning the stream,
instead of using it and setting the current position back to zero.
2007-05-23 12:49:28 +02:00
Rob Shearman
71a5b2d943
ole32: Add spec entry for CoRegisterSurrogateEx.
2007-05-23 12:49:23 +02:00
Rob Shearman
071ea06af8
ole32: Remove a useless trace.
...
Remove an incorrect comment.
2007-05-22 12:19:07 +02:00
Rob Shearman
dd8a736c3f
ole32: The identity functions can be used from apartments other than the one the proxy was unmarshaled into.
...
In this case, don't use the cached This->remunk and don't cache the
unmarshaled object in This->remunk.
2007-05-22 12:18:55 +02:00
Rob Shearman
bf2b49b4e0
ole32: Make proxy_manager_get_remunknown AddRef the return IRemUnknown object.
...
Fix up the callers to release the returned IRemUnknown object.
2007-05-22 12:18:50 +02:00
Rob Shearman
5369d4dffd
ole32: Handle MSHLFLAGS_TABLEWEAK and MSHLFLAGS_TABLESTRONG when marshaling a proxy.
...
Add tests for this behaviour.
2007-05-22 12:18:31 +02:00
Rob Shearman
be55a4bbe2
ole32: Fix hosting in main apartments.
...
The recently introduced code had a bug where it passed the wrong
values into apartment_findfromtype to find the main apartment. Since
this is now the only way the function is used, fix this bug by
changing apartment_findfromtype to apartment_findmain, which only
finds the main apartment.
2007-05-21 12:38:54 +02:00
Rob Shearman
82cfed96a7
ole32: Fix reading from an HGLOBALStreamImpl with an invalid HGLOBAL.
...
Add tests that show the strange behaviour of IStream_Read returning S_OK
instead of an error code.
2007-05-18 14:42:53 +02:00
Rob Shearman
600143d4fa
ole32: Create host apartments to enable isolation of objects of incompatible threading models.
...
There should be one host apartment per apartment. Existing apartments
should not be re-used, except in the case of the main apartment.
2007-05-18 14:42:37 +02:00
Andrew Talbot
4ea954df42
ole32: Exclude unused headers.
2007-05-16 11:55:51 +02:00
Paul Vriens
0eeb5727b2
ole32/tests: Check for correct return value.
2007-05-14 16:45:17 +02:00
Rob Shearman
ed79ddab1d
ole32: Don't lookup the address for the DllGetClassObject function for ole32.dll in the apartment loaded dll list.
...
Call the function directly for a small performance boost.
2007-05-14 14:26:22 +02:00
Rob Shearman
70e8842924
ole32: Fix CoUninitialize to only free libraries that return S_OK from DllCanUnloadNow.
2007-05-14 14:26:17 +02:00
Rob Shearman
b005e9ed0d
ole32: Move the logic in StgCreateDocfile for "if no share mode given then DENY_NONE is the default" to before the validateSTGM check.
...
Add a test that shows this behaviour is correct.
Remove a test on the access mode that is redundant because it is already
done in validateSTGM.
2007-05-10 12:15:11 +02:00
Rob Shearman
4cd064aeb4
ole32: Don't release the drop target on process uninitialisation if not revoked, just release the memory.
2007-05-08 18:09:33 +02:00
Rob Shearman
71ada5c654
ole32: Add a test for the retrieved local class object in another thread being a proxy.
2007-05-08 13:24:07 +02:00
Rob Shearman
07229ed8ec
ole32: Add documentation for error info functions.
2007-05-08 13:24:02 +02:00
Rob Shearman
314f9fe509
ole32: Add documentation about registered class objects only being visible in the apartment in which they were registered.
2007-05-08 13:23:57 +02:00
Rob Shearman
7d7f9a59d0
ole32: Fix CoRevokeClassObject to return RPC_E_WRONG_THREAD if it was called from a different apartment than the one that called CoRegisterClassObject.
2007-05-08 13:23:51 +02:00
Rob Shearman
23e43d886e
ole32: Split CoRevokeClassObject into a separate function, COM_RevokeRegisteredClassObject, which acts on a RegisteredClass object.
2007-05-08 13:23:40 +02:00
Rob Shearman
51f85a765b
ole32: COM_GetRegisteredClassObject should only retrieve objects that were registered in the current apartment.
2007-05-08 13:23:30 +02:00
Rob Shearman
e93c82e643
ole32: Add tests for in-process registered class objects not being visible from different apartments.
2007-05-08 13:23:01 +02:00
Rob Shearman
d76ab14479
ole32: Revoke registered class objects when the apartment they were registered in is destroyed, not when the last CoUninitialize is called.
2007-05-08 13:22:50 +02:00
Rob Shearman
4cbca9ac3a
ole32: Add test for registered class becoming invalid when apartment is destroyed.
2007-05-08 13:22:26 +02:00
Rob Shearman
af2c349685
ole32: CoGetClassObject shouldn't return REGDB_E_KEYMISSING, so convert it to REGDB_E_CLASSNOTREG.
2007-05-08 13:22:23 +02:00
Huw Davies
962d8b6011
ole32: Cope with a realloc returning a different pointer.
2007-05-03 14:24:02 +02:00
Rob Shearman
c582136d0b
ole32: Remove an unnecessary QueryInterface in CoRegisterClassObject that CoMarshalInterface will already do.
2007-05-02 15:03:28 +02:00
Aric Stewart
dc4c9da44f
ole32: Accelerators, like for the menu ones, should not fire on the keyup message.
2007-05-01 11:42:24 +02:00