wine/dlls/ole32
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
..
tests ole32/tests: Additional test for RevokeDragDrop with destroyed window. 2010-05-03 13:58:41 +02:00
antimoniker.c
bindctx.c
classmoniker.c
clipboard.c
comcat.c ole32: Only fail on missing Implemented Categories key if we actually have categories to check. 2010-05-03 13:56:41 +02:00
compobj_private.h
compobj.c
compositemoniker.c ole32: Remove variable res which is not really used from CompositeMonikerImpl_Reduce. 2010-04-26 09:03:09 -05:00
datacache.c
dcom.idl
defaulthandler.c ole32: Fix return value of DefaultHandler_SetClientSite. 2010-05-03 15:40:13 +02:00
dictionary.c
dictionary.h
drag_copy.cur
drag_link.cur
drag_move.cur
enumx.c
enumx.h
errorinfo.c
filemoniker.c
ftmarshal.c
git.c
hglobalstream.c
ifs.c ole32: Fix return value for CoRevokeMallocSpy. 2010-05-03 15:40:20 +02:00
irot.idl
itemmoniker.c
Makefile.in
marshal.c ole32/marshal: Compare with S_OK instead of keeping in mind that it's zero. 2010-05-03 15:43:01 +02:00
memlockbytes.c
moniker.c
moniker.h
nodrop.cur
ole2.c ole32/ole2: Use W calls for registry access. 2010-05-06 14:22:23 +02:00
ole2impl.c
ole2stubs.c
ole32_main.c
ole32_objidl.idl
ole32_oleidl.idl
ole32_unknwn.idl
ole32.spec
ole32res.rc
oleobj.c
oleproxy.c
olestd.h
pointermoniker.c
regsvr.c
rpc.c
stg_bigblockfile.c
stg_prop.c
stg_stream.c
storage32.c ole32: Rewrite transacted storage to be more lazy. 2010-05-06 17:55:34 +02:00
storage32.h ole32: Store the location of all blocks in a big block chain in memory. 2010-05-05 10:41:57 +02:00
stubmanager.c
usrmarshal.c