Commit Graph

2403 Commits

Author SHA1 Message Date
Akihiro Sagawa 884ead472b ole32: Use LMEM_MOVEABLE when reallocating memory. 2013-06-03 11:29:41 +02:00
Dmitry Timoshkov 748c3ea9c9 ole32: Add a couple more defaulthandler tests. 2013-05-30 20:19:32 +02:00
Alistair Leslie-Hughes 97ac6943c3 ole32: Fix test under NT. 2013-05-29 11:26:13 +02:00
Jacek Caban a30cc75fe0 ole32: Added IExternalConnection support. 2013-05-23 20:18:16 +02:00
Jacek Caban 889112a29a ole32: Use a separated object to expose local servers instead of marshaling them in CoRegisterClassObject. 2013-05-23 20:03:17 +02:00
Alexandre Julliard aaa680bfda ole32/tests: Fix array indices in a trace. 2013-05-21 14:57:53 +02:00
Alexandre Julliard 5e95368e0a ole32: Don't bother to unregister classes at process exit. 2013-05-14 11:33:27 +02:00
Jacek Caban b4cc5a2114 ole32: Error handling clean up in local_server_thread. 2013-05-13 20:52:07 +02:00
Jacek Caban fdc4d40d18 ole32: Added more default handler QueryInterface tests. 2013-05-10 17:53:05 +02:00
Dmitry Timoshkov 79ef449e32 ole32: Add a semi-stub for CLSIDFromProgIDEx. 2013-05-07 11:18:52 +02:00
Nikolay Sivov 448a44ca5f ole32: Simplify IEnumSTATSTG initialization. 2013-04-19 16:16:18 +02:00
Nikolay Sivov 3b9568802a ole32: Remove some casts that are not needed. 2013-04-19 16:16:17 +02:00
Nikolay Sivov 5132f60298 ole32: Store SMWR storage instance role separately. 2013-04-19 16:16:17 +02:00
Nikolay Sivov 1b4f3ca6f7 ole32: Merge release code to Release method. 2013-04-18 17:00:53 +02:00
Nikolay Sivov a06db6cce5 ole32: Stub for IDirectWriterLock. 2013-04-18 17:00:17 +02:00
Nikolay Sivov c29f3dff8c ole32: Accept STGM_DIRECT_SWMR mode. 2013-04-18 17:00:12 +02:00
Nikolay Sivov a90c1efe51 ole32: Move share/access modes to static arrays. 2013-04-18 16:59:56 +02:00
Nikolay Sivov 611cf6bb0d ole32: Fix possible return of freed pointer (Coverity). 2013-04-01 12:32:37 +02:00
Dmitry Timoshkov 41d3085522 ole32: Fix an apartment reference count leak on error path. 2013-03-28 17:36:53 +01:00
Piotr Caban c0a17a4f09 ole32: Don't pass CLSCTX_INPROC_SERVER and CLSCTX_INPROC_HANDLER flags to CoCreateInstance in DefaultHandler_Run. 2013-02-27 19:23:48 +01:00
Piotr Caban 0cf2b77aed ole32: Added more OleCreateDefaultHandler tests. 2013-02-27 19:23:47 +01:00
Andrew Talbot faaeeea937 ole32: Avoid signed-unsigned integer comparisons. 2013-02-22 10:20:57 +01:00
Marcus Meissner 2dbb23c810 ole32: Free *ppszProgID on error path (Coverity). 2013-02-18 10:32:22 +01:00
Roman Dadkov 665717ae75 ole32/tests: Add test for OleRun. 2013-02-15 11:55:37 +01:00
Roman Dadkov 8a4557ac8b ole32/tests: Add test for SetClientSite. 2013-02-13 20:39:42 +01:00
Alexander Morozov 5857895684 ole32: Avoid a deadlock when a being loaded DLL calls CoRegisterClassObject from its DLL_PROCESS_ATTACH handler. 2013-02-08 12:07:48 +01:00
Alexandre Julliard e089295f75 ole32: Fix wrap-around bug in tick count comparison. 2013-01-24 15:15:25 +01:00
Eric Pouech d1ccbceb4d Various background processes must be launched detached from current console (if any). 2013-01-16 14:02:55 +01:00
Francois Gouget f963f93964 Assorted spelling fixes. 2013-01-07 11:10:40 +01:00
Andrew Talbot fa96beb5c4 ole32: Indentation fix. 2012-12-19 12:54:41 +01:00
Jacek Caban 4eb769451e ole32: Added IMoniker::BindToStorage proxy/stub implementation. 2012-12-13 18:39:02 +01:00
Alexandre Julliard a283b986c7 ole32: Limit the number of messages processed at once in CoWaitForMultipleObjects. 2012-12-12 14:06:46 +01:00
Qian Hong 9b90ea557b ole32: Fix OleDraw() with NULL pUnk. 2012-12-06 22:52:15 +01:00
Frédéric Delanoy 8ddb00b22b ole32: Fix some leaks (coverity). 2012-11-27 19:45:37 +01:00
Frédéric Delanoy 02da0411e1 ole32: Add helper for string table memory freeing. 2012-11-27 19:45:37 +01:00
Hans Leidekker 7895eae15b ole32: Convert the remaining RegCreateKey and RegOpenKey calls to the wrappers. 2012-11-26 16:59:22 +01:00
Hans Leidekker a82c49028d ole32: Use wrappers around NT functions to access the registry in CoGetPSClsid. 2012-11-26 16:59:17 +01:00
Nikolay Sivov 6a8b4f11a8 ole32: Fix OleDraw() regarding passed rectangle handling. 2012-11-26 11:57:04 +01:00
Hans Leidekker 479b7bcf60 ole32/tests: Add a test to show that CoGetPSClsid is not affected by an override of HKEY_CLASSES_ROOT. 2012-11-22 17:35:30 +01:00
Frédéric Delanoy 3cdd1abd09 ole32: Avoid erroneously freeing a variable in ReadFmtUserTypeStg. 2012-11-12 12:14:48 +01:00
Frédéric Delanoy 780228b6ca ole32: Fix some leaks (coverity). 2012-11-09 11:56:18 +01:00
Tatyana Fokina 9d4fcaf2bb ole32: Removed unused parametrs keyname and valuename in COM_RegReadPath. 2012-11-05 11:41:29 +01:00
Michael Stefaniuc 470ad72b05 ole32/tests: Fix a memleak on an error path (Smatch). 2012-10-31 16:12:27 +01:00
André Hentschel fbe682a22a ole32: Don't leak memory allocated by ProgIDFromCLSID (coverity). 2012-10-29 10:40:32 +01:00
André Hentschel c223354912 ole32: Don't leak memory allocated by FileMonikerImpl_DecomposePath (coverity). 2012-10-29 10:39:42 +01:00
André Hentschel 7c381e59c4 ole32: Don't leak memory allocated by enumx_allocate (coverity). 2012-10-29 10:35:40 +01:00
Nikolay Sivov 90407224d0 ole32: Cleanup IClientSecurity interface of a proxy manager. 2012-10-16 11:37:28 +02:00
Nikolay Sivov 21a04f5621 ole32: Cleanup IMarshal interface of proxy manager. 2012-10-16 11:37:20 +02:00
Nikolay Sivov ba4b88bc00 ole32: Cleanup IMultiQI interface of proxy manager. 2012-10-15 15:25:36 +02:00
Nikolay Sivov 0b5c0855be ole32: Store destination context and context data in server channel. 2012-10-15 15:25:34 +02:00
Nikolay Sivov 3099a25464 ole32: Store destination context data in channel buffer. 2012-10-15 15:25:31 +02:00
Nikolay Sivov 27d59c8919 ole32: Cleanup IRpcChannelBuffer. 2012-10-15 15:25:29 +02:00
Nikolay Sivov af5cee1862 ole32: Fix debug output for user marshal flags. 2012-10-15 15:25:28 +02:00
Alexandre Julliard cba98a2d8e ole32/tests: Fix a test failure on newer Windows versions. 2012-10-12 11:54:03 +02:00
Roman Dadkov 9e145eebdf ole32: Fix dwClsContext parameter of a CoCreateInstance call in DefaultHandler_Run. 2012-10-10 20:34:11 +02:00
Vincent Povirk 718f095629 ole32: Add tests for StgConvertVariantToProperty. 2012-10-08 12:55:26 +02:00
Vincent Povirk 04eaae5ce8 ole32: Stub StgConvertVariantToProperty. 2012-10-08 12:55:18 +02:00
André Hentschel fb383cd5a6 ole32/tests: Use IUnknown_Release instead of deprecated WdtpInterfacePointer_UserFree. 2012-09-27 22:21:55 +02:00
Alistair Leslie-Hughes 939b1bbe21 ole32: Add CoGetDefaultContext stub. 2012-09-20 19:53:25 +02:00
Vincent Povirk 284f3cc047 ole32: Fix typo. 2012-08-28 14:40:58 +02:00
Vincent Povirk 0a5086ab64 ole32: Add support for reading BSTR properties. 2012-08-28 14:40:57 +02:00
Vincent Povirk 58c2462c36 ole32: Implement StgConvertPropertyToVariant. 2012-08-28 14:40:38 +02:00
Vincent Povirk ae722c45ad ole32: Add tests for StgConvertPropertyToVariant. 2012-08-28 14:40:33 +02:00
Jacek Caban b3b390d8ac ole32: Added ISynchronizeHandle tests. 2012-08-13 16:28:49 +02:00
Jacek Caban c6793a2e27 ole32: Added ISynchronizeHandle implementation. 2012-08-13 16:28:49 +02:00
Jacek Caban df4f027238 ole32/tests: Use proper helpers for iface calls. 2012-08-13 16:28:48 +02:00
Jacek Caban 153b94b3c5 ole32: Use proper helpers for iface calls. 2012-08-13 16:28:48 +02:00
Michael Stefaniuc 55d811351a ole32: Remove superfluous NULL pointer check before free (Smatch). 2012-08-13 12:07:49 +02:00
Michael Stefaniuc 43ae84636a ole32: Avoid TRUE:FALSE conditional expressions. 2012-08-13 11:50:42 +02:00
Jacek Caban 4da232070e ole32: Use proper allocators for storing help file in ErrorInfoImpl. 2012-07-19 16:01:52 +02:00
Jacek Caban cd1f67ee24 ole32: Use proper allocators for storing description in ErrorInfoImpl. 2012-07-19 16:01:52 +02:00
Jacek Caban 4843f031f9 ole32: Use proper allocators for storing source in ErrorInfoImpl. 2012-07-19 16:01:51 +02:00
Nikolay Sivov 24a690e90e ole32: Use a single implementation for 1Ole stream initialization. 2012-07-19 15:44:25 +02:00
Jacek Caban 1eda4ac4ba ole32: Forward BSTR functions to oleaut32. 2012-07-18 17:15:21 +02:00
Nikolay Sivov 53dd90aeb3 ole32: Give names to 1Ole stream header fields. 2012-07-18 11:14:18 +02:00
Nikolay Sivov e45202fdae ole32: Remove unsupported interface REFIID from storage stream QueryInterface. 2012-07-18 11:14:04 +02:00
Nikolay Sivov 382acd526f ole32: Fix QueryInterface for file-based ILockBytes. 2012-07-18 11:13:55 +02:00
Nikolay Sivov 959814a3bd ole32: Fix QueryInterface for IErrorInfo to return IUnknown pointer. 2012-07-17 12:50:20 +02:00
Nikolay Sivov fa4db6d9ef ole32: COM cleanup for IErrorInfo. 2012-07-17 12:50:20 +02:00
Nikolay Sivov 897d4d4e4a ole32: COM cleanup of HGLOBAL ILockBytes implementation. 2012-07-17 12:50:19 +02:00
Nikolay Sivov 52ce30d242 ole32: Make ole stream creation helper capable of handling flags data. 2012-07-17 12:50:19 +02:00
Nikolay Sivov 88e6c8175b ole32: Use interface macros to call methods. 2012-07-17 12:50:18 +02:00
Nikolay Sivov 3956296128 ole32: Implement SetConvertStg(). 2012-07-16 15:21:45 +02:00
Nikolay Sivov a3a97558de ole32: No need to test for null implementation pointer in methods. 2012-07-16 15:21:44 +02:00
Nikolay Sivov ac032593c0 ole32: COM cleanup of IPropertySetStorage interface. 2012-07-16 15:21:44 +02:00
Nikolay Sivov 0c658860b1 ole32: COM cleanup for IStorage interface of base storage implementation. 2012-07-13 10:29:13 -05:00
Nikolay Sivov 08303391e9 ole32: Simplify storage root entry name initialization. 2012-07-13 10:28:57 -05:00
Nikolay Sivov 7b373edb81 ole32: Implement GetConvertStg(). 2012-07-13 10:28:42 -05:00
Nikolay Sivov ea196ef0eb ole32: COM cleanup of storage IStream implementation. 2012-07-13 10:28:15 -05:00
Dmitry Timoshkov 574a52e522 ole32: Add VT_I1 to the list of supported variant types. 2012-06-12 10:21:49 +02:00
Dmitry Timoshkov f0d309689c ole32: Forward OleCreateLinkFromData and OleCreateStaticFromData to OleCreateFromData. 2012-05-23 18:25:10 +02:00
Dmitry Timoshkov 83aa7eff6c ole32: Query support also for static storage formats. 2012-05-23 18:25:09 +02:00
Alexandre Julliard 2736d28064 ole32: Add a NULL pointer check in CoDisconnectObject. 2012-05-14 18:24:19 +02:00
Bruno Jesus 2cd2628c7b ole32: Make sure StgIsStorageILockBytes tests real data. 2012-04-16 17:49:30 +02:00
Alistair Leslie-Hughes d764b5188e ole32/tests: Assign a default value (clang). 2012-03-16 13:02:51 +01:00
Huw Davies 903803b552 ole32: Trace the drop effect in hex. 2012-02-21 16:02:03 +01:00
Huw Davies 5c8edb0449 ole32: Don't hold a ref to the drop target in the wrapper. Apps tend to destroy the target object without calling RevokeDragDrop. 2012-02-07 09:33:53 -06:00
André Hentschel 0d23c1d464 ole32: No need for WINE_ prefixed debug output macro. 2012-01-11 17:47:24 +01:00
Francois Gouget a603e9871e include: Add a few missing include directives to shlguid.h. 2011-12-20 10:16:45 +01:00
Francois Gouget d21c37a860 ole32: Avoid hardcoding the Unicode string literal lengths. 2011-12-16 17:40:42 +01:00
Francois Gouget 3c3a4740ca include: Add a couple of missing include directives in windows.h.
Rename a variable to avoid a conflict with the Unknown enumeration value.
Define WIN32_LEAN_AND_MEAN to avoid conflicts caused by the SetPort macro.
2011-12-15 10:49:18 +01:00
Nikolay Sivov 5b533d82d2 ole32: Simplify stream creation, remove redundant comments. 2011-12-13 18:59:02 +01:00
Nikolay Sivov 5f5d5e0c65 ole32: COM cleanup of IStream based on HGLOBAL. 2011-12-13 18:59:02 +01:00
Marcus Meissner cfe49e3697 ole32: Output more information in OleCreateStaticFromData. 2011-12-05 17:41:02 +01:00
Marcus Meissner 48ae8e9ced ole32: Handle VT_BLOB in PropertyStorage_ReadProperty. 2011-12-05 17:40:28 +01:00
Alexandre Julliard 0f3e60747f ole32: Process all pending messages in CoWaitForMultipleHandles before waiting again, otherwise we may not wake up. 2011-11-29 21:22:40 +01:00
Frédéric Delanoy 67181743a6 ole32: Avoid hardcoding array lengths. 2011-11-18 15:37:02 +01:00
Francois Gouget ed03674bc3 ole32: Delete the compobj and rpc static critical sections when unloading the dll. 2011-11-17 11:37:56 +01:00
André Hentschel 09202ee949 ole32: Implement writing VT_CLSID properties. 2011-11-15 11:46:46 +01:00
Andrew Talbot 85fc5a3ae9 ole32: Remove unneeded address-of operators from array names. 2011-10-31 23:54:07 +01:00
Michael Stefaniuc e68643f1a1 ole32: Drop 'inline' from a function using sigsetjmp. 2011-10-31 23:53:44 +01:00
André Hentschel c2015d3341 ole32: Return if out of memory (Coverity). 2011-10-08 19:54:33 +02:00
Marcus Meissner da0f475d4b ole32: Mark two functions as hidden. 2011-10-03 16:10:56 -05:00
Francois Gouget 88ba9c3274 ole32/tests: Skip some tests if not allowed to modify the Classes registry key. 2011-09-21 11:35:43 +02:00
Francois Gouget 54c74dc4a2 ole32/tests: Fix compilation on systems that don't support nameless unions. 2011-09-19 13:19:29 +02:00
Vincent Povirk cb9e572611 ole32: Discard existing data when creating a new storage on an ILockBytes. 2011-09-13 09:20:29 +02:00
Vincent Povirk 7df35e9b0f ole32/tests: Test creation of a storage on an ILockBytes containing data. 2011-09-13 09:20:27 +02:00
Octavian Voicu 9b1fc0fd74 ole32: Fix a few incorrect pointer/integer casts on 64-bit. 2011-08-31 19:43:08 +02:00
Michael Stefaniuc 43a31b6200 ole32: COM cleanup in compositemoniker.c. 2011-08-30 11:57:09 +02:00
Michael Stefaniuc 70c038dc2f ole32: COM cleanup in filemoniker.c. 2011-08-30 11:57:03 +02:00
Michael Stefaniuc 82b3d35b73 ole32: Cleanup ItemMonikerImpl_QueryInterface(). 2011-08-25 11:31:53 +02:00
Michael Stefaniuc d3c934adcd ole32: COM cleanup in itemmoniker.c. 2011-08-25 11:31:53 +02:00
Michael Stefaniuc 7d7c79db1d ole32: COM cleanup in classmoniker.c. 2011-08-23 16:53:54 +02:00
Michael Stefaniuc cd3f8a8078 ole32: COM cleanup in antimoniker.c. 2011-08-23 16:53:54 +02:00
Frédéric Delanoy 760faf01a9 tests: Assorted spelling fixes. 2011-08-04 18:27:37 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Michael Stefaniuc 3673f6b7c4 ole32/tests: COM cleanup in compobj.c. 2011-08-03 14:15:48 +02:00
Alexandre Julliard f01c1c429d ole32: Fix a couple of race conditions with the local server pipe. 2011-08-01 18:26:25 +02:00
Alexandre Julliard 096bf10f11 ole32: Specify the PSFactoryBuffer class in the idl files. 2011-08-01 17:20:46 +02:00
Austin English 94f63d7681 ole32/tests: Make sure to use a return value (LLVM/Clang). 2011-07-26 10:22:38 +02:00
Michael Stefaniuc 9d94b1d402 ole32: COM cleanup for the IEnumCATEGORYINFO iface. 2011-07-13 15:00:22 +02:00
Francois Gouget be9a032693 ole32: Modify local_server_thread() to recreate the pipe for each request.
This avoids having the named pipe get stuck in the STATUS_PIPE_BUSY state after the DisconnectNamedPipe() call.
2011-07-13 11:52:59 +02:00
Francois Gouget b6f28fc70f ole32: Fix a handle leak in local_server_thread(). 2011-07-13 11:52:45 +02:00
Frédéric Delanoy 8f32948d9a ole32/tests: Remove dead assignment (Clang). 2011-07-11 18:33:46 +02:00
Marcus Meissner 2395ea98bb ole32: Access the array entry, not the array (Coverity). 2011-06-27 13:27:37 -05:00
Michael Stefaniuc 7b3d1bbc4e ole32: COM cleanup for the static object ComCatMgrImpl. 2011-06-21 17:12:15 +02:00
Adam Martinson e85668b463 ole32: Don't call IDropTarget::QueryInterface() in RegisterDragDrop(). 2011-06-08 17:36:40 +02:00
Vincent Povirk c72ecb1de6 ole32: Avoid opening source storage in IStorage::CopyTo. 2011-06-03 17:37:09 +02:00
David Hedberg a0980b47c8 ole32: Add ManualResetEvent implementation. 2011-05-30 17:55:43 +02:00
Alexandre Julliard 7efe6d9895 ole32: Delete the transacted storage scratch file on release. 2011-05-26 13:27:41 +02:00
Adam Martinson 456e48efa1 ole32/tests: IDropTarget::QueryInterface() shouldn't be called. 2011-05-20 17:57:01 +02:00
Alexandre Julliard 5a559f181a ole32: Don't continue to wait for a local server if the process has terminated. 2011-05-20 13:41:18 +02:00
Nicolas Le Cam cfe11f1875 ole32/tests: Fix large integer overflow warnings. 2011-05-02 12:42:21 +02:00
David Hedberg ea14a6b2e7 oleaut32: Fix CLSIDToString behaviour when passed an invalid CLSID-string.
In some cases, Excel 2007 apparently relies on CLSIDToString properly
parsing an "invalid" CLSID string where extra bytes are appended.
2011-04-28 18:17:18 +02:00
Marcus Meissner 14c4ef3fdd ole32: Mark internal symbols has hidden visibility. 2011-04-25 13:02:01 +02:00
Dmitry Timoshkov 30b6b53adf ole32: Replace a spurious FIXME by a TRACE. 2011-04-15 15:39:44 +02:00
Austin English 85b5a869e8 ole32: Remove extraneous parentheses (LLVM/Clang). 2011-04-13 14:13:55 +02:00
Nikolay Sivov 0c33682330 ole32: Handle null argument in OleIsRunning(). 2011-04-08 13:03:20 +02:00
Austin English 671b9a43e7 ole32/tests: Make sure to use a return value (LLVM/Clang). 2011-02-17 17:30:30 +01:00
Austin English fe975fb0b6 ole32/tests: Make sure to use return values (LLVM/Clang). 2011-02-14 13:33:33 +01:00
Austin English 5206db8055 ole32/tests: Make sure to use a return value (LLVM/Clang). 2011-02-14 13:33:33 +01:00
Austin English efb3c48d8a ole32/tests: Make sure to use return values (LLVM/Clang). 2011-02-14 13:33:32 +01:00
Austin English f0ca65a287 ole32/tests: Make sure to use return values (LLVM/Clang). 2011-02-10 09:57:59 -06:00
Austin English 5ca437e758 ole32/tests: Remove unused assignment (LLVM/Clang). 2011-02-07 10:10:16 -06:00
Alexander Scott-Johns e39fc20638 ole32: Fix error handling in get_data_from_metafilepict and get_data_from_bitmap. 2011-01-31 14:05:15 +01:00
Alexander Scott-Johns d73db97104 ole32: Add support for rendering HBITMAP clipboard objects. 2011-01-28 17:23:56 +01:00
Alexander Scott-Johns 0f4fbd30f6 ole32: Add support for rendering METAFILEPICT clipboard objects. 2011-01-28 17:23:56 +01:00
Alexandre Julliard 8c2a9414a6 ole32: Cleanup return value handling in CoWaitForMultipleHandles. 2011-01-21 14:51:37 +01:00
Maarten Lankhorst 75801f095d ole32: Handle alertable wait in CoWaitForMultipleHandles. 2011-01-21 14:44:48 +01:00
Nikolay Sivov d91dbd0baa ole32/tests: Test for return value directly without macros. 2011-01-11 16:05:46 +01:00
Michael Stefaniuc a9ae183d8a ole32: COM cleanup for the IMalloc iface. 2011-01-07 10:22:22 +01:00
Huw Davies 62cd56ce81 ole32: Store the ole advise sinks in a STATDATA array. 2011-01-05 17:54:49 +01:00
Huw Davies 6ac2cb3ddc ole32: Reimplement SendOnDataChange using the connection enumerator. 2011-01-05 17:54:44 +01:00
Michael Stefaniuc 4ff5c02098 ole32: COM cleanup for the IEnumSTATSTG iface. 2011-01-04 11:14:25 +01:00
Greg Geldorp 8cbb8cc38d ole32/tests: Disable target device clipboard tests. 2011-01-03 16:57:04 +01:00
Greg Geldorp 9c9762d1ab ole32/tests: Fix crashes in usrmarshal. 2011-01-03 11:54:03 +01:00
André Hentschel 0fb2994fdc ole32/tests: Don't test function directly when reporting GetLastError(). 2010-12-31 11:44:02 +01:00
Michael Stefaniuc 91ecb05f29 ole32: Standardize the COM usage in defaulthandler.c. 2010-12-23 13:47:27 +01:00
Michael Stefaniuc feba7c37b4 ole32: Use ifaces instead of vtbl pointers in DataCache. 2010-12-23 13:47:27 +01:00
Michael Stefaniuc bb81737f9c ole32: Standardize the COM usage in git.c. 2010-12-22 12:49:02 +01:00
Huw Davies 3a2aae49d3 ole32: Standardize the COM usage. 2010-12-20 12:47:43 +01:00
Huw Davies 06f2ef4fb5 ole32: Implement IDataAdviseHolder_EnumAdvise. 2010-12-20 12:47:43 +01:00
Huw Davies 4151b49fad ole32: Allow the EnumSTATDATA constructor to take a sparse array. 2010-12-20 12:47:43 +01:00
Huw Davies 892796a9a6 ole32: Use a STATDATA array to hold the connection data. 2010-12-20 12:47:42 +01:00
Huw Davies 861bb8ee13 ole32: Remove some useless comments. 2010-12-20 12:47:42 +01:00
Huw Davies 10aa9b2194 ole32: Rewrite the OleAdviseHolder's STATDATA enumerator to be a generic STATDATA enumerator. 2010-12-17 13:26:01 +01:00
Michael Stefaniuc 0207e413c1 ole32: Standardize the COM usage in clipboard.c. 2010-12-16 12:06:51 +01:00
Michael Stefaniuc bfdcc3930c ole32: Standardize the COM usage in moniker.c. 2010-12-15 13:18:51 +01:00
Michael Stefaniuc ee56fbb947 ole32: Use ifaces instead of vtbl pointers in FTMarshalImpl. 2010-12-15 13:18:49 +01:00
Michael Stefaniuc 6012a506cc ole32/tests: Standardize the COM usage in clipboard.c. 2010-12-14 12:30:46 +01:00
Michael Stefaniuc adbcfb7e5c ole32: Use an iface instead of a vtbl pointer in PointerMonikerImpl. 2010-12-09 12:24:03 +01:00
Michael Stefaniuc 32fe620c88 ole32: Use ifaces instead of vtbl pointers in Context. 2010-12-09 12:23:49 +01:00
Michael Stefaniuc e362c67ad1 ole32: Use an iface instead of a vtbl pointer in BindCtxImpl. 2010-12-09 12:23:39 +01:00
Michael Stefaniuc 2605b76c6e ole32: Use an iface instead of a vtbl pointer in FileLockBytesImpl. 2010-12-09 12:23:31 +01:00
Michael Stefaniuc f27f7544fe ole32: Use an iface instead of a vtbl pointer in RemUnknown. 2010-12-09 12:23:25 +01:00
Michael Stefaniuc e13f9ff300 ole32: Use an iface instead of a vtbl pointer in PropertyStorage_impl. 2010-12-08 16:40:11 +01:00
Michael Stefaniuc be5bb18502 ole32: Use an iface instead of a vtbl pointer in EnumOLEVERB. 2010-12-05 12:27:16 +01:00
Michael Stefaniuc 46ebaa9be2 ole32/tests: Use an iface instead of a vtbl pointer in HeapUnknown. 2010-12-05 12:26:57 +01:00
Michael Stefaniuc f3810015e1 ole32: Use an iface instead of a vtbl pointer in EnumOleSTATDATA. 2010-12-05 12:26:08 +01:00
Alexandre Julliard 431e369f62 ole32: Convert dll registration to the IRegistrar mechanism. 2010-12-03 19:51:08 +01:00
Alexandre Julliard 5f49129e03 resources: Define a generic mechanism for adding extra values to the common version block. 2010-12-03 14:53:59 +01:00
Andrew Bogott 796aca38f0 ole32: Fix the test for arbitrary property ids. 2010-12-01 11:14:39 +01:00
Andrew Bogott c75a4fd50a ole32: Fix an off-by-one error that broke reading of many properties. 2010-12-01 11:14:34 +01:00
Andrew Bogott df219f8758 ole32: Revert "ole32: Only read known format ids when attempting to read summary information.".
This reverts commit c94b2687d2.
2010-12-01 11:14:29 +01:00
David Hedberg 41193de135 ole32: Avoid unneccessary stream conversion.
Truncating a large stream to less than 0x1000 bytes would cause an
unnecessarily expensive conversion.
2010-11-23 13:17:06 +01:00
Andrew Bogott ddc5cbb371 ole32/tests: Added a couple of simple tests for StgCreateStorageEx. 2010-11-18 12:52:38 +01:00
Andrew Bogott 42cd791c4d ole32: Use default values if options passed to StgCreateStorageEx are NULL. 2010-11-18 12:52:38 +01:00
Vincent Povirk e883aeb394 ole32: Cache the contents of one extended big block depot block. 2010-11-16 21:54:18 +01:00
Jacek Caban 0c6f2a6d2a ole32: Skip more tests on win9x. 2010-11-16 15:12:43 +01:00
Alexandre Julliard 54bf38575e ole32: Get rid of the ICOM_THIS_MULTI macro. 2010-11-11 20:16:59 +01:00
Vincent Povirk 8d101b269d ole32: Cache all extended big block depot locations. 2010-11-04 11:55:48 +01:00
Huw Davies abf8da6727 ole32: Implement OnRun and OnStop. 2010-11-01 16:16:12 +01:00
Huw Davies 6b05b2a927 ole32: Remove some useless comments. 2010-11-01 16:16:05 +01:00
Huw Davies 96ab42728d ole32: Re-order some functions. 2010-11-01 16:15:57 +01:00
Huw Davies c41c05057c ole32: Rename cache entry parameters from 'This' - it leads to too much confusion with the data cache itself, which is the real COM object. 2010-11-01 16:15:49 +01:00
Huw Davies 4d137e4702 ole32: Add a stub advise sink object to the data cache. 2010-11-01 16:15:38 +01:00
Huw Davies ad326999ec ole32/tests: Add tests to exercise the datacache's IDataObject::GetData. 2010-11-01 16:15:32 +01:00
David Hedberg a5caff3bac ole32: Pass failures from delegate object's ::QueryInterface in default handler. 2010-10-21 12:28:51 +02:00
David Hedberg d95e2dbd62 ole32: OleLoad should not fail even if IOleObject::GetMiscStatus fails. 2010-10-18 19:08:38 +02:00
Alexandre Julliard 1e04e923be ole32: Use the correct resource ids for the drag&drop cursors. 2010-10-18 19:08:37 +02:00
Alexandre Julliard bc8e70c089 ole32/tests: Make some variables static. 2010-10-01 13:37:14 +02:00
Michael Stefaniuc 620ca68d01 ole32: Allocate a small temp variable on the stack instead of the heap. 2010-09-29 10:07:54 +02:00
Andrew Eikum 91d91afb7d ole32: Create a FORMATETC if one is not given in OleCreate. 2010-09-28 17:33:20 +02:00
Huw Davies 250b55c41d ole32: Call the draw_continue function. 2010-09-28 17:33:17 +02:00
Huw Davies 6c7dd939cf ole32/tests: Mark the draw_continue callbacks as optional. Win9x can skip calls under low-load conditions. 2010-09-28 17:33:17 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Marcus Meissner 8d25534613 ole32: Check for interface NULL which happens with e.g. Abiword. 2010-09-16 13:37:32 -05:00
Vincent Povirk 2752c3bcd0 ole32: Don't fail if the file ends during a big block.
Apparently, it's valid for the last block in a file to be incomplete.
2010-09-08 13:30:46 +02:00
Alexandre Julliard dd84876c3e ole32: Use int64 in the spec file for 64-bit integers. 2010-08-31 14:23:48 +02:00
Vincent Povirk 89646084ba ole32: Cache data and block locations in BigBlockStream objects. 2010-08-26 13:59:31 +02:00
Vincent Povirk 101de22a1a ole32: Flush before returning from any storage API call that writes. 2010-08-26 13:59:28 +02:00
Huw Davies 127260bb62 ole32: Pass a real IUnknown ptr to CoMarshalInterface. 2010-07-28 16:28:21 +02:00
Michael Stefaniuc ffac31da09 ole32: Use IsEqualIID instead of memcmp to compare REFIIDs. 2010-07-23 11:46:29 +02:00
Huw Davies 6d1ef3a6a6 ole32: Implement cross-process drag and drop. 2010-07-22 16:11:59 +02:00
Huw Davies a2e1dd29dc ole32/tests: Relax the reference counting tests a bit. We only care whether references are held or not. 2010-07-22 16:11:51 +02:00
Nikolay Sivov 1b0182f9bb ole32: Use IsEqualIID() instead of memcmp(). 2010-07-21 17:38:37 +02:00
Nikolay Sivov 114510801f ole32: No need to test for interface pointer being null. 2010-07-21 17:38:37 +02:00
Nikolay Sivov 2f61e19156 ole32: Fix assumption about HRESULT failure code value. 2010-07-21 17:38:37 +02:00
Nikolay Sivov 5185409144 ole32: Remove redundant variables. 2010-07-21 17:38:37 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Vincent Povirk 5116b979b2 ole32: Flush the ILockBytes object of a storage on commit and final release.
Some ILockBytes objects will not really write changes until their Flush
method is called. Also, further optimizations to the storage implementation
will involve caching writes, which will have to be flushed at times.
2010-07-19 14:38:16 +02:00
Vincent Povirk b7dbfcbd48 ole32: Remove an unused variable. 2010-07-19 14:38:16 +02:00
Vincent Povirk d0e6e4aa82 ole32: Use ILockBytes_Stat to get the filename of a storage. 2010-07-19 14:38:16 +02:00
Vincent Povirk 14f8f9d5b5 ole32: Remove the BigBlockFile abstraction and always use an ILockBytes. 2010-07-19 14:38:16 +02:00
Vincent Povirk 4171499411 ole32: Don't map storage files in memory. 2010-07-19 14:38:16 +02:00
Vincent Povirk 7f3c92b2a0 ole32: Update storage header saving code based on the latest MS spec.
These fields are needed for the MS storage implementation to load
files that were created by Wine with a block size of 4096.
2010-07-19 14:38:16 +02:00
Vincent Povirk 9c95761d9e ole32: Always check the size of the small block root chain.
In some storage files, the size of this stream is not a multiple of the big
block size. This means that we may need to enlarge the stream even when we
don't really have to allocate more space for it.
2010-05-28 16:22:24 +02:00
Vincent Povirk d64ee9ff11 ole32: Fix seeking backwards in hglobalstream. 2010-05-27 14:46:43 +02:00
Vincent Povirk ff4292c229 ole32/tests: Add more IStream_Seek tests for hglobalstream. 2010-05-27 14:46:42 +02:00
Michael Stefaniuc 162e420f0e ole32: Avoid potential NULL pointer dereferences in a TRACE. 2010-05-26 10:11:05 +02:00
Alexandre Julliard 78d1686b90 ole32: Implement the IAdviseSink call_as proxies and stubs.
Based on a patch by Rob Shearman.
2010-05-25 12:49:19 +02:00
Juan Lang c94b2687d2 ole32: Only read known format ids when attempting to read summary information. 2010-05-25 12:02:47 +02:00
Juan Lang b4c3a04165 ole32/tests: Test creating an IPropertySetStorage with an unknown format id. 2010-05-25 12:02:37 +02:00
Andrew Nguyen 07325c7d7c ole32/tests: Add tests for output parameters in MkParseDisplayName. 2010-05-21 18:58:05 +02:00
Andrew Nguyen 7bdf023e69 ole32: Validate pointer parameters in MkParseDisplayName. 2010-05-21 18:58:05 +02:00
Nikolay Sivov 2c80e14eec ole32: Use window property to store registered drop target. 2010-05-18 08:53:08 +02:00
Vincent Povirk 57ddceea34 ole32: Use a temporary variable in TransactedSnapshotImpl_EnsureReadEntry.
CreateStubEntry can change the value of This->entries, in which case the
assignment can go to the wrong place. So instead, assign to a temporary
variable, and copy the data back after all CreateStubEntry calls are finished.
2010-05-13 11:51:07 +02:00
Marcus Meissner bf1e9a2e93 ole32: Fixed 2 uninitialized variable use (Coverity). 2010-05-10 10:03:43 +02:00
Vincent Povirk dbf123ba0d ole32: Fix reads past the end of streams. 2010-05-07 12:46:50 +02:00
Vincent Povirk 4ad114cfae ole32: Use the cached information in BlockChainStream_GetCount. 2010-05-07 12:46:39 +02:00
Vincent Povirk e40afcb2b6 ole32: Always move unmodified streams instead of copying on commit. 2010-05-06 17:55:43 +02:00
Vincent Povirk d07a4868a1 ole32: Rewrite transacted storage to be more lazy.
When creating a new transacted storage object (or reverting an
existing one), rather than copy the original storage, we simply create
a "stub directory entry" for the root. As stub entries are accessed,
we fill in their data from the parent and create new stubs for any
linked entries. The streams have copy on write semantics - reads are
from the original entry until a change is made, then we make a copy in
the scratch file.

