Module: wine Branch: master Commit: 04735d6f398ffb4a93dbf81778765e35c4f414fd URL: http://source.winehq.org/git/wine.git/?a=commit;h=04735d6f398ffb4a93dbf81778...
Author: Vincent Povirk vincent@codeweavers.com Date: Wed Apr 23 10:27:25 2014 -0500
ole32: Use share modes when creating storage files.
---
dlls/ole32/storage32.c | 9 +-------- dlls/ole32/tests/storage32.c | 4 ++-- 2 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c index b9e20d8..fd8fe32 100644 --- a/dlls/ole32/storage32.c +++ b/dlls/ole32/storage32.c @@ -7562,7 +7562,7 @@ static HRESULT create_storagefile( /* * Interpret the STGM value grfMode */ - shareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; + shareMode = GetShareModeFromSTGM(grfMode); accessMode = GetAccessModeFromSTGM(grfMode);
if (grfMode & STGM_DELETEONRELEASE) @@ -7570,13 +7570,6 @@ static HRESULT create_storagefile( else fileAttributes = FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS;
- if (STGM_SHARE_MODE(grfMode) && !(grfMode & STGM_SHARE_DENY_NONE)) - { - static int fixme; - if (!fixme++) - FIXME("Storage share mode not implemented.\n"); - } - *ppstgOpen = 0;
hFile = CreateFileW(pwcsName, diff --git a/dlls/ole32/tests/storage32.c b/dlls/ole32/tests/storage32.c index 6162e61..5eb80bc 100644 --- a/dlls/ole32/tests/storage32.c +++ b/dlls/ole32/tests/storage32.c @@ -3176,8 +3176,8 @@ static const struct lock_test lock_tests[] = { { STGM_CREATE|STGM_SHARE_EXCLUSIVE|STGM_READWRITE, TRUE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, rwex_locked_bytes, 0, TRUE }, { STGM_CREATE|STGM_SHARE_EXCLUSIVE|STGM_READWRITE|STGM_TRANSACTED, TRUE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, rwex_locked_bytes, 0, TRUE }, { STGM_CREATE|STGM_READWRITE|STGM_TRANSACTED, TRUE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, rw_locked_bytes, 0, FALSE }, - { STGM_CREATE|STGM_READWRITE|STGM_SHARE_DENY_WRITE|STGM_TRANSACTED, TRUE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, rwdw_locked_bytes, 0, TRUE }, - { STGM_CREATE|STGM_WRITE|STGM_SHARE_DENY_WRITE|STGM_TRANSACTED, TRUE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, wodw_locked_bytes, 0, TRUE }, + { STGM_CREATE|STGM_READWRITE|STGM_SHARE_DENY_WRITE|STGM_TRANSACTED, TRUE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, rwdw_locked_bytes, 0, FALSE }, + { STGM_CREATE|STGM_WRITE|STGM_SHARE_DENY_WRITE|STGM_TRANSACTED, TRUE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, wodw_locked_bytes, 0, FALSE }, { STGM_SHARE_EXCLUSIVE|STGM_READWRITE, FALSE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, rwex_locked_bytes, rwex_fail_ranges, TRUE }, { STGM_SHARE_EXCLUSIVE|STGM_READWRITE|STGM_TRANSACTED, FALSE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, rwex_locked_bytes, rwex_fail_ranges, TRUE }, { STGM_READWRITE|STGM_TRANSACTED, FALSE, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, rw_locked_bytes, rw_fail_ranges, TRUE },