Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47612 Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/wtsapi32/wtsapi32.c | 21 +++++++++++++++++++++ dlls/wtsapi32/wtsapi32.spec | 2 ++ 2 files changed, 23 insertions(+)
diff --git a/dlls/wtsapi32/wtsapi32.c b/dlls/wtsapi32/wtsapi32.c index 2f5e73d05a..72025c3c7a 100644 --- a/dlls/wtsapi32/wtsapi32.c +++ b/dlls/wtsapi32/wtsapi32.c @@ -70,6 +70,27 @@ BOOL WINAPI WTSEnableChildSessions(BOOL enable) return TRUE; }
+ +/************************************************************ + * WTSEnumerateProcessesExW (WTSAPI32.@) + */ +BOOL WINAPI WTSEnumerateProcessesExW(HANDLE server, DWORD *level, DWORD session_id, WCHAR **info, DWORD *count) +{ + FIXME("Stub %p %p %d %p %p\n", server, level, session_id, info, count); + if (count) *count = 0; + return FALSE; +} + +/************************************************************ + * WTSEnumerateProcessesExA (WTSAPI32.@) + */ +BOOL WINAPI WTSEnumerateProcessesExA(HANDLE server, DWORD *level, DWORD session_id, char **info, DWORD *count) +{ + FIXME("Stub %p %p %d %p %p\n", server, level, session_id, info, count); + if (count) *count = 0; + return FALSE; +} + /************************************************************ * WTSEnumerateProcessesA (WTSAPI32.@) */ diff --git a/dlls/wtsapi32/wtsapi32.spec b/dlls/wtsapi32/wtsapi32.spec index 2b0174177a..5d70da7f3f 100644 --- a/dlls/wtsapi32/wtsapi32.spec +++ b/dlls/wtsapi32/wtsapi32.spec @@ -4,6 +4,8 @@ @ stdcall WTSDisconnectSession(long long long) @ stdcall WTSEnableChildSessions(long) @ stdcall WTSEnumerateProcessesA(long long long ptr ptr) +@ stdcall WTSEnumerateProcessesExA(ptr ptr long ptr ptr) +@ stdcall WTSEnumerateProcessesExW(ptr ptr long ptr ptr) @ stdcall WTSEnumerateProcessesW(long long long ptr ptr) @ stdcall WTSEnumerateServersA(ptr long long ptr ptr) @ stdcall WTSEnumerateServersW(ptr long long ptr ptr)
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47612 Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- include/wtsapi32.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/include/wtsapi32.h b/include/wtsapi32.h index f329bd5cf0..91309cc5b5 100644 --- a/include/wtsapi32.h +++ b/include/wtsapi32.h @@ -122,6 +122,33 @@ typedef struct _WTS_SESSION_INFOW DECL_WINELIB_TYPE_AW(WTS_SESSION_INFO) DECL_WINELIB_TYPE_AW(PWTS_SESSION_INFO)
+typedef struct _WTS_SESSION_INFO_1A +{ + DWORD ExecEnvId; + WTS_CONNECTSTATE_CLASS State; + DWORD SessionId; + char *pSessionName; + char *pHostName; + char *pUserName; + char *pDomainName; + char *pFarmName; +} WTS_SESSION_INFO_1A, *PWTS_SESSION_INFO_1A; + +typedef struct _WTS_SESSION_INFO_1W +{ + DWORD ExecEnvId; + WTS_CONNECTSTATE_CLASS State; + DWORD SessionId; + WCHAR *pSessionName; + WCHAR *pHostName; + WCHAR *pUserName; + WCHAR *pDomainName; + WCHAR *pFarmName; +} WTS_SESSION_INFO_1W, *PWTS_SESSION_INFO_1W; + +DECL_WINELIB_TYPE_AW(WTS_SESSION_INFO_1) +DECL_WINELIB_TYPE_AW(PWTS_SESSION_INFO_1) + typedef struct _WTS_SERVER_INFOA { LPSTR pServerName;
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47612 Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/wtsapi32/wtsapi32.c | 20 ++++++++++++++++++++ dlls/wtsapi32/wtsapi32.spec | 2 ++ 2 files changed, 22 insertions(+)
diff --git a/dlls/wtsapi32/wtsapi32.c b/dlls/wtsapi32/wtsapi32.c index 72025c3c7a..e64079c5c2 100644 --- a/dlls/wtsapi32/wtsapi32.c +++ b/dlls/wtsapi32/wtsapi32.c @@ -148,6 +148,26 @@ BOOL WINAPI WTSEnumerateServersW(LPWSTR pDomainName, DWORD Reserved, DWORD Versi }
+/************************************************************ + * WTSEnumerateEnumerateSessionsExW (WTSAPI32.@) + */ +BOOL WINAPI WTSEnumerateSessionsExW(HANDLE server, DWORD *level, DWORD filter, WTS_SESSION_INFO_1W* info, DWORD *count) +{ + FIXME("Stub %p %p %d %p %p\n", server, level, filter, info, count); + if (count) *count = 0; + return FALSE; +} + +/************************************************************ + * WTSEnumerateEnumerateSessionsExA (WTSAPI32.@) + */ +BOOL WINAPI WTSEnumerateSessionsExA(HANDLE server, DWORD *level, DWORD filter, WTS_SESSION_INFO_1A* info, DWORD *count) +{ + FIXME("Stub %p %p %d %p %p\n", server, level, filter, info, count); + if (count) *count = 0; + return FALSE; +} + /************************************************************ * WTSEnumerateEnumerateSessionsA (WTSAPI32.@) */ diff --git a/dlls/wtsapi32/wtsapi32.spec b/dlls/wtsapi32/wtsapi32.spec index 5d70da7f3f..85109800bb 100644 --- a/dlls/wtsapi32/wtsapi32.spec +++ b/dlls/wtsapi32/wtsapi32.spec @@ -10,6 +10,8 @@ @ stdcall WTSEnumerateServersA(ptr long long ptr ptr) @ stdcall WTSEnumerateServersW(ptr long long ptr ptr) @ stdcall WTSEnumerateSessionsA(long long long ptr ptr) +@ stdcall WTSEnumerateSessionsExA(ptr ptr long ptr ptr) +@ stdcall WTSEnumerateSessionsExW(ptr ptr long ptr ptr) @ stdcall WTSEnumerateSessionsW(long long long ptr ptr) @ stdcall WTSFreeMemory(ptr) @ stdcall WTSLogoffSession(long long long)
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47612 Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/wtsapi32/wtsapi32.c | 21 +++++++++++++++++++++ dlls/wtsapi32/wtsapi32.spec | 6 ++++-- 2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/dlls/wtsapi32/wtsapi32.c b/dlls/wtsapi32/wtsapi32.c index e64079c5c2..9384379474 100644 --- a/dlls/wtsapi32/wtsapi32.c +++ b/dlls/wtsapi32/wtsapi32.c @@ -222,6 +222,27 @@ BOOL WINAPI WTSLogoffSession(HANDLE hserver, DWORD session_id, BOOL bwait) return FALSE; }
+ +/************************************************************ + * WTSOpenServerExW (WTSAPI32.@) + */ +HANDLE WINAPI WTSOpenServerExW(WCHAR *server_name) +{ + FIXME("(%s) stub\n", debugstr_w(server_name)); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return NULL; +} + +/************************************************************ + * WTSOpenServerExA (WTSAPI32.@) + */ +HANDLE WINAPI WTSOpenServerExA(char *server_name) +{ + FIXME("(%s) stub\n", debugstr_a(server_name)); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return NULL; +} + /************************************************************ * WTSOpenServerA (WTSAPI32.@) */ diff --git a/dlls/wtsapi32/wtsapi32.spec b/dlls/wtsapi32/wtsapi32.spec index 85109800bb..7f76b444a5 100644 --- a/dlls/wtsapi32/wtsapi32.spec +++ b/dlls/wtsapi32/wtsapi32.spec @@ -15,8 +15,10 @@ @ stdcall WTSEnumerateSessionsW(long long long ptr ptr) @ stdcall WTSFreeMemory(ptr) @ stdcall WTSLogoffSession(long long long) -@ stdcall WTSOpenServerA(ptr) -@ stdcall WTSOpenServerW(ptr) +@ stdcall WTSOpenServerA(str) +@ stdcall WTSOpenServerExA(str) +@ stdcall WTSOpenServerExW(wstr) +@ stdcall WTSOpenServerW(wstr) @ stdcall WTSQuerySessionInformationA(long long long ptr ptr) @ stdcall WTSQuerySessionInformationW(long long long ptr ptr) @ stdcall WTSQueryUserConfigA(ptr ptr long ptr ptr)
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47612 Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- include/wtsapi32.h | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/include/wtsapi32.h b/include/wtsapi32.h index 91309cc5b5..d9b40ca519 100644 --- a/include/wtsapi32.h +++ b/include/wtsapi32.h @@ -86,6 +86,13 @@ typedef enum _WTS_CONFIG_CLASS WTSUserConfigfTerminalServerRemoteHomeDir } WTS_CONFIG_CLASS;
+typedef enum _WTS_TYPE_CLASS +{ + WTSTypeProcessInfoLevel0, + WTSTypeProcessInfoLevel1, + WTSTypeSessionInfoLevel1 +} WTS_TYPE_CLASS; + typedef struct _WTS_PROCESS_INFOA { DWORD SessionId;
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47612 Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/wtsapi32/wtsapi32.c | 21 +++++++++++++++++++++ dlls/wtsapi32/wtsapi32.spec | 2 ++ 2 files changed, 23 insertions(+)
diff --git a/dlls/wtsapi32/wtsapi32.c b/dlls/wtsapi32/wtsapi32.c index 9384379474..c2b817a6ed 100644 --- a/dlls/wtsapi32/wtsapi32.c +++ b/dlls/wtsapi32/wtsapi32.c @@ -212,6 +212,27 @@ void WINAPI WTSFreeMemory(PVOID pMemory) heap_free(pMemory); }
+/************************************************************ + * WTSFreeMemoryExA (WTSAPI32.@) + */ +BOOL WINAPI WTSFreeMemoryExA(WTS_TYPE_CLASS type, void *ptr, ULONG nmemb) +{ + TRACE("%d %p %d\n", type, ptr, nmemb); + heap_free(ptr); + return TRUE; +} + +/************************************************************ + * WTSFreeMemoryExW (WTSAPI32.@) + */ +BOOL WINAPI WTSFreeMemoryExW(WTS_TYPE_CLASS type, void *ptr, ULONG nmemb) +{ + TRACE("%d %p %d\n", type, ptr, nmemb); + heap_free(ptr); + return TRUE; +} + + /************************************************************ * WTSLogoffSession (WTSAPI32.@) */ diff --git a/dlls/wtsapi32/wtsapi32.spec b/dlls/wtsapi32/wtsapi32.spec index 7f76b444a5..37838d5e07 100644 --- a/dlls/wtsapi32/wtsapi32.spec +++ b/dlls/wtsapi32/wtsapi32.spec @@ -14,6 +14,8 @@ @ stdcall WTSEnumerateSessionsExW(ptr ptr long ptr ptr) @ stdcall WTSEnumerateSessionsW(long long long ptr ptr) @ stdcall WTSFreeMemory(ptr) +@ stdcall WTSFreeMemoryExA(long ptr long) +@ stdcall WTSFreeMemoryExW(long ptr long) @ stdcall WTSLogoffSession(long long long) @ stdcall WTSOpenServerA(str) @ stdcall WTSOpenServerExA(str)