Aric Stewart : ole32: Implementation of state bits for IStorage.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Jun 7 16:26:40 CDT 2007
Module: wine
Branch: master
Commit: f8c8355d8552634419e8301ac32411281bfc3bef
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f8c8355d8552634419e8301ac32411281bfc3bef
Author: Aric Stewart <aric at codeweavers.com>
Date: Thu Jun 7 13:17:56 2007 -0500
ole32: Implementation of state bits for IStorage.
---
dlls/ole32/storage32.c | 6 ++++--
dlls/ole32/storage32.h | 5 +++++
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c
index 623516e..bda5bdc 100644
--- a/dlls/ole32/storage32.c
+++ b/dlls/ole32/storage32.c
@@ -753,6 +753,7 @@ static HRESULT WINAPI StorageBaseImpl_Stat(
grfStatFlag);
pstatstg->grfMode = This->openFlags;
+ pstatstg->grfStateBits = This->stateBits;
res = S_OK;
goto end;
@@ -2352,8 +2353,9 @@ static HRESULT WINAPI StorageImpl_SetStateBits(
DWORD grfStateBits,/* [in] */
DWORD grfMask) /* [in] */
{
- FIXME("not implemented!\n");
- return E_NOTIMPL;
+ StorageImpl* const This = (StorageImpl*)iface;
+ This->base.stateBits = (This->base.stateBits & ~grfMask) | (grfStateBits & grfMask);
+ return S_OK;
}
/*
diff --git a/dlls/ole32/storage32.h b/dlls/ole32/storage32.h
index ffad550..6892996 100644
--- a/dlls/ole32/storage32.h
+++ b/dlls/ole32/storage32.h
@@ -245,6 +245,11 @@ struct StorageBaseImpl
* flags that this storage was opened or created with
*/
DWORD openFlags;
+
+ /*
+ * State bits appear to only be preserved while running. No in the stream
+ */
+ DWORD stateBits;
};
/****************************************************************************
More information about the wine-cvs
mailing list