shell32: Added GetCurrentProcessExplicitAppUserModelID() stub

Nikolay Sivov nsivov at codeweavers.com
Wed Jul 22 04:51:29 CDT 2015


---
-------------- next part --------------
From 7ef8c087ff4ce503109124135180e29d5070a120 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed, 22 Jul 2015 12:50:43 +0300
Subject: [PATCH] shell32: Added GetCurrentProcessExplicitAppUserModelID() stub

---
 dlls/shell32/shell32.spec   |  1 +
 dlls/shell32/shell32_main.c | 10 ++++++++++
 dlls/shell32/tests/appbar.c | 27 ++++++++++++++++++++++++++-
 3 files changed, 37 insertions(+), 1 deletion(-)

diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec
index ed34919..ce3a9f7 100644
--- a/dlls/shell32/shell32.spec
+++ b/dlls/shell32/shell32.spec
@@ -310,6 +310,7 @@
 @ stdcall FindExecutableW(wstr wstr ptr)
 @ stub FixupOptionalComponents
 @ stdcall FreeIconList(long)
+@ stdcall GetCurrentProcessExplicitAppUserModelID(ptr)
 @ stdcall InitNetworkAddressControl()
 @ stub InternalExtractIconListA
 @ stub InternalExtractIconListW
diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c
index cabf5e4..fd4b8c8 100644
--- a/dlls/shell32/shell32_main.c
+++ b/dlls/shell32/shell32_main.c
@@ -1378,6 +1378,16 @@ HRESULT WINAPI SetCurrentProcessExplicitAppUserModelID(PCWSTR appid)
 }
 
 /***********************************************************************
+ *              GetCurrentProcessExplicitAppUserModelID (SHELL32.@)
+ */
+HRESULT WINAPI GetCurrentProcessExplicitAppUserModelID(PWSTR *appid)
+{
+    FIXME("%p: stub\n", appid);
+    *appid = NULL;
+    return E_NOTIMPL;
+}
+
+/***********************************************************************
  *              SHSetUnreadMailCountW (SHELL32.@)
  */
 HRESULT WINAPI SHSetUnreadMailCountW(LPCWSTR mailaddress, DWORD count, LPCWSTR executecommand)
diff --git a/dlls/shell32/tests/appbar.c b/dlls/shell32/tests/appbar.c
index 7675493..8138131 100644
--- a/dlls/shell32/tests/appbar.c
+++ b/dlls/shell32/tests/appbar.c
@@ -29,6 +29,7 @@
 static const CHAR testwindow_class[] = "testwindow";
 
 static HMONITOR (WINAPI *pMonitorFromWindow)(HWND, DWORD);
+static HRESULT (WINAPI *pGetCurrentProcessExplicitAppUserModelID)(PWSTR*);
 
 typedef BOOL (*boolean_function)(void);
 
@@ -430,15 +431,39 @@ static void test_appbarget(void)
     return;
 }
 
+static void test_GetCurrentProcessExplicitAppUserModelID(void)
+{
+    WCHAR *appid;
+    HRESULT hr;
+
+    if (!pGetCurrentProcessExplicitAppUserModelID)
+    {
+        win_skip("GetCurrentProcessExplicitAppUserModelID() is not supported.\n");
+        return;
+    }
+
+if (0) /* crashes on native */
+    hr = pGetCurrentProcessExplicitAppUserModelID(NULL);
+
+    appid = (void*)0xdeadbeef;
+    hr = pGetCurrentProcessExplicitAppUserModelID(&appid);
+todo_wine
+    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(appid == NULL, "got %p\n", appid);
+}
+
 START_TEST(appbar)
 {
-    HMODULE huser32;
+    HMODULE huser32, hshell32;
 
     huser32 = GetModuleHandleA("user32.dll");
+    hshell32 = GetModuleHandleA("shell32.dll");
     pMonitorFromWindow = (void*)GetProcAddress(huser32, "MonitorFromWindow");
+    pGetCurrentProcessExplicitAppUserModelID = (void*)GetProcAddress(hshell32, "GetCurrentProcessExplicitAppUserModelID");
 
     register_testwindow_class();
 
     test_setpos();
     test_appbarget();
+    test_GetCurrentProcessExplicitAppUserModelID();
 }
-- 
2.1.4



More information about the wine-patches mailing list