Marcus Meissner : ole32: Handle VT_BLOB in PropertyStorage_ReadProperty.

Alexandre Julliard julliard at winehq.org
Mon Dec 5 14:55:02 CST 2011


Module: wine
Branch: master
Commit: 48ae8e9ced8475127bb83625d62dd641b88b9c99
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=48ae8e9ced8475127bb83625d62dd641b88b9c99

Author: Marcus Meissner <marcus at jet.franken.de>
Date:   Sun Dec  4 23:52:44 2011 +0100

ole32: Handle VT_BLOB in PropertyStorage_ReadProperty.

---

 dlls/ole32/stg_prop.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/dlls/ole32/stg_prop.c b/dlls/ole32/stg_prop.c
index 53c2a99..53f57c1 100644
--- a/dlls/ole32/stg_prop.c
+++ b/dlls/ole32/stg_prop.c
@@ -1111,6 +1111,22 @@ static HRESULT PropertyStorage_ReadProperty(PropertyStorage_impl *This,
         }
         break;
     }
+    case VT_BLOB:
+    {
+        DWORD count;
+
+        StorageUtl_ReadDWord(data, 0, &count);
+        prop->u.blob.cbSize = count;
+        prop->u.blob.pBlobData = CoTaskMemAlloc(count);
+        if (prop->u.blob.pBlobData)
+        {
+            memcpy(prop->u.blob.pBlobData, data + sizeof(DWORD), count);
+            TRACE("Read blob value of size %d\n", count);
+        }
+        else
+            hr = STG_E_INSUFFICIENTMEMORY;
+        break;
+    }
     case VT_LPWSTR:
     {
         DWORD count;




More information about the wine-cvs mailing list