Nigel Liang : shlwapi: Stub implementation for SHSetTimerQueueTimer.

Alexandre Julliard julliard at wine.codeweavers.com
Fri May 25 14:43:26 CDT 2007


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

Author: Nigel Liang <ncliang at gmail.com>
Date:   Mon May 21 18:05:28 2007 -0700

shlwapi: Stub implementation for SHSetTimerQueueTimer.

---

 dlls/shlwapi/ordinal.c    |   26 ++++++++++++++++++++++++++
 dlls/shlwapi/shlwapi.spec |    2 +-
 include/shlwapi.h         |    4 ++++
 3 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/dlls/shlwapi/ordinal.c b/dlls/shlwapi/ordinal.c
index 213980c..7d5c6cb 100644
--- a/dlls/shlwapi/ordinal.c
+++ b/dlls/shlwapi/ordinal.c
@@ -4223,6 +4223,32 @@ BOOL WINAPI SHQueueUserWorkItem(LPTHREAD_START_ROUTINE pfnCallback,
 }
 
 /***********************************************************************
+ *		SHSetTimerQueueTimer (SHLWAPI.263)
+ */
+HANDLE WINAPI SHSetTimerQueueTimer(HANDLE hQueue,
+        WAITORTIMERCALLBACK pfnCallback, LPVOID pContext, DWORD dwDueTime,
+        DWORD dwPeriod, LPCSTR lpszLibrary, DWORD dwFlags)
+{
+    HANDLE hNewTimer;
+
+    /* SHSetTimerQueueTimer flags -> CreateTimerQueueTimer flags */
+    if (dwFlags & TPS_LONGEXECTIME) {
+        dwFlags &= ~TPS_LONGEXECTIME;
+        dwFlags |= WT_EXECUTELONGFUNCTION;
+    }
+    if (dwFlags & TPS_EXECUTEIO) {
+        dwFlags &= ~TPS_EXECUTEIO;
+        dwFlags |= WT_EXECUTEINIOTHREAD;
+    }
+
+    if (!CreateTimerQueueTimer(&hNewTimer, hQueue, pfnCallback, pContext,
+                               dwDueTime, dwPeriod, dwFlags))
+        return NULL;
+
+    return hNewTimer;
+}
+
+/***********************************************************************
  *		IUnknown_OnFocusChangeIS (SHLWAPI.@)
  */
 HRESULT WINAPI IUnknown_OnFocusChangeIS(LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus)
diff --git a/dlls/shlwapi/shlwapi.spec b/dlls/shlwapi/shlwapi.spec
index ec7d259..d236858 100644
--- a/dlls/shlwapi/shlwapi.spec
+++ b/dlls/shlwapi/shlwapi.spec
@@ -260,7 +260,7 @@
 260 stdcall -noname SHQueueUserWorkItem(long long long long long long long)
 261 stub -noname SHCreateTimerQueue
 262 stub -noname SHDeleteTimerQueue
-263 stub -noname SHSetTimerQueueTimer
+263 stdcall -noname SHSetTimerQueueTimer(long ptr ptr long long str long)
 264 stub -noname SHChangeTimerQueueTimer
 265 stub -noname SHCancelTimerQueueTimer
 266 stdcall -noname SHRestrictionLookup(long wstr ptr ptr)
diff --git a/include/shlwapi.h b/include/shlwapi.h
index 638a958..21b1e99 100644
--- a/include/shlwapi.h
+++ b/include/shlwapi.h
@@ -1041,6 +1041,10 @@ HRESULT WINAPI DllInstall(BOOL,LPCWSTR) DECLSPEC_HIDDEN;
 
 BOOL WINAPI IsOS(DWORD);
 
+/* SHSetTimerQueueTimer definitions */
+#define TPS_EXECUTEIO    0x00000001
+#define TPS_LONGEXECTIME 0x00000008
+
 #include <poppack.h> 
 
 #ifdef __cplusplus




More information about the wine-cvs mailing list