https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ea97c4890985044d61e01…
commit ea97c4890985044d61e011c7416f5b9e61d724c4
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Mon Aug 7 17:02:39 2023 +0900
Commit: GitHub <noreply(a)github.com>
CommitDate: Mon Aug 7 17:02:39 2023 +0900
[SHELL32][SDK] Implement SHCreatePropertyBag (#5541)
- Implement SHCreatePropertyBag function in utils.cpp.
- Add its prototype to <undocshell.h>.
CORE-9283
---
dll/win32/shell32/stubs.cpp | 12 ------------
dll/win32/shell32/utils.cpp | 10 ++++++++++
sdk/include/reactos/undocshell.h | 2 +-
3 files changed, 11 insertions(+), 13 deletions(-)
diff --git a/dll/win32/shell32/stubs.cpp b/dll/win32/shell32/stubs.cpp
index bc8bf50f7b5..c25d4cb1fc1 100644
--- a/dll/win32/shell32/stubs.cpp
+++ b/dll/win32/shell32/stubs.cpp
@@ -180,18 +180,6 @@ SHMultiFileProperties(IDataObject *pDataObject, DWORD dwFlags)
return E_FAIL;
}
-/*
- * Unimplemented
- */
-EXTERN_C HRESULT
-WINAPI
-SHCreatePropertyBag(REFIID refIId, LPVOID *lpUnknown)
-{
- /* Call SHCreatePropertyBagOnMemory() from shlwapi.dll */
- FIXME("SHCreatePropertyBag() stub\n");
- return E_FAIL;
-}
-
/*
* Unimplemented
*/
diff --git a/dll/win32/shell32/utils.cpp b/dll/win32/shell32/utils.cpp
index c2085b9c1e0..e59af7f7350 100644
--- a/dll/win32/shell32/utils.cpp
+++ b/dll/win32/shell32/utils.cpp
@@ -9,6 +9,16 @@
WINE_DEFAULT_DEBUG_CHANNEL(shell);
+/*************************************************************************
+ * SHCreatePropertyBag (SHELL32.715)
+ */
+EXTERN_C HRESULT
+WINAPI
+SHCreatePropertyBag(_In_ REFIID riid, _Out_ void **ppvObj)
+{
+ return SHCreatePropertyBagOnMemory(STGM_READWRITE, riid, ppvObj);
+}
+
/*************************************************************************
* SheRemoveQuotesA (SHELL32.@)
*/
diff --git a/sdk/include/reactos/undocshell.h b/sdk/include/reactos/undocshell.h
index 0b2b247f668..370fef7377e 100644
--- a/sdk/include/reactos/undocshell.h
+++ b/sdk/include/reactos/undocshell.h
@@ -646,8 +646,8 @@ BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey);
#define SMC_EXEC 4
INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc);
+HRESULT WINAPI SHCreatePropertyBag(_In_ REFIID riid, _Out_ void **ppvObj);
HRESULT WINAPI SHLimitInputCombo(HWND hWnd, IShellFolder *psf);
-
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv);
BOOL WINAPI GUIDFromStringW(