Module: wine Branch: master Commit: f8c8355d8552634419e8301ac32411281bfc3bef URL: http://source.winehq.org/git/wine.git/?a=commit;h=f8c8355d8552634419e8301ac3...
Author: Aric Stewart aric@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; };
/****************************************************************************