When committing transacted storages, we have to create a new tree with
the new data so that the storage entry can be modified in one step,
but unmodified sections of the tree can now be shared between the new
tree and the old. An entry can be shared if it and all entries
reachable from it are unmodified. In the trivial case where nothing
has been modified, we don't have to make a new tree at all.
2010-05-06 17:55:34 +02:00
Nikolay Sivov 56fdbc226e ole32/ole2: Use W calls for registry access. 2010-05-06 14:22:23 +02:00
Vincent Povirk 42550953a6 ole32: Store the location of all blocks in a big block chain in memory.
A big block chain is a linked list, and we pretty much need random
access to them. This should theoretically make accessing a random
point in the chain O(log2 n) instead of O(n) (with disk access scaling
based on the size of the read/write, not its location). It
theoretically takes O(n) memory based on the size, but it can do
better if the chain isn't very fragmented (which I believe will
generally be the case for long chains). It also involves fetching all
the big block locations when we open the chain, but we already do that
anyway (and it should be faster to read it all in one go than
piecemeal).
2010-05-05 10:41:57 +02:00
Vincent Povirk 93cc582a8d ole32: Remove some assumptions about the internals of BlockChainStream. 2010-05-05 10:41:26 +02:00
Nikolay Sivov 286c5f8816 ole32/marshal: Compare with S_OK instead of keeping in mind that it's zero. 2010-05-03 15:43:01 +02:00
Gerald Pfeifer c6f74e386b ole32: Fix return value for CoRevokeMallocSpy. 2010-05-03 15:40:20 +02:00
Gerald Pfeifer 889900f020 ole32: Fix return value of DefaultHandler_SetClientSite. 2010-05-03 15:40:13 +02:00
Nikolay Sivov f3ab3d971a ole32/ole2: If no effect action selected use ::DragLeave() instead of ::Drop(). 2010-05-03 13:58:59 +02:00
Nikolay Sivov 9c44ed8a6b ole32/ole2: After IDropTarget::DragEnter() failure target doesn't count as valid. 2010-05-03 13:58:54 +02:00
Nikolay Sivov 071d16d624 ole32/tests: Additional test for RevokeDragDrop with destroyed window. 2010-05-03 13:58:41 +02:00
Nikolay Sivov 5426320d82 ole32/ole2: Fix simple parameter handling for DoDragDrop(). 2010-05-03 13:58:38 +02:00
Nikolay Sivov a37dfe3584 ole32/tests: Move tests to a separate function. 2010-05-03 13:58:34 +02:00
Andrew Eikum c22d776e74 ole32: Only fail on missing Implemented Categories key if we actually have categories to check. 2010-05-03 13:56:41 +02:00
Nikolay Sivov 5ac7b165e6 ole32: Use LoadCursorW instead of -A version. 2010-04-28 07:30:55 -05:00
Nikolay Sivov 16bd9d53b9 ole32: Avoid uninitialized value to be potentialy passed to UnhookWindowsHookEx. 2010-04-28 07:29:37 -05:00
Nikolay Sivov d819f13911 ole32: Use -W versions of window/message calls. 2010-04-28 07:28:52 -05:00
Gerald Pfeifer 1e3aba6e7c ole32: Remove variable res which is not really used from CompositeMonikerImpl_Reduce. 2010-04-26 09:03:09 -05:00
Vincent Povirk 0b149df987 ole32: Create storage files with 4096-byte blocks when asked. 2010-04-13 11:30:48 +02:00
Alexandre Julliard 38b6f4dfff ole32/tests: Avoid using a pointer difference in a trace. 2010-04-09 16:14:16 +02:00
Alexandre Julliard 9b471fbd14 ole32: Fix the free threaded marshaller data for 64-bit pointers. 2010-04-07 13:09:49 +02:00
Alexandre Julliard a8ffa9bace ole32: Don't use in-memory structure layouts to build the wire data, define wire-specific structures instead. 2010-04-06 18:07:59 +02:00
Konstantin Kondratyuk eab89da812 ole32: Add missed initialization of virtual function table. 2010-03-29 15:50:22 +02:00
Alexandre Julliard a8e2f4327f ole32: Always start the 64-bit version of rpcss.exe on Wow64. 2010-03-29 15:50:09 +02:00
Mikhail Maroukhine f930c87fd6 objbase.h: CLSIDFromString: Add constness to the parameters declaration in accordance with MSDN. 2010-03-29 12:11:02 +02:00
Vincent Povirk 49a817c064 ole32: Check the small block size limit of storage files.
This value is stored in the storage file header. We currently hard-code it to
0x1000. I don't expect to see files in the wild with other values, but
according to MS this is a valid configuration. For now, just fail if we see
another value.

