FreeRDP
|
#include <freerdp/config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/crt.h>
#include <winpr/synch.h>
#include <winpr/stream.h>
#include <freerdp/log.h>
#include <freerdp/constants.h>
#include <freerdp/server/channels.h>
#include <freerdp/channels/drdynvc.h>
#include <freerdp/utils/drdynvc.h>
#include "rdp.h"
#include "server.h"
Macros | |
#define | TAG FREERDP_TAG("core.server") |
#define | DEBUG_DVC(...) |
#define | DVC_MAX_DATA_PDU_SIZE 1600 |
Functions | |
static rdpPeerChannel * | wts_get_dvc_channel_by_id (WTSVirtualChannelManager *vcm, UINT32 ChannelId) |
static BOOL | wts_queue_receive_data (rdpPeerChannel *channel, const BYTE *Buffer, UINT32 Length) |
static BOOL | wts_queue_send_item (rdpPeerChannel *channel, BYTE *Buffer, UINT32 Length) |
static int | wts_read_variable_uint (wStream *s, int cbLen, UINT32 *val) |
static BOOL | wts_read_drdynvc_capabilities_response (rdpPeerChannel *channel, UINT32 length) |
static BOOL | wts_read_drdynvc_create_response (rdpPeerChannel *channel, wStream *s, UINT32 length) |
static BOOL | wts_read_drdynvc_data_first (rdpPeerChannel *channel, wStream *s, int cbLen, UINT32 length) |
static BOOL | wts_read_drdynvc_data (rdpPeerChannel *channel, wStream *s, UINT32 length) |
static void | wts_read_drdynvc_close_response (rdpPeerChannel *channel) |
static BOOL | wts_read_drdynvc_pdu (rdpPeerChannel *channel) |
static int | wts_write_variable_uint (wStream *s, UINT32 val) |
static void | wts_write_drdynvc_header (wStream *s, BYTE Cmd, UINT32 ChannelId) |
static BOOL | wts_write_drdynvc_create_request (wStream *s, UINT32 ChannelId, const char *ChannelName) |
static BOOL | WTSProcessChannelData (rdpPeerChannel *channel, UINT16 channelId, const BYTE *data, size_t s, UINT32 flags, size_t t) |
static BOOL | WTSReceiveChannelData (freerdp_peer *client, UINT16 channelId, const BYTE *data, size_t size, UINT32 flags, size_t totalSize) |
BOOL | WTSVirtualChannelManagerOpen (HANDLE hServer) |
BOOL | WTSVirtualChannelManagerCheckFileDescriptorEx (HANDLE hServer, BOOL autoOpen) |
BOOL | WTSVirtualChannelManagerCheckFileDescriptor (HANDLE hServer) |
HANDLE | WTSVirtualChannelManagerGetEventHandle (HANDLE hServer) |
static rdpMcsChannel * | wts_get_joined_channel_by_name (rdpMcs *mcs, const char *channel_name) |
static rdpMcsChannel * | wts_get_joined_channel_by_id (rdpMcs *mcs, const UINT16 channel_id) |
BOOL | WTSIsChannelJoinedByName (freerdp_peer *client, const char *channel_name) |
BOOL | WTSIsChannelJoinedById (freerdp_peer *client, const UINT16 channel_id) |
BOOL | WTSVirtualChannelManagerIsChannelJoined (HANDLE hServer, const char *name) |
BYTE | WTSVirtualChannelManagerGetDrdynvcState (HANDLE hServer) |
void | WTSVirtualChannelManagerSetDVCCreationCallback (HANDLE hServer, psDVCCreationStatusCallback cb, void *userdata) |
UINT16 | WTSChannelGetId (freerdp_peer *client, const char *channel_name) |
UINT32 | WTSChannelGetIdByHandle (HANDLE hChannelHandle) |
BOOL | WTSChannelSetHandleByName (freerdp_peer *client, const char *channel_name, void *handle) |
BOOL | WTSChannelSetHandleById (freerdp_peer *client, const UINT16 channel_id, void *handle) |
void * | WTSChannelGetHandleByName (freerdp_peer *client, const char *channel_name) |
void * | WTSChannelGetHandleById (freerdp_peer *client, const UINT16 channel_id) |
const char * | WTSChannelGetName (freerdp_peer *client, UINT16 channel_id) |
char ** | WTSGetAcceptedChannelNames (freerdp_peer *client, size_t *count) |
INT64 | WTSChannelGetOptions (freerdp_peer *client, UINT16 channel_id) |
BOOL WINAPI | FreeRDP_WTSStartRemoteControlSessionW (LPWSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers) |
BOOL WINAPI | FreeRDP_WTSStartRemoteControlSessionA (LPSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers) |
BOOL WINAPI | FreeRDP_WTSStartRemoteControlSessionExW (LPWSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers, DWORD flags) |
BOOL WINAPI | FreeRDP_WTSStartRemoteControlSessionExA (LPSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers, DWORD flags) |
BOOL WINAPI | FreeRDP_WTSStopRemoteControlSession (ULONG LogonId) |
BOOL WINAPI | FreeRDP_WTSConnectSessionW (ULONG LogonId, ULONG TargetLogonId, PWSTR pPassword, BOOL bWait) |
BOOL WINAPI | FreeRDP_WTSConnectSessionA (ULONG LogonId, ULONG TargetLogonId, PSTR pPassword, BOOL bWait) |
BOOL WINAPI | FreeRDP_WTSEnumerateServersW (LPWSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOW *ppServerInfo, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSEnumerateServersA (LPSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOA *ppServerInfo, DWORD *pCount) |
HANDLE WINAPI | FreeRDP_WTSOpenServerW (LPWSTR pServerName) |
static void | wts_virtual_channel_manager_free_message (void *obj) |
static void | channel_free (rdpPeerChannel *channel) |
static void | array_channel_free (void *ptr) |
static BOOL | dynChannelMatch (const void *v1, const void *v2) |
static UINT32 | channelId_Hash (const void *key) |
HANDLE WINAPI | FreeRDP_WTSOpenServerA (LPSTR pServerName) |
HANDLE WINAPI | FreeRDP_WTSOpenServerExW (LPWSTR pServerName) |
HANDLE WINAPI | FreeRDP_WTSOpenServerExA (LPSTR pServerName) |
VOID WINAPI | FreeRDP_WTSCloseServer (HANDLE hServer) |
BOOL WINAPI | FreeRDP_WTSEnumerateSessionsW (HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_SESSION_INFOW *ppSessionInfo, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSEnumerateSessionsA (HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_SESSION_INFOA *ppSessionInfo, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSEnumerateSessionsExW (HANDLE hServer, DWORD *pLevel, DWORD Filter, PWTS_SESSION_INFO_1W *ppSessionInfo, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSEnumerateSessionsExA (HANDLE hServer, DWORD *pLevel, DWORD Filter, PWTS_SESSION_INFO_1A *ppSessionInfo, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSEnumerateProcessesW (HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_PROCESS_INFOW *ppProcessInfo, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSEnumerateProcessesA (HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_PROCESS_INFOA *ppProcessInfo, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSTerminateProcess (HANDLE hServer, DWORD ProcessId, DWORD ExitCode) |
BOOL WINAPI | FreeRDP_WTSQuerySessionInformationW (HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass, LPWSTR *ppBuffer, DWORD *pBytesReturned) |
BOOL WINAPI | FreeRDP_WTSQuerySessionInformationA (HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass, LPSTR *ppBuffer, DWORD *pBytesReturned) |
BOOL WINAPI | FreeRDP_WTSQueryUserConfigW (LPWSTR pServerName, LPWSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPWSTR *ppBuffer, DWORD *pBytesReturned) |
BOOL WINAPI | FreeRDP_WTSQueryUserConfigA (LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPSTR *ppBuffer, DWORD *pBytesReturned) |
BOOL WINAPI | FreeRDP_WTSSetUserConfigW (LPWSTR pServerName, LPWSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPWSTR pBuffer, DWORD DataLength) |
BOOL WINAPI | FreeRDP_WTSSetUserConfigA (LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPSTR pBuffer, DWORD DataLength) |
BOOL WINAPI | FreeRDP_WTSSendMessageW (HANDLE hServer, DWORD SessionId, LPWSTR pTitle, DWORD TitleLength, LPWSTR pMessage, DWORD MessageLength, DWORD Style, DWORD Timeout, DWORD *pResponse, BOOL bWait) |
BOOL WINAPI | FreeRDP_WTSSendMessageA (HANDLE hServer, DWORD SessionId, LPSTR pTitle, DWORD TitleLength, LPSTR pMessage, DWORD MessageLength, DWORD Style, DWORD Timeout, DWORD *pResponse, BOOL bWait) |
BOOL WINAPI | FreeRDP_WTSDisconnectSession (HANDLE hServer, DWORD SessionId, BOOL bWait) |
BOOL WINAPI | FreeRDP_WTSLogoffSession (HANDLE hServer, DWORD SessionId, BOOL bWait) |
BOOL WINAPI | FreeRDP_WTSShutdownSystem (HANDLE hServer, DWORD ShutdownFlag) |
BOOL WINAPI | FreeRDP_WTSWaitSystemEvent (HANDLE hServer, DWORD EventMask, DWORD *pEventFlags) |
static void | peer_channel_queue_free_message (void *obj) |
static rdpPeerChannel * | channel_new (WTSVirtualChannelManager *vcm, freerdp_peer *client, UINT32 ChannelId, UINT16 index, UINT16 type, size_t chunkSize, const char *name) |
HANDLE WINAPI | FreeRDP_WTSVirtualChannelOpen (HANDLE hServer, DWORD SessionId, LPSTR pVirtualName) |
HANDLE WINAPI | FreeRDP_WTSVirtualChannelOpenEx (DWORD SessionId, LPSTR pVirtualName, DWORD flags) |
BOOL WINAPI | FreeRDP_WTSVirtualChannelClose (HANDLE hChannelHandle) |
BOOL WINAPI | FreeRDP_WTSVirtualChannelRead (HANDLE hChannelHandle, ULONG TimeOut, PCHAR Buffer, ULONG BufferSize, PULONG pBytesRead) |
BOOL WINAPI | FreeRDP_WTSVirtualChannelWrite (HANDLE hChannelHandle, PCHAR Buffer, ULONG Length, PULONG pBytesWritten) |
BOOL WINAPI | FreeRDP_WTSVirtualChannelPurgeInput (HANDLE hChannelHandle) |
BOOL WINAPI | FreeRDP_WTSVirtualChannelPurgeOutput (HANDLE hChannelHandle) |
BOOL WINAPI | FreeRDP_WTSVirtualChannelQuery (HANDLE hChannelHandle, WTS_VIRTUAL_CLASS WtsVirtualClass, PVOID *ppBuffer, DWORD *pBytesReturned) |
VOID WINAPI | FreeRDP_WTSFreeMemory (PVOID pMemory) |
BOOL WINAPI | FreeRDP_WTSFreeMemoryExW (WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory, ULONG NumberOfEntries) |
BOOL WINAPI | FreeRDP_WTSFreeMemoryExA (WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory, ULONG NumberOfEntries) |
BOOL WINAPI | FreeRDP_WTSRegisterSessionNotification (HWND hWnd, DWORD dwFlags) |
BOOL WINAPI | FreeRDP_WTSUnRegisterSessionNotification (HWND hWnd) |
BOOL WINAPI | FreeRDP_WTSRegisterSessionNotificationEx (HANDLE hServer, HWND hWnd, DWORD dwFlags) |
BOOL WINAPI | FreeRDP_WTSUnRegisterSessionNotificationEx (HANDLE hServer, HWND hWnd) |
BOOL WINAPI | FreeRDP_WTSQueryUserToken (ULONG SessionId, PHANDLE phToken) |
BOOL WINAPI | FreeRDP_WTSEnumerateProcessesExW (HANDLE hServer, DWORD *pLevel, DWORD SessionId, LPWSTR *ppProcessInfo, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSEnumerateProcessesExA (HANDLE hServer, DWORD *pLevel, DWORD SessionId, LPSTR *ppProcessInfo, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSEnumerateListenersW (HANDLE hServer, PVOID pReserved, DWORD Reserved, PWTSLISTENERNAMEW pListeners, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSEnumerateListenersA (HANDLE hServer, PVOID pReserved, DWORD Reserved, PWTSLISTENERNAMEA pListeners, DWORD *pCount) |
BOOL WINAPI | FreeRDP_WTSQueryListenerConfigW (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPWSTR pListenerName, PWTSLISTENERCONFIGW pBuffer) |
BOOL WINAPI | FreeRDP_WTSQueryListenerConfigA (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPSTR pListenerName, PWTSLISTENERCONFIGA pBuffer) |
BOOL WINAPI | FreeRDP_WTSCreateListenerW (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPWSTR pListenerName, PWTSLISTENERCONFIGW pBuffer, DWORD flag) |
BOOL WINAPI | FreeRDP_WTSCreateListenerA (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPSTR pListenerName, PWTSLISTENERCONFIGA pBuffer, DWORD flag) |
BOOL WINAPI | FreeRDP_WTSSetListenerSecurityW (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPWSTR pListenerName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor) |
BOOL WINAPI | FreeRDP_WTSSetListenerSecurityA (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPSTR pListenerName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor) |
BOOL WINAPI | FreeRDP_WTSGetListenerSecurityW (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPWSTR pListenerName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded) |
BOOL WINAPI | FreeRDP_WTSGetListenerSecurityA (HANDLE hServer, PVOID pReserved, DWORD Reserved, LPSTR pListenerName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded) |
BOOL CDECL | FreeRDP_WTSEnableChildSessions (BOOL bEnable) |
BOOL CDECL | FreeRDP_WTSIsChildSessionsEnabled (PBOOL pbEnabled) |
BOOL CDECL | FreeRDP_WTSGetChildSessionId (PULONG pSessionId) |
DWORD WINAPI | FreeRDP_WTSGetActiveConsoleSessionId (void) |
BOOL WINAPI | FreeRDP_WTSLogoffUser (HANDLE hServer) |
BOOL WINAPI | FreeRDP_WTSLogonUser (HANDLE hServer, LPCSTR username, LPCSTR password, LPCSTR domain) |
void | server_channel_common_free (rdpPeerChannel *channel) |
rdpPeerChannel * | server_channel_common_new (freerdp_peer *client, UINT16 index, UINT32 channelId, size_t chunkSize, const wObject *callback, const char *name) |
Variables | |
static DWORD | g_SessionId = 1 |
static wHashTable * | g_ServerHandles = NULL |
#define DEBUG_DVC | ( | ... | ) |
#define DVC_MAX_DATA_PDU_SIZE 1600 |
#define TAG FREERDP_TAG("core.server") |
FreeRDP: A Remote Desktop Protocol Implementation Server Channels
Copyright 2014 Marc-Andre Moreau marca Copyright 2015 Thincast Technologies GmbH Copyright 2015 DI (FH) Martin Haimberger ndre .more au@g mail. commarti 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.
|
static |
|
static |
|
static |
|
static |
|
static |
VOID WINAPI FreeRDP_WTSCloseServer | ( | HANDLE | hServer | ) |
BOOL WINAPI FreeRDP_WTSConnectSessionA | ( | ULONG | LogonId, |
ULONG | TargetLogonId, | ||
PSTR | pPassword, | ||
BOOL | bWait | ||
) |
BOOL WINAPI FreeRDP_WTSConnectSessionW | ( | ULONG | LogonId, |
ULONG | TargetLogonId, | ||
PWSTR | pPassword, | ||
BOOL | bWait | ||
) |
BOOL WINAPI FreeRDP_WTSCreateListenerA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPSTR | pListenerName, | ||
PWTSLISTENERCONFIGA | pBuffer, | ||
DWORD | flag | ||
) |
BOOL WINAPI FreeRDP_WTSCreateListenerW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPWSTR | pListenerName, | ||
PWTSLISTENERCONFIGW | pBuffer, | ||
DWORD | flag | ||
) |
BOOL WINAPI FreeRDP_WTSDisconnectSession | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
BOOL | bWait | ||
) |
BOOL CDECL FreeRDP_WTSEnableChildSessions | ( | BOOL | bEnable | ) |
BOOL WINAPI FreeRDP_WTSEnumerateListenersA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
PWTSLISTENERNAMEA | pListeners, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateListenersW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
PWTSLISTENERNAMEW | pListeners, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateProcessesA | ( | HANDLE | hServer, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_PROCESS_INFOA * | ppProcessInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateProcessesExA | ( | HANDLE | hServer, |
DWORD * | pLevel, | ||
DWORD | SessionId, | ||
LPSTR * | ppProcessInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateProcessesExW | ( | HANDLE | hServer, |
DWORD * | pLevel, | ||
DWORD | SessionId, | ||
LPWSTR * | ppProcessInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateProcessesW | ( | HANDLE | hServer, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_PROCESS_INFOW * | ppProcessInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateServersA | ( | LPSTR | pDomainName, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_SERVER_INFOA * | ppServerInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateServersW | ( | LPWSTR | pDomainName, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_SERVER_INFOW * | ppServerInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateSessionsA | ( | HANDLE | hServer, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_SESSION_INFOA * | ppSessionInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateSessionsExA | ( | HANDLE | hServer, |
DWORD * | pLevel, | ||
DWORD | Filter, | ||
PWTS_SESSION_INFO_1A * | ppSessionInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateSessionsExW | ( | HANDLE | hServer, |
DWORD * | pLevel, | ||
DWORD | Filter, | ||
PWTS_SESSION_INFO_1W * | ppSessionInfo, | ||
DWORD * | pCount | ||
) |
BOOL WINAPI FreeRDP_WTSEnumerateSessionsW | ( | HANDLE | hServer, |
DWORD | Reserved, | ||
DWORD | Version, | ||
PWTS_SESSION_INFOW * | ppSessionInfo, | ||
DWORD * | pCount | ||
) |
VOID WINAPI FreeRDP_WTSFreeMemory | ( | PVOID | pMemory | ) |
BOOL WINAPI FreeRDP_WTSFreeMemoryExA | ( | WTS_TYPE_CLASS | WTSTypeClass, |
PVOID | pMemory, | ||
ULONG | NumberOfEntries | ||
) |
BOOL WINAPI FreeRDP_WTSFreeMemoryExW | ( | WTS_TYPE_CLASS | WTSTypeClass, |
PVOID | pMemory, | ||
ULONG | NumberOfEntries | ||
) |
DWORD WINAPI FreeRDP_WTSGetActiveConsoleSessionId | ( | void | ) |
BOOL CDECL FreeRDP_WTSGetChildSessionId | ( | PULONG | pSessionId | ) |
BOOL WINAPI FreeRDP_WTSGetListenerSecurityA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPSTR | pListenerName, | ||
SECURITY_INFORMATION | SecurityInformation, | ||
PSECURITY_DESCRIPTOR | pSecurityDescriptor, | ||
DWORD | nLength, | ||
LPDWORD | lpnLengthNeeded | ||
) |
BOOL WINAPI FreeRDP_WTSGetListenerSecurityW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPWSTR | pListenerName, | ||
SECURITY_INFORMATION | SecurityInformation, | ||
PSECURITY_DESCRIPTOR | pSecurityDescriptor, | ||
DWORD | nLength, | ||
LPDWORD | lpnLengthNeeded | ||
) |
BOOL CDECL FreeRDP_WTSIsChildSessionsEnabled | ( | PBOOL | pbEnabled | ) |
BOOL WINAPI FreeRDP_WTSLogoffSession | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
BOOL | bWait | ||
) |
BOOL WINAPI FreeRDP_WTSLogoffUser | ( | HANDLE | hServer | ) |
BOOL WINAPI FreeRDP_WTSLogonUser | ( | HANDLE | hServer, |
LPCSTR | username, | ||
LPCSTR | password, | ||
LPCSTR | domain | ||
) |
HANDLE WINAPI FreeRDP_WTSOpenServerA | ( | LPSTR | pServerName | ) |
HANDLE WINAPI FreeRDP_WTSOpenServerExA | ( | LPSTR | pServerName | ) |
HANDLE WINAPI FreeRDP_WTSOpenServerExW | ( | LPWSTR | pServerName | ) |
HANDLE WINAPI FreeRDP_WTSOpenServerW | ( | LPWSTR | pServerName | ) |
BOOL WINAPI FreeRDP_WTSQueryListenerConfigA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPSTR | pListenerName, | ||
PWTSLISTENERCONFIGA | pBuffer | ||
) |
BOOL WINAPI FreeRDP_WTSQueryListenerConfigW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPWSTR | pListenerName, | ||
PWTSLISTENERCONFIGW | pBuffer | ||
) |
BOOL WINAPI FreeRDP_WTSQuerySessionInformationA | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
WTS_INFO_CLASS | WTSInfoClass, | ||
LPSTR * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI FreeRDP_WTSQuerySessionInformationW | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
WTS_INFO_CLASS | WTSInfoClass, | ||
LPWSTR * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI FreeRDP_WTSQueryUserConfigA | ( | LPSTR | pServerName, |
LPSTR | pUserName, | ||
WTS_CONFIG_CLASS | WTSConfigClass, | ||
LPSTR * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI FreeRDP_WTSQueryUserConfigW | ( | LPWSTR | pServerName, |
LPWSTR | pUserName, | ||
WTS_CONFIG_CLASS | WTSConfigClass, | ||
LPWSTR * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI FreeRDP_WTSQueryUserToken | ( | ULONG | SessionId, |
PHANDLE | phToken | ||
) |
BOOL WINAPI FreeRDP_WTSRegisterSessionNotification | ( | HWND | hWnd, |
DWORD | dwFlags | ||
) |
BOOL WINAPI FreeRDP_WTSRegisterSessionNotificationEx | ( | HANDLE | hServer, |
HWND | hWnd, | ||
DWORD | dwFlags | ||
) |
BOOL WINAPI FreeRDP_WTSSendMessageA | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
LPSTR | pTitle, | ||
DWORD | TitleLength, | ||
LPSTR | pMessage, | ||
DWORD | MessageLength, | ||
DWORD | Style, | ||
DWORD | Timeout, | ||
DWORD * | pResponse, | ||
BOOL | bWait | ||
) |
BOOL WINAPI FreeRDP_WTSSendMessageW | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
LPWSTR | pTitle, | ||
DWORD | TitleLength, | ||
LPWSTR | pMessage, | ||
DWORD | MessageLength, | ||
DWORD | Style, | ||
DWORD | Timeout, | ||
DWORD * | pResponse, | ||
BOOL | bWait | ||
) |
BOOL WINAPI FreeRDP_WTSSetListenerSecurityA | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPSTR | pListenerName, | ||
SECURITY_INFORMATION | SecurityInformation, | ||
PSECURITY_DESCRIPTOR | pSecurityDescriptor | ||
) |
BOOL WINAPI FreeRDP_WTSSetListenerSecurityW | ( | HANDLE | hServer, |
PVOID | pReserved, | ||
DWORD | Reserved, | ||
LPWSTR | pListenerName, | ||
SECURITY_INFORMATION | SecurityInformation, | ||
PSECURITY_DESCRIPTOR | pSecurityDescriptor | ||
) |
BOOL WINAPI FreeRDP_WTSSetUserConfigA | ( | LPSTR | pServerName, |
LPSTR | pUserName, | ||
WTS_CONFIG_CLASS | WTSConfigClass, | ||
LPSTR | pBuffer, | ||
DWORD | DataLength | ||
) |
BOOL WINAPI FreeRDP_WTSSetUserConfigW | ( | LPWSTR | pServerName, |
LPWSTR | pUserName, | ||
WTS_CONFIG_CLASS | WTSConfigClass, | ||
LPWSTR | pBuffer, | ||
DWORD | DataLength | ||
) |
BOOL WINAPI FreeRDP_WTSShutdownSystem | ( | HANDLE | hServer, |
DWORD | ShutdownFlag | ||
) |
BOOL WINAPI FreeRDP_WTSStartRemoteControlSessionA | ( | LPSTR | pTargetServerName, |
ULONG | TargetLogonId, | ||
BYTE | HotkeyVk, | ||
USHORT | HotkeyModifiers | ||
) |
BOOL WINAPI FreeRDP_WTSStartRemoteControlSessionExA | ( | LPSTR | pTargetServerName, |
ULONG | TargetLogonId, | ||
BYTE | HotkeyVk, | ||
USHORT | HotkeyModifiers, | ||
DWORD | flags | ||
) |
BOOL WINAPI FreeRDP_WTSStartRemoteControlSessionExW | ( | LPWSTR | pTargetServerName, |
ULONG | TargetLogonId, | ||
BYTE | HotkeyVk, | ||
USHORT | HotkeyModifiers, | ||
DWORD | flags | ||
) |
BOOL WINAPI FreeRDP_WTSStartRemoteControlSessionW | ( | LPWSTR | pTargetServerName, |
ULONG | TargetLogonId, | ||
BYTE | HotkeyVk, | ||
USHORT | HotkeyModifiers | ||
) |
BOOL WINAPI FreeRDP_WTSStopRemoteControlSession | ( | ULONG | LogonId | ) |
BOOL WINAPI FreeRDP_WTSTerminateProcess | ( | HANDLE | hServer, |
DWORD | ProcessId, | ||
DWORD | ExitCode | ||
) |
BOOL WINAPI FreeRDP_WTSUnRegisterSessionNotification | ( | HWND | hWnd | ) |
BOOL WINAPI FreeRDP_WTSUnRegisterSessionNotificationEx | ( | HANDLE | hServer, |
HWND | hWnd | ||
) |
BOOL WINAPI FreeRDP_WTSVirtualChannelClose | ( | HANDLE | hChannelHandle | ) |
HANDLE WINAPI FreeRDP_WTSVirtualChannelOpen | ( | HANDLE | hServer, |
DWORD | SessionId, | ||
LPSTR | pVirtualName | ||
) |
HANDLE WINAPI FreeRDP_WTSVirtualChannelOpenEx | ( | DWORD | SessionId, |
LPSTR | pVirtualName, | ||
DWORD | flags | ||
) |
BOOL WINAPI FreeRDP_WTSVirtualChannelPurgeInput | ( | HANDLE | hChannelHandle | ) |
BOOL WINAPI FreeRDP_WTSVirtualChannelPurgeOutput | ( | HANDLE | hChannelHandle | ) |
BOOL WINAPI FreeRDP_WTSVirtualChannelQuery | ( | HANDLE | hChannelHandle, |
WTS_VIRTUAL_CLASS | WtsVirtualClass, | ||
PVOID * | ppBuffer, | ||
DWORD * | pBytesReturned | ||
) |
BOOL WINAPI FreeRDP_WTSVirtualChannelRead | ( | HANDLE | hChannelHandle, |
ULONG | TimeOut, | ||
PCHAR | Buffer, | ||
ULONG | BufferSize, | ||
PULONG | pBytesRead | ||
) |
BOOL WINAPI FreeRDP_WTSVirtualChannelWrite | ( | HANDLE | hChannelHandle, |
PCHAR | Buffer, | ||
ULONG | Length, | ||
PULONG | pBytesWritten | ||
) |
BOOL WINAPI FreeRDP_WTSWaitSystemEvent | ( | HANDLE | hServer, |
DWORD | EventMask, | ||
DWORD * | pEventFlags | ||
) |
|
static |
void server_channel_common_free | ( | rdpPeerChannel * | channel | ) |
rdpPeerChannel* server_channel_common_new | ( | freerdp_peer * | client, |
UINT16 | index, | ||
UINT32 | channelId, | ||
size_t | chunkSize, | ||
const wObject * | callback, | ||
const char * | name | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
void* WTSChannelGetHandleById | ( | freerdp_peer * | client, |
const UINT16 | channel_id | ||
) |
void* WTSChannelGetHandleByName | ( | freerdp_peer * | client, |
const char * | channel_name | ||
) |
UINT16 WTSChannelGetId | ( | freerdp_peer * | client, |
const char * | channel_name | ||
) |
Extended FreeRDP WTS functions for channel handling
UINT32 WTSChannelGetIdByHandle | ( | HANDLE | hChannelHandle | ) |
const char* WTSChannelGetName | ( | freerdp_peer * | client, |
UINT16 | channel_id | ||
) |
INT64 WTSChannelGetOptions | ( | freerdp_peer * | client, |
UINT16 | channel_id | ||
) |
BOOL WTSChannelSetHandleById | ( | freerdp_peer * | client, |
const UINT16 | channel_id, | ||
void * | handle | ||
) |
BOOL WTSChannelSetHandleByName | ( | freerdp_peer * | client, |
const char * | channel_name, | ||
void * | handle | ||
) |
char** WTSGetAcceptedChannelNames | ( | freerdp_peer * | client, |
size_t * | count | ||
) |
BOOL WTSIsChannelJoinedById | ( | freerdp_peer * | client, |
const UINT16 | channel_id | ||
) |
BOOL WTSIsChannelJoinedByName | ( | freerdp_peer * | client, |
const char * | channel_name | ||
) |
|
static |
|
static |
BOOL WTSVirtualChannelManagerCheckFileDescriptor | ( | HANDLE | hServer | ) |
BOOL WTSVirtualChannelManagerCheckFileDescriptorEx | ( | HANDLE | hServer, |
BOOL | autoOpen | ||
) |
BYTE WTSVirtualChannelManagerGetDrdynvcState | ( | HANDLE | hServer | ) |
HANDLE WTSVirtualChannelManagerGetEventHandle | ( | HANDLE | hServer | ) |
BOOL WTSVirtualChannelManagerIsChannelJoined | ( | HANDLE | hServer, |
const char * | name | ||
) |
BOOL WTSVirtualChannelManagerOpen | ( | HANDLE | hServer | ) |
WTSVirtualChannelManager functions are FreeRDP extensions to the API.
void WTSVirtualChannelManagerSetDVCCreationCallback | ( | HANDLE | hServer, |
psDVCCreationStatusCallback | cb, | ||
void * | userdata | ||
) |
|
static |
|
static |