Module: wine Branch: master Commit: e7acfee978219b88eafe921e6a4e70c4569a41f5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e7acfee978219b88eafe921e6a...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Wed Jul 22 12:51:29 2015 +0300
shell32: Added GetCurrentProcessExplicitAppUserModelID() stub.
---
.../api-ms-win-downlevel-shell32-l1-1-0.spec | 2 +- dlls/shell32/shell32.spec | 1 + dlls/shell32/shell32_main.c | 10 ++++++++ dlls/shell32/tests/appbar.c | 27 +++++++++++++++++++++- 4 files changed, 38 insertions(+), 2 deletions(-)
diff --git a/dlls/api-ms-win-downlevel-shell32-l1-1-0/api-ms-win-downlevel-shell32-l1-1-0.spec b/dlls/api-ms-win-downlevel-shell32-l1-1-0/api-ms-win-downlevel-shell32-l1-1-0.spec index 9e51a4a..9d03c03 100644 --- a/dlls/api-ms-win-downlevel-shell32-l1-1-0/api-ms-win-downlevel-shell32-l1-1-0.spec +++ b/dlls/api-ms-win-downlevel-shell32-l1-1-0/api-ms-win-downlevel-shell32-l1-1-0.spec @@ -1,3 +1,3 @@ @ stdcall CommandLineToArgvW(wstr ptr) shell32.CommandLineToArgvW -@ stub GetCurrentProcessExplicitAppUserModelID +@ stdcall GetCurrentProcessExplicitAppUserModelID(ptr) shell32.GetCurrentProcessExplicitAppUserModelID @ stdcall SetCurrentProcessExplicitAppUserModelID(wstr) shell32.SetCurrentProcessExplicitAppUserModelID 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(); }