libwinpr-wtsapi: started internal RPC stubs
This commit is contained in:
parent
8423fccbc2
commit
e429136c0c
@ -92,8 +92,6 @@ if(WITH_MANPAGES)
|
||||
MODULE freerdp
|
||||
MODULES freerdp-core freerdp-utils)
|
||||
|
||||
message(WARNING "GAD_LIBS: ${GAD_LIBS}")
|
||||
|
||||
target_link_libraries(generate_argument_docbook ${GAD_LIBS})
|
||||
|
||||
add_custom_command(OUTPUT xfreerdp.1
|
||||
|
@ -930,8 +930,8 @@ WINPR_API BOOL WTSStopRemoteControlSession(ULONG LogonId);
|
||||
WINPR_API BOOL WTSStartRemoteControlSessionW(LPWSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers);
|
||||
WINPR_API BOOL WTSStartRemoteControlSessionA(LPSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers);
|
||||
|
||||
WINPR_API BOOL WTSConnectSessionA(ULONG LogonId, ULONG TargetLogonId, PSTR pPassword, BOOL bWait);
|
||||
WINPR_API BOOL WTSConnectSessionW(ULONG LogonId, ULONG TargetLogonId, PWSTR pPassword, BOOL bWait);
|
||||
WINPR_API BOOL WTSConnectSessionA(ULONG LogonId, ULONG TargetLogonId, PSTR pPassword, BOOL bWait);
|
||||
|
||||
WINPR_API BOOL WTSEnumerateServersW(LPWSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOW* ppServerInfo, DWORD* pCount);
|
||||
WINPR_API BOOL WTSEnumerateServersA(LPSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOA* ppServerInfo, DWORD* pCount);
|
||||
|
@ -19,7 +19,9 @@ set(MODULE_NAME "winpr-wtsapi")
|
||||
set(MODULE_PREFIX "WINPR_WTSAPI")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
wtsapi.c)
|
||||
wtsapi.c
|
||||
wtsrpc_c.c
|
||||
wtsrpc_c.h)
|
||||
|
||||
if(MSVC AND (NOT MONOLITHIC_BUILD))
|
||||
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def)
|
||||
|
@ -32,9 +32,11 @@
|
||||
|
||||
#ifndef _WIN32
|
||||
|
||||
#include "wtsrpc_c.h"
|
||||
|
||||
BOOL WTSStartRemoteControlSessionW(LPWSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcStartRemoteControlSession(NULL, pTargetServerName, TargetLogonId, HotkeyVk, HotkeyModifiers);
|
||||
}
|
||||
|
||||
BOOL WTSStartRemoteControlSessionA(LPSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers)
|
||||
@ -44,7 +46,12 @@ BOOL WTSStartRemoteControlSessionA(LPSTR pTargetServerName, ULONG TargetLogonId,
|
||||
|
||||
BOOL WTSStopRemoteControlSession(ULONG LogonId)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcStopRemoteControlSession(NULL, LogonId);
|
||||
}
|
||||
|
||||
BOOL WTSConnectSessionW(ULONG LogonId, ULONG TargetLogonId, PWSTR pPassword, BOOL bWait)
|
||||
{
|
||||
return RpcConnectSession(NULL, LogonId, TargetLogonId, pPassword, bWait);
|
||||
}
|
||||
|
||||
BOOL WTSConnectSessionA(ULONG LogonId, ULONG TargetLogonId, PSTR pPassword, BOOL bWait)
|
||||
@ -52,14 +59,9 @@ BOOL WTSConnectSessionA(ULONG LogonId, ULONG TargetLogonId, PSTR pPassword, BOOL
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WTSConnectSessionW(ULONG LogonId, ULONG TargetLogonId, PWSTR pPassword, BOOL bWait)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WTSEnumerateServersW(LPWSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOW* ppServerInfo, DWORD* pCount)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcEnumerateServers(NULL, pDomainName, Reserved, Version, ppServerInfo, pCount);
|
||||
}
|
||||
|
||||
BOOL WTSEnumerateServersA(LPSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOA* ppServerInfo, DWORD* pCount)
|
||||
@ -69,7 +71,7 @@ BOOL WTSEnumerateServersA(LPSTR pDomainName, DWORD Reserved, DWORD Version, PWTS
|
||||
|
||||
HANDLE WTSOpenServerW(LPWSTR pServerName)
|
||||
{
|
||||
return NULL;
|
||||
return RpcOpenServer(NULL, pServerName);
|
||||
}
|
||||
|
||||
HANDLE WTSOpenServerA(LPSTR pServerName)
|
||||
@ -79,7 +81,7 @@ HANDLE WTSOpenServerA(LPSTR pServerName)
|
||||
|
||||
HANDLE WTSOpenServerExW(LPWSTR pServerName)
|
||||
{
|
||||
return NULL;
|
||||
return RpcOpenServerEx(NULL, pServerName);
|
||||
}
|
||||
|
||||
HANDLE WTSOpenServerExA(LPSTR pServerName)
|
||||
@ -89,12 +91,12 @@ HANDLE WTSOpenServerExA(LPSTR pServerName)
|
||||
|
||||
VOID WTSCloseServer(HANDLE hServer)
|
||||
{
|
||||
|
||||
RpcCloseServer(NULL, hServer);
|
||||
}
|
||||
|
||||
BOOL WTSEnumerateSessionsW(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_SESSION_INFOW* ppSessionInfo, DWORD* pCount)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcEnumerateSessions(NULL, hServer, Reserved, Version, ppSessionInfo, pCount);
|
||||
}
|
||||
|
||||
BOOL WTSEnumerateSessionsA(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_SESSION_INFOA* ppSessionInfo, DWORD* pCount)
|
||||
@ -104,7 +106,7 @@ BOOL WTSEnumerateSessionsA(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_S
|
||||
|
||||
BOOL WTSEnumerateSessionsExW(HANDLE hServer, DWORD* pLevel, DWORD Filter, PWTS_SESSION_INFO_1W* ppSessionInfo, DWORD* pCount)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcEnumerateSessionsEx(NULL, hServer, pLevel, Filter, ppSessionInfo, pCount);
|
||||
}
|
||||
|
||||
BOOL WTSEnumerateSessionsExA(HANDLE hServer, DWORD* pLevel, DWORD Filter, PWTS_SESSION_INFO_1A* ppSessionInfo, DWORD* pCount)
|
||||
@ -114,7 +116,7 @@ BOOL WTSEnumerateSessionsExA(HANDLE hServer, DWORD* pLevel, DWORD Filter, PWTS_S
|
||||
|
||||
BOOL WTSEnumerateProcessesW(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_PROCESS_INFOW* ppProcessInfo, DWORD* pCount)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcEnumerateProcesses(NULL, hServer, Reserved, Version, ppProcessInfo, pCount);
|
||||
}
|
||||
|
||||
BOOL WTSEnumerateProcessesA(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_PROCESS_INFOA* ppProcessInfo, DWORD* pCount)
|
||||
@ -124,12 +126,12 @@ BOOL WTSEnumerateProcessesA(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_
|
||||
|
||||
BOOL WTSTerminateProcess(HANDLE hServer, DWORD ProcessId, DWORD ExitCode)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcTerminateProcess(NULL, hServer, ProcessId, ExitCode);
|
||||
}
|
||||
|
||||
BOOL WTSQuerySessionInformationW(HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass, LPWSTR* ppBuffer, DWORD* pBytesReturned)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcQuerySessionInformation(NULL, hServer, SessionId, WTSInfoClass, ppBuffer, pBytesReturned);
|
||||
}
|
||||
|
||||
BOOL WTSQuerySessionInformationA(HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass, LPSTR* ppBuffer, DWORD* pBytesReturned)
|
||||
@ -139,7 +141,7 @@ BOOL WTSQuerySessionInformationA(HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS
|
||||
|
||||
BOOL WTSQueryUserConfigW(LPWSTR pServerName, LPWSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPWSTR* ppBuffer, DWORD* pBytesReturned)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcQueryUserConfig(NULL, pServerName, pUserName, WTSConfigClass, ppBuffer, pBytesReturned);
|
||||
}
|
||||
|
||||
BOOL WTSQueryUserConfigA(LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPSTR* ppBuffer, DWORD* pBytesReturned)
|
||||
@ -149,7 +151,7 @@ BOOL WTSQueryUserConfigA(LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WT
|
||||
|
||||
BOOL WTSSetUserConfigW(LPWSTR pServerName, LPWSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPWSTR pBuffer, DWORD DataLength)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcSetUserConfig(NULL, pServerName, pUserName, WTSConfigClass, pBuffer, DataLength);
|
||||
}
|
||||
|
||||
BOOL WTSSetUserConfigA(LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPSTR pBuffer, DWORD DataLength)
|
||||
@ -160,7 +162,8 @@ BOOL WTSSetUserConfigA(LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WTSC
|
||||
BOOL WTSSendMessageW(HANDLE hServer, DWORD SessionId, LPWSTR pTitle, DWORD TitleLength,
|
||||
LPWSTR pMessage, DWORD MessageLength, DWORD Style, DWORD Timeout, DWORD* pResponse, BOOL bWait)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcSendMessage(NULL, hServer, SessionId, pTitle, TitleLength,
|
||||
pMessage, MessageLength, Style, Timeout, pResponse, bWait);
|
||||
}
|
||||
|
||||
BOOL WTSSendMessageA(HANDLE hServer, DWORD SessionId, LPSTR pTitle, DWORD TitleLength,
|
||||
@ -171,17 +174,17 @@ BOOL WTSSendMessageA(HANDLE hServer, DWORD SessionId, LPSTR pTitle, DWORD TitleL
|
||||
|
||||
BOOL WTSDisconnectSession(HANDLE hServer, DWORD SessionId, BOOL bWait)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcDisconnectSession(NULL, hServer, SessionId, bWait);
|
||||
}
|
||||
|
||||
BOOL WTSLogoffSession(HANDLE hServer, DWORD SessionId, BOOL bWait)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcLogoffSession(NULL, hServer, SessionId, bWait);
|
||||
}
|
||||
|
||||
BOOL WTSShutdownSystem(HANDLE hServer, DWORD ShutdownFlag)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcShutdownSystem(NULL, hServer, ShutdownFlag);
|
||||
}
|
||||
|
||||
BOOL WTSWaitSystemEvent(HANDLE hServer, DWORD EventMask, DWORD* pEventFlags)
|
||||
@ -361,31 +364,6 @@ VOID WTSFreeMemory(PVOID pMemory)
|
||||
free(pMemory);
|
||||
}
|
||||
|
||||
BOOL WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WTSUnRegisterSessionNotification(HWND hWnd)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WTSRegisterSessionNotificationEx(HANDLE hServer, HWND hWnd, DWORD dwFlags)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WTSUnRegisterSessionNotificationEx(HANDLE hServer, HWND hWnd)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WTSQueryUserToken(ULONG SessionId, PHANDLE phToken)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WTSFreeMemoryExW(WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory, ULONG NumberOfEntries)
|
||||
{
|
||||
BOOL status = TRUE;
|
||||
@ -432,6 +410,31 @@ BOOL WTSFreeMemoryExA(WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory, ULONG NumberOf
|
||||
return status;
|
||||
}
|
||||
|
||||
BOOL WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags)
|
||||
{
|
||||
return RpcRegisterSessionNotification(NULL, hWnd, dwFlags);
|
||||
}
|
||||
|
||||
BOOL WTSUnRegisterSessionNotification(HWND hWnd)
|
||||
{
|
||||
return RpcUnRegisterSessionNotification(NULL, hWnd);
|
||||
}
|
||||
|
||||
BOOL WTSRegisterSessionNotificationEx(HANDLE hServer, HWND hWnd, DWORD dwFlags)
|
||||
{
|
||||
return RpcRegisterSessionNotificationEx(NULL, hServer, hWnd, dwFlags);
|
||||
}
|
||||
|
||||
BOOL WTSUnRegisterSessionNotificationEx(HANDLE hServer, HWND hWnd)
|
||||
{
|
||||
return RpcUnRegisterSessionNotificationEx(NULL, hServer, hWnd);
|
||||
}
|
||||
|
||||
BOOL WTSQueryUserToken(ULONG SessionId, PHANDLE phToken)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WTSEnumerateProcessesExW(HANDLE hServer, DWORD* pLevel, DWORD SessionId, LPWSTR* ppProcessInfo, DWORD* pCount)
|
||||
{
|
||||
return TRUE;
|
||||
@ -504,17 +507,17 @@ BOOL WTSGetListenerSecurityA(HANDLE hServer, PVOID pReserved, DWORD Reserved,
|
||||
|
||||
BOOL WTSEnableChildSessions(BOOL bEnable)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcEnableChildSessions(NULL, bEnable);
|
||||
}
|
||||
|
||||
BOOL WTSIsChildSessionsEnabled(PBOOL pbEnabled)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcIsChildSessionsEnabled(NULL, pbEnabled);
|
||||
}
|
||||
|
||||
BOOL WTSGetChildSessionId(PULONG pSessionId)
|
||||
{
|
||||
return TRUE;
|
||||
return RpcGetChildSessionId(NULL, pSessionId);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
170
winpr/libwinpr/wtsapi/wtsrpc_c.c
Normal file
170
winpr/libwinpr/wtsapi/wtsrpc_c.c
Normal file
@ -0,0 +1,170 @@
|
||||
/**
|
||||
* WinPR: Windows Portable Runtime
|
||||
* Windows Terminal Services API
|
||||
*
|
||||
* Copyright 2013 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <winpr/crt.h>
|
||||
|
||||
#include <winpr/wtsapi.h>
|
||||
|
||||
#ifndef _WIN32
|
||||
|
||||
#include "wtsrpc_c.h"
|
||||
|
||||
/**
|
||||
* RPC Client Stubs
|
||||
*/
|
||||
|
||||
BOOL RpcStartRemoteControlSession(void* context, LPWSTR pTargetServerName,
|
||||
ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcStopRemoteControlSession(void* context, ULONG LogonId)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcConnectSession(void* context, ULONG LogonId, ULONG TargetLogonId, PWSTR pPassword, BOOL bWait)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcEnumerateServers(void* context, LPWSTR pDomainName, DWORD Reserved,
|
||||
DWORD Version, PWTS_SERVER_INFOW* ppServerInfo, DWORD* pCount)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
HANDLE RpcOpenServer(void* context, LPWSTR pServerName)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
HANDLE RpcOpenServerEx(void* context, LPWSTR pServerName)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
VOID RpcCloseServer(void* context, HANDLE hServer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
BOOL RpcEnumerateSessions(void* context, HANDLE hServer, DWORD Reserved,
|
||||
DWORD Version, PWTS_SESSION_INFOW* ppSessionInfo, DWORD* pCount)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcEnumerateSessionsEx(void* context, HANDLE hServer, DWORD* pLevel,
|
||||
DWORD Filter, PWTS_SESSION_INFO_1W* ppSessionInfo, DWORD* pCount)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcEnumerateProcesses(void* context, HANDLE hServer, DWORD Reserved,
|
||||
DWORD Version, PWTS_PROCESS_INFOW* ppProcessInfo, DWORD* pCount)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcTerminateProcess(void* context, HANDLE hServer, DWORD ProcessId, DWORD ExitCode)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcQuerySessionInformation(void* context, HANDLE hServer, DWORD SessionId,
|
||||
WTS_INFO_CLASS WTSInfoClass, LPWSTR* ppBuffer, DWORD* pBytesReturned)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcQueryUserConfig(void* context, LPWSTR pServerName, LPWSTR pUserName,
|
||||
WTS_CONFIG_CLASS WTSConfigClass, LPWSTR* ppBuffer, DWORD* pBytesReturned)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcSetUserConfig(void* context, LPWSTR pServerName, LPWSTR pUserName,
|
||||
WTS_CONFIG_CLASS WTSConfigClass, LPWSTR pBuffer, DWORD DataLength)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcSendMessage(void* context, HANDLE hServer, DWORD SessionId, LPWSTR pTitle, DWORD TitleLength,
|
||||
LPWSTR pMessage, DWORD MessageLength, DWORD Style, DWORD Timeout, DWORD* pResponse, BOOL bWait)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcDisconnectSession(void* context, HANDLE hServer, DWORD SessionId, BOOL bWait)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcLogoffSession(void* context, HANDLE hServer, DWORD SessionId, BOOL bWait)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcShutdownSystem(void* context, HANDLE hServer, DWORD ShutdownFlag)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcRegisterSessionNotification(void* context, HWND hWnd, DWORD dwFlags)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcUnRegisterSessionNotification(void* context, HWND hWnd)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcRegisterSessionNotificationEx(void* context, HANDLE hServer, HWND hWnd, DWORD dwFlags)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcUnRegisterSessionNotificationEx(void* context, HANDLE hServer, HWND hWnd)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcEnableChildSessions(void* context, BOOL bEnable)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcIsChildSessionsEnabled(void* context, PBOOL pbEnabled)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RpcGetChildSessionId(void* context, PULONG pSessionId)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#endif
|
76
winpr/libwinpr/wtsapi/wtsrpc_c.h
Normal file
76
winpr/libwinpr/wtsapi/wtsrpc_c.h
Normal file
@ -0,0 +1,76 @@
|
||||
/**
|
||||
* WinPR: Windows Portable Runtime
|
||||
* Windows Terminal Services API
|
||||
*
|
||||
* Copyright 2013 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef WINPR_WTSAPI_RPC_CLIENT_STUBS_H
|
||||
#define WINPR_WTSAPI_RPC_CLIENT_STUBS_H
|
||||
|
||||
/**
|
||||
* RPC Client Stubs
|
||||
*/
|
||||
|
||||
BOOL RpcStartRemoteControlSession(void* context, LPWSTR pTargetServerName,
|
||||
ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers);
|
||||
BOOL RpcStopRemoteControlSession(void* context, ULONG LogonId);
|
||||
|
||||
BOOL RpcConnectSession(void* context, ULONG LogonId, ULONG TargetLogonId, PWSTR pPassword, BOOL bWait);
|
||||
|
||||
BOOL RpcEnumerateServers(void* context, LPWSTR pDomainName, DWORD Reserved,
|
||||
DWORD Version, PWTS_SERVER_INFOW* ppServerInfo, DWORD* pCount);
|
||||
|
||||
HANDLE RpcOpenServer(void* context, LPWSTR pServerName);
|
||||
HANDLE RpcOpenServerEx(void* context, LPWSTR pServerName);
|
||||
VOID RpcCloseServer(void* context, HANDLE hServer);
|
||||
|
||||
BOOL RpcEnumerateSessions(void* context, HANDLE hServer, DWORD Reserved,
|
||||
DWORD Version, PWTS_SESSION_INFOW* ppSessionInfo, DWORD* pCount);
|
||||
BOOL RpcEnumerateSessionsEx(void* context, HANDLE hServer, DWORD* pLevel,
|
||||
DWORD Filter, PWTS_SESSION_INFO_1W* ppSessionInfo, DWORD* pCount);
|
||||
|
||||
BOOL RpcEnumerateProcesses(void* context, HANDLE hServer, DWORD Reserved,
|
||||
DWORD Version, PWTS_PROCESS_INFOW* ppProcessInfo, DWORD* pCount);
|
||||
BOOL RpcTerminateProcess(void* context, HANDLE hServer, DWORD ProcessId, DWORD ExitCode);
|
||||
|
||||
BOOL RpcQuerySessionInformation(void* context, HANDLE hServer, DWORD SessionId,
|
||||
WTS_INFO_CLASS WTSInfoClass, LPWSTR* ppBuffer, DWORD* pBytesReturned);
|
||||
|
||||
BOOL RpcQueryUserConfig(void* context, LPWSTR pServerName, LPWSTR pUserName,
|
||||
WTS_CONFIG_CLASS WTSConfigClass, LPWSTR* ppBuffer, DWORD* pBytesReturned);
|
||||
BOOL RpcSetUserConfig(void* context, LPWSTR pServerName, LPWSTR pUserName,
|
||||
WTS_CONFIG_CLASS WTSConfigClass, LPWSTR pBuffer, DWORD DataLength);
|
||||
|
||||
BOOL RpcSendMessage(void* context, HANDLE hServer, DWORD SessionId, LPWSTR pTitle, DWORD TitleLength,
|
||||
LPWSTR pMessage, DWORD MessageLength, DWORD Style, DWORD Timeout, DWORD* pResponse, BOOL bWait);
|
||||
|
||||
BOOL RpcDisconnectSession(void* context, HANDLE hServer, DWORD SessionId, BOOL bWait);
|
||||
|
||||
BOOL RpcLogoffSession(void* context, HANDLE hServer, DWORD SessionId, BOOL bWait);
|
||||
|
||||
BOOL RpcShutdownSystem(void* context, HANDLE hServer, DWORD ShutdownFlag);
|
||||
|
||||
BOOL RpcRegisterSessionNotification(void* context, HWND hWnd, DWORD dwFlags);
|
||||
BOOL RpcUnRegisterSessionNotification(void* context, HWND hWnd);
|
||||
|
||||
BOOL RpcRegisterSessionNotificationEx(void* context, HANDLE hServer, HWND hWnd, DWORD dwFlags);
|
||||
BOOL RpcUnRegisterSessionNotificationEx(void* context, HANDLE hServer, HWND hWnd);
|
||||
|
||||
BOOL RpcEnableChildSessions(void* context, BOOL bEnable);
|
||||
BOOL RpcIsChildSessionsEnabled(void* context, PBOOL pbEnabled);
|
||||
BOOL RpcGetChildSessionId(void* context, PULONG pSessionId);
|
||||
|
||||
#endif /* WINPR_WTSAPI_RPC_CLIENT_STUBS_H */
|
Loading…
x
Reference in New Issue
Block a user