|
JWSCL Documentation
|
Project JEDI Windows Security Code Library (JWSCL)
This unit provides access to Terminal Server api functions through it's key object TJwTerminalServer
The Original Code is JwsclTerminalServer.pas.
The Initial Developer of the Original Code is Remko Weijnen. Portions created by Remko Weijnen are Copyright (C) Remko Weijnen. All rights reserved.
The central object of the JwsclTerminalServer unit is the TJwTerminalServer object. It represents a Terminal Server, the connection to this server and holds the session- and processlist.
Some Key functions of TJwTerminalServer are:
TJwTerminalServer also offers Events to monitor Terminal Server activity such as OnSessionConnect, OnSessionCreate, OnSessionLogon and OnSessionLogoff.
A unique feature of TJwTerminalServer is that it's able to return detailled information about Terminal Server, Sessions and Processes that is not available using the normal Terminal Server API's or Microsoft Tools! This includes detailled process memory usage information and extended session information such as ShadowMode, ShadowState and Remote Address.
The schema belows shows the relations between TJwTerminalServer, the TJwWTSSessionList with TJwWTSSessions and the TJwWTSProcessList with TjwWTSSessions.
Remko Weijnen
|
|
Name |
Description |
|
This class is used by TJwWTSProcessList to provide extended enumeration of processes using Delphi 2005 and newer "for in" syntax. | |
|
This class is used by TJwWTSSessionList to provide extended enumeration of session using Delphi 2005 and newer "for in" syntax. | |
|
AbstractTJwTerminalServer is the central object of JwsclTerminalServer and holds the session- and processlist. TJwTerminalServer offers connection to a Terminal Server which you can specify with the Server property. Key functions of TJwTerminalServer are:
TJwTerminalServer also offers Events to monitor Terminal Server activity such as OnSessionConnect, OnSessionCreate... more | |
|
TJwTerminalServerList is a List of TJwTerminalServer Objects. Each item in the list points to a TJwTerminalServer object that can be queried and manipulated. The list can be filled by adding TJwTerminalServer instances. | |
|
TJwWTSEnumServersThread is a Thread that enumerates all Terminal Server in the specified domain. The Enumeration is done from a thread because it can take some time to enumerate all server, especially over a slow WAN connection. The thread is created by calling the EnumerateServers procedure from a TJwTerminalServer instance. Although allowed you normally don't create a TJwWTSEnumServersThread manually. Enumerated servers are returned by firing the OnServerEnumerated Event from the parent TJwTerminalServer instance. A TJwWTSEnumServersThread is owned by a TJwTerminalServer instance. | |
|
The TJwWTSEventThread Thread waits for Terminal Server Events and notifies the caller by firing Events. It's not necessary to manually create an TJwWTSEventThread Thread because TJwTerminalServer does this automatically after a successfull call to the EnumerateSessions function. TJwWTSEventThread is Owned by a TJwTerminalServer instance | |
|
TJwWTSProcess is the class that encapsulates a process that is running on a Terminal Server. A process is uniquely identified by the Process Id (PID) in combination with it's Creation Time (the OS reused PID's). A TJwWTSProcess is owned by a TJwWTSProcessList. | |
|
TJwWTSProcessList is a List of all Processes running on the Terminal Server and their properties Each item in the list points to a TJwWTSProcess object that can be queried and manipulated. The list is filled by calling the EnumerateProcesses function of the owning TJwTerminalServer instance. | |
|
TJwWTSSession is a Class that encapsulates a Terminal Server session and it's properties A session is uniquely identified with a SessionID, this is a number between 0 and 65535. A TJwWTSSession is owned by a JTwWTSSessionList. | |
|
TJwWTSSessionList is a List of all Sessions running on the Terminal Server and their properties Each item in the list points to a TJwWTSSession object that can be queried and manipulated. The list is filled by calling the EnumerateSessions function of the owning TJwTerminalServer instance. | |
|
TJwWTSSessionShadow class gives access to the ShadowState and Shadowmode of a session. | |
|
This is class TJwWTSSessionStatistics. |
|
|
Name |
Description |
|
TJwShadowMode indicates the Shadow Permissions of a session | |
|
TJwShadowState indicates the Shadow State of a session |
|
|
Name |
Description |
|
The CachedUsername record is use internally in the CachedGetUserFromSessionId function. |
|
Name |
Description |
|
PJwTerminalServer is a pointer to a TJwTerminalServer instance | |
|
PJwTerminalServerList is a pointer to a TJwTerminalServerList | |
|
array of TWtsProcessInfoA | |
|
array of TWtsProcessInfoW | |
|
PJwWTSProcessList is a pointer to a TJwWTSProcessList | |
|
array of TWtsServerInfoA | |
|
array of TWtsServerInfoW | |
|
PJwWTSSession is a pointer to a TJwWTSSession | |
|
array of TWtsSessionInfoA | |
|
array of TWtsSessionInfoW | |
|
PJwWTSSessionList is a pointer to a TJwWTSSessionList | |
|
TJwOnProcessFound is called by EnumerateProcesses everytime a process is enumerated. | |
|
This is type TJwWTSProcessInfoAArray. | |
|
This is type TJwWTSProcessInfoWArray. | |
|
This is type TJwWtsServerInfoAArray. | |
|
This is type TJwWtsServerInfoWArray. | |
|
This is type TJwWTSSessionInfoAArray. | |
|
This is type TJwWTSSessionInfoWArray. |
The contents of this file are subject to the Mozilla Public License Version 1.1 (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.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
Alternatively, the contents of this file may be used under the terms of the GNU Lesser General Public License (the "LGPL License"), in which case the provisions of the LGPL License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the LGPL License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the LGPL License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the LGPL License.
For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html
|
Copyright (c) 2010. All rights reserved.
This help was created by Doc-O-Matic sponsored by toolsfactory software inc. |
|
What do you think about this topic? Send feedback!
|