I've also upgraded the message for unexpected values in storage file headers
to a fixme, since they are valid according to MS.
2010-03-22 10:47:58 +01:00
Vincent Povirk 975c820fce ole32: Don't register an IMallocSpy object when the ole trace is used.
There's no need for this. Any useful information we could get out of it
is availble from the olemalloc channel, and it means that the ole channel
changes behavior in a way that's visible to programs.
2010-03-22 10:47:47 +01:00
Vincent Povirk e05b8416b8 ole32: Track the lowest possibly-free small block in storage files.
This makes creating small block chains O(n) instead of O(n**2) because we
don't have to keep rechecking the first blocks in the file.
2010-03-22 10:47:42 +01:00
Nikolay Sivov 0498534b6b ole32: Remove useless parameter check. 2010-03-17 16:35:47 +01:00
Nikolay Sivov 825a635692 ole32: Turn FIXME to TRACE for CoGetTreatAsClass. 2010-03-16 17:04:15 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Vincent Povirk 93c2256cff ole32: Allow storage files with a block size of 4096 to open. 2010-03-15 13:46:59 +01:00
Vincent Povirk 5ceb003a24 ole32: Remove knowledge of block sizes from the BigBlockFile object.
We can't determine the correct block size until we read the header, and we
can't create the BigBlockFile until we know the correct block size. To
solve this dilemma, have StorageImpl calculate the file size it needs instead
of asking the BigBlockFile to "ensure a big block exists".
2010-03-15 13:46:48 +01:00
Vincent Povirk 926669741e ole32: Remove the NUM_BLOCKS_PER_DEPOT_BLOCK define.
This should always be calculated based on the big block size.
2010-03-15 13:46:31 +01:00
Vincent Povirk 7b43123762 ole32: Remove the BIG_BLOCK_SIZE define.
Big block sizes can be 512 or 4096, so we define arrays that are large
enough in either case.
2010-03-15 13:46:19 +01:00
Vincent Povirk b90ab46a82 ole32: Remove the unused BlockBits structures from BigBlockFile objects. 2010-03-15 13:46:07 +01:00
Vincent Povirk 4b7e7bd77f ole32: Fix the big block offset calculation.
Use the actual big block size from the open storage file. Also, remove a
special case that was only used for reading/writing the header.
2010-03-15 13:45:55 +01:00
Vincent Povirk f3db25fc25 ole32: Don't treat the header as a big block in StorageImpl_SaveFileHeader. 2010-03-15 13:45:36 +01:00
Vincent Povirk 7f3211f383 ole32: Don't treat the header as a big block in StorageImpl_LoadFileHeader.
The header is always 512 bytes, regardless of the big block size.
2010-03-15 13:45:30 +01:00
Vincent Povirk 8d58a91fa3 ole32: Allow CopyTo to succeed in spite of already open source streams. 2010-03-15 13:17:34 +01:00
Alexandre Julliard a456e641db ole32/tests: Avoid sizeof in traces. 2010-03-05 15:17:57 +01:00
Vincent Povirk 3733789aa9 ole32: Add tests for CopyTo in recursive situations. 2010-03-04 12:29:21 +01:00
Vincent Povirk 11abad24dd ole32: Add a test showing IStorage_CopyTo ignores open objects in the source. 2010-03-03 11:49:27 +01:00
Vincent Povirk 24ff704835 ole32: Clear the sibling links when reinserting a renamed element. 2010-03-02 16:44:12 +01:00
Reece Dunn 0ed4c6df24 ole32: IMoniker_IsRunning returns E_INVALIDARG when bindctx is NULL. 2010-03-02 11:12:37 +01:00
Reece Dunn f08206b31f ole32: Fix the HGLOBAL stream Seek implementation. 2010-02-25 12:10:40 +01:00
Reece Dunn 4cd390ca4e ole32/tests: Improve the HGLOBAL stream tests for Seek. 2010-02-25 12:10:35 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Vincent Povirk d420a858da ole32: Add error checking to StorageBaseImpl_CreateStorage. 2010-02-15 12:20:01 +01:00
Vincent Povirk 1fab6e3515 ole32: Add error checking to StorageBaseImpl_CreateStream. 2010-02-15 12:20:00 +01:00
Vincent Povirk 35b800dc92 ole32: Only warn about storage share mode once. 2010-02-12 11:54:36 +01:00
Vincent Povirk da250c9afe ole32: IStorage_Revert has no effect for non-transacted storages. 2010-01-25 12:58:22 +01:00
Rob Shearman c3af2dd752 ole32: Rearrange declarations in itemmoniker.c to avoid unnecessary forward declarations. 2010-01-22 12:18:46 +01:00
Andrew Eikum 7fe78c14e9 ole32: Downgrade StgIsStorageFile debug info from WARN to TRACE. 2010-01-07 09:25:51 +01:00
Vincent Povirk 0debd2fef4 ole32: Remove fixme for transacted mode. 2010-01-04 11:41:28 +01:00
Alexandre Julliard 2bc9ba758e ole32: Fix some pointer cast warnings on 64-bit. 2009-12-31 12:12:16 +01:00
Alexander Kochetkov 56bc0515c2 ole32/storage32: Fix return value for invalid access mode in OpenStream. 2009-12-30 16:13:57 +01:00
Rob Shearman 88219db8ab ole32: Handle SetClipboardData failing in OLE clipboard functions. 2009-12-30 13:36:50 +01:00
Rob Shearman 36bfaea96d ole32: Fix stream reference leak in test_ReadClassStm. 2009-12-30 13:36:46 +01:00
Rob Shearman b7d86b54d9 ole32: Release the data object and free the cached enum data upon OleUninitialize. 2009-12-30 13:36:42 +01:00
Vincent Povirk ffc4a49bcb ole32: Always allow changes to read-only transacted storages.
The only time the write permissions of transacted storages matter is when
committing.
2009-12-28 11:54:49 +01:00
Paul Vriens 25d15c68dc ole32/tests: Fix a test failure on several platforms. 2009-12-22 13:48:24 +01:00
Vincent Povirk b3511ebb70 ole32: Reread the stream entry after setting the size in StreamWriteAt.
In simple mode, StreamWriteAt would assume that StreamSetSize uses the size
it asks for, but in some cases the size would be pushed above the small block
limit. StreamWriteAt would then attempt to write using a small block chain,
even though a big block chain was created.
2009-12-21 15:01:24 +01:00
Vincent Povirk fc50ff07d6 ole32: Store the most recent item name in IEnumSTATSTG instead of a stack. 2009-12-21 15:01:24 +01:00
Vincent Povirk 4492850200 ole32: Make IEnumSTATSTG functions fail when the parent is invalid. 2009-12-21 15:01:23 +01:00
Vincent Povirk 2010e0fb28 ole32: Add some tests for IEnumSTATSTG. 2009-12-21 15:01:23 +01:00
Vincent Povirk 4f0dfb51b3 ole32: Fix memory leaks in the storage test. 2009-12-18 11:44:04 +01:00
Vincent Povirk 5d9fd1b716 ole32: Compare upper character values directly in entryNameCmp.
The sort function used by native is not entirely consistent with lstrcmpiW,
even on Windows.
2009-12-18 11:43:34 +01:00
Juan Lang 776ee9ee81 ole32: Fix a memory leak. 2009-12-18 11:39:08 +01:00
Vincent Povirk 393c5af205 ole32: Add a cache for block chain streams in StorageImpl. 2009-12-16 12:24:27 +01:00
Huw Davies c6d4df8b1c ole32: Fix several memory leaks in the tests.
Found by Valgrind.
2009-12-16 12:24:19 +01:00
Vincent Povirk 3ac34f7416 ole32: Properly free temporary objects when StorageBaseImpl_CopyTo fails. 2009-12-14 12:06:35 +01:00
Vincent Povirk 6afe24c38d ole32: Remove an unnecessary special case in StorageBaseImpl_CopyTo.
Opening a storage when it has already been opened now fails with
STG_E_ACCESSDENIED. If we attempt to copy a storage to its own child, this
will happen during the copy.
2009-12-14 12:06:25 +01:00
Vincent Povirk 0ad48797f8 ole32: Fix a memory leak in StorageBaseImpl_CopyTo.
Spotted by valgrind.
2009-12-14 12:06:17 +01:00
Vincent Povirk 3ff33e9303 ole32: Implement Revert for transacted storage objects. 2009-12-11 12:16:26 +01:00
Vincent Povirk 226363f5df ole32: Implement transacted storage. 2009-12-11 12:16:26 +01:00
Vincent Povirk d799f7e189 ole32: Add a stub transacted storage type.
TransactedSnapshotImpl acts as a proxy between the user and the storage
interfaces that modify the file directly (or another transacted storage).
Currently, it does not change the operations.
2009-12-11 12:16:26 +01:00
Vincent Povirk 42142200d5 ole32: Add Invalidate to the storage vtable. 2009-12-11 12:16:26 +01:00
Vincent Povirk 75fe621192 ole32: Create internal storage objects with a refcount of 1.
For consistency with StorageImpl_Construct.
2009-12-11 12:16:25 +01:00
Paul Vriens 49d40d80f4 ole32/tests: Don't crash on Win9x/WinMe by using more A-functions. 2009-12-10 12:39:52 +01:00
Vincent Povirk 8b3ff9d179 ole32: Remove the ancestorStorage attribute. 2009-12-10 11:51:39 +01:00
Vincent Povirk 5d39c31bff ole32: Make IEnumSTATSTGImpl reference the parent storage. 2009-12-10 11:51:29 +01:00
Vincent Povirk 43184aaf52 ole32: Make findElement take a StorageBaseImpl. 2009-12-10 11:51:21 +01:00
Vincent Povirk 55b3a6e59f ole32: Don't use ancestorStorage to decide if a storage is transacted. 2009-12-10 11:51:10 +01:00
Vincent Povirk 1a12141d86 ole32: Add a test for modifying read-only substorage objects. 2009-12-10 11:51:01 +01:00
Huw Davies 09db528847 ole32: Release the error info strings.
Found by Valgrind.
2009-12-09 16:50:36 +01:00
Alexandre Julliard 44a9bae9f8 ole32: Fix some pointer cast warnings on 64-bit. 2009-12-09 12:04:01 +01:00
Vincent Povirk df0ef756b3 ole32: Add an attribute to StorageBaseImpl to track its reverted status. 2009-12-09 12:03:40 +01:00
Vincent Povirk 5b79c5a5e4 ole32: Store the parent of internal storage objects. 2009-12-09 12:03:30 +01:00
Vincent Povirk 8518323e07 ole32: Don't track the stream size in storage stream objects.
We can't do this safely when there are multiple objects for a single stream.
2009-12-09 12:03:18 +01:00
Vincent Povirk 6d06c43e53 ole32: Use the storage vtable to resize streams. 2009-12-09 12:03:10 +01:00
Vincent Povirk 1d4c698ef3 ole32: Use the storage vtable to write to streams. 2009-12-09 12:02:59 +01:00
Vincent Povirk 62e54bacba ole32: Use the storage vtable to read streams. 2009-12-08 12:35:33 +01:00
Vincent Povirk ee39a21d2b ole32: Add DestroyDirEntry to the storage vtable. 2009-12-08 12:35:17 +01:00
Vincent Povirk f43e013f73 ole32: Take a StorageBaseImpl in removeFromTree. 2009-12-08 12:35:08 +01:00
Vincent Povirk 0425ed1d38 ole32: Take a StorageBaseImpl in insertIntoTree. 2009-12-08 12:35:00 +01:00
Vincent Povirk 9300a92ccc ole32: Change the base IStorage filename to a pointer type.
The maximum size of the name returned by Stat() on a top-level storage has
nothing to do with DIRENTRY_NAME_BUFFER_LEN. Windows can return longer names
and probably has a limit of MAX_PATH. Also, Stat always returns an absolute
pathname, so we don't need a special case in StgOpenStorage.
2009-12-08 12:34:47 +01:00
Nathan Gallaher de239d86fd ole32: Fix invalid memory access in storage32. 2009-12-07 14:53:31 +01:00
Vincent Povirk f3d194b391 ole32: Add ReadDirEntry to the storage vtable. 2009-12-07 09:49:05 +01:00
Vincent Povirk 176cdfc75e ole32: Add WriteDirEntry to the storage vtable. 2009-12-07 09:49:05 +01:00