FreeRDP
|
#include <winpr/config.h>
#include <winpr/crt.h>
#include <winpr/ini.h>
#include <winpr/path.h>
#include <winpr/synch.h>
#include <winpr/library.h>
#include <winpr/environment.h>
#include <winpr/wtsapi.h>
#include "../log.h"
Macros | |
#define | TAG WINPR_TAG("wtsapi") |
#define | WTSAPI_STUB_CALL_VOID(_name, ...) |
#define | WTSAPI_STUB_CALL_BOOL(_name, ...) |
#define | WTSAPI_STUB_CALL_HANDLE(_name, ...) |
#define | FREERDS_LIBRARY_NAME "libfreerds-fdsapi.so" |
Functions | |
static BOOL CALLBACK | InitializeWtsApiStubs (PINIT_ONCE once, PVOID param, PVOID *context) |
BOOL WINAPI | WTSStartRemoteControlSessionW (LPWSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers) |
BOOL WINAPI | WTSStartRemoteControlSessionA (LPSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers) |
BOOL WINAPI | WTSStartRemoteControlSessionExW (LPWSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers, DWORD flags) |
BOOL WINAPI | WTSStartRemoteControlSessionExA (LPSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers, DWORD flags) |
BOOL WINAPI | WTSStopRemoteControlSession (ULONG LogonId) |
BOOL WINAPI | WTSConnectSessionW (ULONG LogonId, ULONG TargetLogonId, PWSTR pPassword, BOOL bWait) |
BOOL WINAPI | WTSConnectSessionA (ULONG LogonId, ULONG TargetLogonId, PSTR pPassword, BOOL bWait) |
BOOL WINAPI | WTSEnumerateServersW (LPWSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOW *ppServerInfo, DWORD *pCount) |
BOOL WINAPI | WTSEnumerateServersA (LPSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOA *ppServerInfo, DWORD *pCount) |
HANDLE WINAPI | WTSOpenServerW (LPWSTR pServerName) |
HANDLE WINAPI | WTSOpenServerA (LPSTR pServerName) |
HANDLE WINAPI | WTSOpenServerExW (LPWSTR pServerName) |
HANDLE WINAPI | WTSOpenServerExA (LPSTR pServerName) |
VOID WINAPI | WTSCloseServer (HANDLE hServer) |
BOOL WINAPI | WTSEnumerateSessionsW (HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_SESSION_INFOW *ppSessionInfo, DWORD *pCount) |
BOOL WINAPI | WTSEnumerateSessionsA (HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_SESSION_INFOA *ppSessionInfo, DWORD *pCount) |
BOOL WINAPI | WTSEnumerateSessionsExW (HANDLE hServer, DWORD *pLevel, DWORD Filter, PWTS_SESSION_INFO_1W *ppSessionInfo, DWORD *pCount) |
BOOL WINAPI | WTSEnumerateSessionsExA (HANDLE hServer, DWORD *pLevel, DWORD Filter, PWTS_SESSION_INFO_1A *ppSessionInfo, DWORD *pCount) |
BOOL WINAPI | WTSEnumerateProcessesW (HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_PROCESS_INFOW *ppProcessInfo, DWORD *pCount) |
BOOL WINAPI | WTSEnumerateProcessesA (HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_PROCESS_INFOA *ppProcessInfo, DWORD *pCount) |
BOOL WINAPI | WTSTerminateProcess (HANDLE hServer, DWORD ProcessId, DWORD ExitCode) |
BOOL WINAPI | WTSQuerySessionInformationW (HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass, LPWSTR *ppBuffer, DWORD *pBytesReturned) |
BOOL WINAPI | WTSQuerySessionInformationA (HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass, LPSTR *ppBuffer, DWORD *pBytesReturned) |
BOOL WINAPI | WTSQueryUserConfigW (LPWSTR pServerName, LPWSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPWSTR *ppBuffer, DWORD *pBytesReturned) |
BOOL WINAPI | WTSQueryUserConfigA (LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPSTR *ppBuffer, DWORD *pBytesReturned) |
BOOL WINAPI | WTSSetUserConfigW (LPWSTR pServerName, LPWSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPWSTR pBuffer, DWORD DataLength) |
BOOL WINAPI | WTSSetUserConfigA (LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPSTR pBuffer, DWORD DataLength) |
BOOL WINAPI | WTSSendMessageW (HANDLE hServer, DWORD SessionId, LPWSTR pTitle, DWORD TitleLength, LPWSTR pMessage, DWORD MessageLength, DWORD Style, DWORD Timeout, DWORD *pResponse, BOOL bWait) |
BOOL WINAPI | WTSSendMessageA (HANDLE hServer, DWORD SessionId, LPSTR pTitle, DWORD TitleLength, LPSTR pMessage, DWORD MessageLength, DWORD Style, DWORD Timeout, DWORD *pResponse, BOOL bWait) |
BOOL WINAPI | WTSDisconnectSession (HANDLE hServer, DWORD SessionId, BOOL bWait) |
BOOL WINAPI | WTSLogoffSession (HANDLE hServer, DWORD SessionId, BOOL bWait) |
BOOL WINAPI | WTSShutdownSystem (HANDLE hServer, DWORD ShutdownFlag) |
BOOL WINAPI | WTSWaitSystemEvent (HANDLE hServer, DWORD EventMask, DWORD *pEventFlags) |
HANDLE WINAPI | WTSVirtualChannelOpen (HANDLE hServer, DWORD SessionId, LPSTR pVirtualName) |
HANDLE WINAPI | WTSVirtualChannelOpenEx (DWORD SessionId, LPSTR pVirtualName, DWORD flags) |
BOOL WINAPI | WTSVirtualChannelClose (HANDLE hChannelHandle) |
BOOL WINAPI | WTSVirtualChannelRead (HANDLE hChannelHandle, ULONG TimeOut, PCHAR Buffer, ULONG BufferSize, PULONG pBytesRead) |
BOOL WINAPI | WTSVirtualChannelWrite (HANDLE hChannelHandle, PCHAR Buffer, ULONG Length, PULONG pBytesWritten) |
BOOL WINAPI | WTSVirtualChannelPurgeInput (HANDLE hChannelHandle) |
BOOL WINAPI | WTSVirtualChannelPurgeOutput (HANDLE hChannelHandle) |
BOOL WINAPI | WTSVirtualChannelQuery (HANDLE hChannelHandle, WTS_VIRTUAL_CLASS WtsVirtualClass, PVOID *ppBuffer, DWORD *pBytesReturned) |
VOID WINAPI | WTSFreeMemory (PVOID pMemory) |
BOOL WINAPI | WTSFreeMemoryExW (WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory, ULONG NumberOfEntries) |
BOOL WINAPI | WTSFreeMemoryExA (WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory, ULONG NumberOfEntries) |
BOOL WINAPI | WTSRegisterSessionNotification (HWND hWnd, DWORD dwFlags) |
BOOL WINAPI | WTSUnRegisterSessionNotification (HWND hWnd) |
BOOL WINAPI | WTSRegisterSessionNotificationEx (HANDLE hServer, HWND hWnd, DWORD dwFlags) |
BOOL WINAPI | WTSUnRegisterSessionNotificationEx (HANDLE hServer, HWND hWnd) |
BOOL WINAPI | WTSQueryUserToken (ULONG SessionId, PHANDLE phToken) |
BOOL WINAPI | WTSEnumerateProcessesExW (HANDLE hServer, DWORD *pLevel, DWORD SessionId, LPWSTR *ppProcessInfo, DWORD *pCount) |
BOOL WINAPI | WTSEnumerateProcessesExA (HANDLE hServer, DWORD *pLevel, DWORD SessionId, LPSTR *ppProcessInfo, DWORD *pCount) |
BOOL WINAPI | WTSEnumerateListenersW (HANDLE hServer, PVOID pReserved, DWORD Reserved, PWTSLISTENERNAMEW pListeners, DWORD *pCount) |
BOOL WINAPI | WTSEnumerateListenersA (HANDLE hServer, PVOID pReserved, DWORD Reserved, PWTSLISTENERNAMEA pListeners, DWORD *pCount) |
BOOL WINAPI | WTSQueryListenerConfigW (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPWSTR pListenerName, PWTSLISTENERCONFIGW pBuffer) |
BOOL WINAPI | WTSQueryListenerConfigA (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPSTR pListenerName, PWTSLISTENERCONFIGA pBuffer) |
BOOL WINAPI | WTSCreateListenerW (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPWSTR pListenerName, PWTSLISTENERCONFIGW pBuffer, DWORD flag) |
BOOL WINAPI | WTSCreateListenerA (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPSTR pListenerName, PWTSLISTENERCONFIGA pBuffer, DWORD flag) |
BOOL WINAPI | WTSSetListenerSecurityW (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPWSTR pListenerName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor) |
BOOL WINAPI | WTSSetListenerSecurityA (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPSTR pListenerName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor) |
BOOL WINAPI | WTSGetListenerSecurityW (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPWSTR pListenerName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded) |
BOOL WINAPI | WTSGetListenerSecurityA (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPSTR pListenerName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded) |
BOOL CDECL | WTSEnableChildSessions (BOOL bEnable) |
BOOL CDECL | WTSIsChildSessionsEnabled (PBOOL pbEnabled) |
BOOL CDECL | WTSGetChildSessionId (PULONG pSessionId) |
BOOL CDECL | WTSLogonUser (HANDLE hServer, LPCSTR username, LPCSTR password, LPCSTR domain) |
BOOL CDECL | WTSLogoffUser (HANDLE hServer) |
DWORD WINAPI | WTSGetActiveConsoleSessionId (void) |
const CHAR * | WTSErrorToString (UINT error) |
const CHAR * | WTSSessionStateToString (WTS_CONNECTSTATE_CLASS state) |
BOOL | WTSRegisterWtsApiFunctionTable (const WtsApiFunctionTable *table) |
static BOOL | LoadAndInitialize (char *library) |
static void | InitializeWtsApiStubs_Env (void) |
static void | InitializeWtsApiStubs_FreeRDS (void) |
Variables | |
static HMODULE | g_WtsApiModule = NULL |
static const WtsApiFunctionTable * | g_WtsApi = NULL |
static INIT_ONCE | wtsapiInitOnce = INIT_ONCE_STATIC_INIT |
#define FREERDS_LIBRARY_NAME "libfreerds-fdsapi.so" |
#define TAG WINPR_TAG("wtsapi") |
WinPR: Windows Portable Runtime Windows Terminal Services API
Copyright 2013 Marc-Andre Moreau marca Copyright 2015 DI (FH) Martin Haimberger ndre .more au@g mail. commarti Copyright 2015 Copyright 2015 Thincast Technologies GmbH n.ha imber ger@ thinc ast. 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.
#define WTSAPI_STUB_CALL_BOOL | ( | _name, | |
... | |||
) |
#define WTSAPI_STUB_CALL_HANDLE | ( | _name, | |
... | |||
) |
#define WTSAPI_STUB_CALL_VOID | ( | _name, | |
... | |||
) |
|
static |
|
static |
|
static |
|
static |
VOID WINAPI WTSCloseServer | ( | HANDLE | hServer | ) |
BOOL WINAPI WTSConnectSessionA | ( | ULONG | LogonId, |
ULONG | TargetLogonId, | ||
PSTR | pPassword, | ||
BOOL | bWait | ||
) |
BOOL WINAPI WTSConnectSessionW | ( | ULONG | LogonId, |
ULONG | TargetLogonId, | ||
PWSTR | pPassword, | ||
BOOL | bWait | ||
) |
BOOL WINAPI WTSCreateListenerA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPSTR | pListenerName, | ||
PWTSLISTENERCONFIGA | pBuffer, | ||
DWORD | flag | ||
) |
BOOL WINAPI WTSCreateListenerW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPWSTR | pListenerName, | ||
PWTSLISTENERCONFIGW | pBuffer, | ||
DWORD | flag | ||
) |
BOOL WINAPI WTSDisconnectSession | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
BOOL | bWait | ||
) |
BOOL CDECL WTSEnableChildSessions | ( | BOOL | bEnable | ) |
WTSEnableChildSessions, WTSIsChildSessionsEnabled and WTSGetChildSessionId are not explicitly declared as WINAPI like other WTSAPI functions. Since they are declared as extern "C", we explicitly declare them as CDECL.
BOOL WINAPI WTSEnumerateListenersA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
PWTSLISTENERNAMEA | pListeners, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateListenersW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
PWTSLISTENERNAMEW | pListeners, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateProcessesA | ( | HANDLE | hServer, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_PROCESS_INFOA * | ppProcessInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateProcessesExA | ( | HANDLE | hServer, |
DWORD * | pLevel, | ||
DWORD | SessionId, | ||
LPSTR * | ppProcessInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateProcessesExW | ( | HANDLE | hServer, |
DWORD * | pLevel, | ||
DWORD | SessionId, | ||
LPWSTR * | ppProcessInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateProcessesW | ( | HANDLE | hServer, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_PROCESS_INFOW * | ppProcessInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateServersA | ( | LPSTR | pDomainName, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_SERVER_INFOA * | ppServerInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateServersW | ( | LPWSTR | pDomainName, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_SERVER_INFOW * | ppServerInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateSessionsA | ( | HANDLE | hServer, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_SESSION_INFOA * | ppSessionInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateSessionsExA | ( | HANDLE | hServer, |
DWORD * | pLevel, | ||
DWORD | Filter, | ||
PWTS_SESSION_INFO_1A * | ppSessionInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateSessionsExW | ( | HANDLE | hServer, |
DWORD * | pLevel, | ||
DWORD | Filter, | ||
PWTS_SESSION_INFO_1W * | ppSessionInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI WTSEnumerateSessionsW | ( | HANDLE | hServer, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_SESSION_INFOW * | ppSessionInfo, | ||
DWORD * | pCount | ||
) |
const CHAR* WTSErrorToString | ( | UINT | error | ) |
VOID WINAPI WTSFreeMemory | ( | PVOID | pMemory | ) |
BOOL WINAPI WTSFreeMemoryExA | ( | WTS_TYPE_CLASS | WTSTypeClass, |
PVOID | pMemory, | ||
ULONG | NumberOfEntries | ||
) |
BOOL WINAPI WTSFreeMemoryExW | ( | WTS_TYPE_CLASS | WTSTypeClass, |
PVOID | pMemory, | ||
ULONG | NumberOfEntries | ||
) |
DWORD WINAPI WTSGetActiveConsoleSessionId | ( | void | ) |
WTSGetActiveConsoleSessionId is declared in WinBase.h and exported by kernel32.dll
BOOL CDECL WTSGetChildSessionId | ( | PULONG | pSessionId | ) |
BOOL WINAPI WTSGetListenerSecurityA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPSTR | pListenerName, | ||
SECURITY_INFORMATION | SecurityInformation, | ||
PSECURITY_DESCRIPTOR | pSecurityDescriptor, | ||
DWORD | nLength, | ||
LPDWORD | lpnLengthNeeded | ||
) |
BOOL WINAPI WTSGetListenerSecurityW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPWSTR | pListenerName, | ||
SECURITY_INFORMATION | SecurityInformation, | ||
PSECURITY_DESCRIPTOR | pSecurityDescriptor, | ||
DWORD | nLength, | ||
LPDWORD | lpnLengthNeeded | ||
) |
BOOL CDECL WTSIsChildSessionsEnabled | ( | PBOOL | pbEnabled | ) |
BOOL WINAPI WTSLogoffSession | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
BOOL | bWait | ||
) |
BOOL CDECL WTSLogoffUser | ( | HANDLE | hServer | ) |
BOOL CDECL WTSLogonUser | ( | HANDLE | hServer, |
LPCSTR | username, | ||
LPCSTR | password, | ||
LPCSTR | domain | ||
) |
HANDLE WINAPI WTSOpenServerA | ( | LPSTR | pServerName | ) |
HANDLE WINAPI WTSOpenServerExA | ( | LPSTR | pServerName | ) |
HANDLE WINAPI WTSOpenServerExW | ( | LPWSTR | pServerName | ) |
HANDLE WINAPI WTSOpenServerW | ( | LPWSTR | pServerName | ) |
BOOL WINAPI WTSQueryListenerConfigA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPSTR | pListenerName, | ||
PWTSLISTENERCONFIGA | pBuffer | ||
) |
BOOL WINAPI WTSQueryListenerConfigW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPWSTR | pListenerName, | ||
PWTSLISTENERCONFIGW | pBuffer | ||
) |
BOOL WINAPI WTSQuerySessionInformationA | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
WTS_INFO_CLASS | WTSInfoClass, | ||
LPSTR * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI WTSQuerySessionInformationW | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
WTS_INFO_CLASS | WTSInfoClass, | ||
LPWSTR * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI WTSQueryUserConfigA | ( | LPSTR | pServerName, |
LPSTR | pUserName, | ||
WTS_CONFIG_CLASS | WTSConfigClass, | ||
LPSTR * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI WTSQueryUserConfigW | ( | LPWSTR | pServerName, |
LPWSTR | pUserName, | ||
WTS_CONFIG_CLASS | WTSConfigClass, | ||
LPWSTR * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI WTSQueryUserToken | ( | ULONG | SessionId, |
PHANDLE | phToken | ||
) |
BOOL WINAPI WTSRegisterSessionNotification | ( | HWND | hWnd, |
DWORD | dwFlags | ||
) |
BOOL WINAPI WTSRegisterSessionNotificationEx | ( | HANDLE | hServer, |
HWND | hWnd, | ||
DWORD | dwFlags | ||
) |
BOOL WTSRegisterWtsApiFunctionTable | ( | const WtsApiFunctionTable * | table | ) |
BOOL WINAPI WTSSendMessageA | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
LPSTR | pTitle, | ||
DWORD | TitleLength, | ||
LPSTR | pMessage, | ||
DWORD | MessageLength, | ||
DWORD | Style, | ||
DWORD | Timeout, | ||
DWORD * | pResponse, | ||
BOOL | bWait | ||
) |
BOOL WINAPI WTSSendMessageW | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
LPWSTR | pTitle, | ||
DWORD | TitleLength, | ||
LPWSTR | pMessage, | ||
DWORD | MessageLength, | ||
DWORD | Style, | ||
DWORD | Timeout, | ||
DWORD * | pResponse, | ||
BOOL | bWait | ||
) |
const CHAR* WTSSessionStateToString | ( | WTS_CONNECTSTATE_CLASS | state | ) |
BOOL WINAPI WTSSetListenerSecurityA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPSTR | pListenerName, | ||
SECURITY_INFORMATION | SecurityInformation, | ||
PSECURITY_DESCRIPTOR | pSecurityDescriptor | ||
) |
BOOL WINAPI WTSSetListenerSecurityW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPWSTR | pListenerName, | ||
SECURITY_INFORMATION | SecurityInformation, | ||
PSECURITY_DESCRIPTOR | pSecurityDescriptor | ||
) |
BOOL WINAPI WTSSetUserConfigA | ( | LPSTR | pServerName, |
LPSTR | pUserName, | ||
WTS_CONFIG_CLASS | WTSConfigClass, | ||
LPSTR | pBuffer, | ||
DWORD | DataLength | ||
) |
BOOL WINAPI WTSSetUserConfigW | ( | LPWSTR | pServerName, |
LPWSTR | pUserName, | ||
WTS_CONFIG_CLASS | WTSConfigClass, | ||
LPWSTR | pBuffer, | ||
DWORD | DataLength | ||
) |
BOOL WINAPI WTSShutdownSystem | ( | HANDLE | hServer, |
DWORD | ShutdownFlag | ||
) |
BOOL WINAPI WTSStartRemoteControlSessionA | ( | LPSTR | pTargetServerName, |
ULONG | TargetLogonId, | ||
BYTE | HotkeyVk, | ||
USHORT | HotkeyModifiers | ||
) |
BOOL WINAPI WTSStartRemoteControlSessionExA | ( | LPSTR | pTargetServerName, |
ULONG | TargetLogonId, | ||
BYTE | HotkeyVk, | ||
USHORT | HotkeyModifiers, | ||
DWORD | flags | ||
) |
BOOL WINAPI WTSStartRemoteControlSessionExW | ( | LPWSTR | pTargetServerName, |
ULONG | TargetLogonId, | ||
BYTE | HotkeyVk, | ||
USHORT | HotkeyModifiers, | ||
DWORD | flags | ||
) |
BOOL WINAPI WTSStartRemoteControlSessionW | ( | LPWSTR | pTargetServerName, |
ULONG | TargetLogonId, | ||
BYTE | HotkeyVk, | ||
USHORT | HotkeyModifiers | ||
) |
BOOL WINAPI WTSStopRemoteControlSession | ( | ULONG | LogonId | ) |
BOOL WINAPI WTSTerminateProcess | ( | HANDLE | hServer, |
DWORD | ProcessId, | ||
DWORD | ExitCode | ||
) |
BOOL WINAPI WTSUnRegisterSessionNotification | ( | HWND | hWnd | ) |
BOOL WINAPI WTSUnRegisterSessionNotificationEx | ( | HANDLE | hServer, |
HWND | hWnd | ||
) |
BOOL WINAPI WTSVirtualChannelClose | ( | HANDLE | hChannelHandle | ) |
HANDLE WINAPI WTSVirtualChannelOpen | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
LPSTR | pVirtualName | ||
) |
HANDLE WINAPI WTSVirtualChannelOpenEx | ( | DWORD | SessionId, |
LPSTR | pVirtualName, | ||
DWORD | flags | ||
) |
BOOL WINAPI WTSVirtualChannelPurgeInput | ( | HANDLE | hChannelHandle | ) |
BOOL WINAPI WTSVirtualChannelPurgeOutput | ( | HANDLE | hChannelHandle | ) |
BOOL WINAPI WTSVirtualChannelQuery | ( | HANDLE | hChannelHandle, |
WTS_VIRTUAL_CLASS | WtsVirtualClass, | ||
PVOID * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI WTSVirtualChannelRead | ( | HANDLE | hChannelHandle, |
ULONG | TimeOut, | ||
PCHAR | Buffer, | ||
ULONG | BufferSize, | ||
PULONG | pBytesRead | ||
) |
BOOL WINAPI WTSVirtualChannelWrite | ( | HANDLE | hChannelHandle, |
PCHAR | Buffer, | ||
ULONG | Length, | ||
PULONG | pBytesWritten | ||
) |
BOOL WINAPI WTSWaitSystemEvent | ( | HANDLE | hServer, |
DWORD | EventMask, | ||
DWORD * | pEventFlags | ||
) |
|
static |
|
static |
Remote Desktop Services API Functions: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383464/
|
static |