vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
IP-Adresse des Host in einer Citrix/Terminalserver Session ermitten 
Autor: JensWerner
Datum: 24.11.10 11:58

Hallo zusammen,

kann mir jeman evtl. ein Beispiel geben wie ich bei dem folgenden Code die Funktion "WTSClientAdress" ansprechen kann um die IP-Adresse des Host, in einer Citrix / Terminalserver Session, zu ermitteln.
Bei diesem Code wird die Funktion "WTSClientName" angewendet um den Hostname zu ermitteln - ich müsste die IP ermitteln.

Private Const WTS_CURRENT_SERVER_HANDLE As Long = 0&
 
Public Enum WTSInfoClass
    WTSInitialProgram
    WTSApplicationName
    WTSWorkingDirectory
    WTSOEMID
    WTSSessionId
    WTSUserName
    WTSWinStationName
    WTSDomainName
    WTSConnectState
    WTSClientBuilderNumber
    WTSClientName
    WTSClientDirectory
    WTSClientProductId
    WTSClientHardwareId
    WTSClientAddress
    WTSClientDisplay
    WTSClientProtocolType
End Enum
 
'WTS Sitzungsanfragen-Struktur
Public Type WTS_SESSION_QUERY
    SessionID As Long
    pWinStationName As Long
    senum As WTSInfoClass
End Type
 
'Funktionsdefinition API-Aufruf für Session-Daten auslesen
Private Declare Function WTSQuerySessionInformation Lib _
    "wtsapi32.dll" Alias "WTSQuerySessionInformationA" _
    (ByVal hServer As Long, ByVal SessionID As Long, _
    ByVal WTS_INFO_CLASS As WTSInfoClass, ByRef QSbuffer As Long, _
    ByRef pCount As Long) As Long
 
'Funktionsdefinition für API-Aufruf "Speicher freigeben"
Private Declare Sub WTSFreeMemory Lib "wtsapi32.dll" (ByVal pMemory As Long)
 
'String API's
Private Declare Function StrCopyA Lib "kernel32.dll" Alias "lstrcpyA" _
    (ByVal retval As String, ByVal Ptr As Long) As Long
 
Private Declare Function StrLenA Lib "kernel32.dll" Alias "lstrlenA" _
    (ByVal Ptr As Long) As Long
 
'Funktion für Auslesen des RDP-Hostnames
Public Function GetWTSQueryHost(ByVal SessionID As Long) As String
    Dim retval As Long, lpBuffer As Long
    Dim p As Long, Count As Long
    Dim lName As Long, sName As String
 
    'Remotesitzungsinformationen holen
    retval = WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, _
        SessionID, WTSClientName, lpBuffer, Count)
 
    'Funktionsausschnitt
    ' Prozedur erfolgreich
    If retval Then
 
        'Stringlänge ermitteln
        lName = StrLenA(lpBuffer)
        If lName <> 0 Then
 
            'String initialisieren
            sName = String$(lName, 0)
 
            'String kopieren
            Call StrCopyA(sName, lpBuffer)
        End If
 
        ' Speicher wieder freigeben
        WTSFreeMemory lpBuffer
    Else
 
        'Prozedurfehler: Keine RDP, Keine DLL da oder sonstwas faul...
        MsgBox "Fehler beim Auslesen der RDP-Sitzungsdaten. Es konnten" & _
            "keine Informationen gewonnen werden. ", vbCritical, _
            "DLL-Zugriffsfehler " & Err.LastDllError
 
    End If
 
    'Returnwert
    GetWTSQueryHost = sName
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
IP-Adresse des Host in einer Citrix/Terminalserver Session e...5.983JensWerner24.11.10 11:58
Re: IP-Adresse des Host in einer Citrix/Terminalserver Sessi...4.951Elwood24.11.10 12:44
Re: IP-Adresse des Host in einer Citrix/Terminalserver Sessi...4.767Elwood24.11.10 13:21
Re: IP-Adresse des Host in einer Citrix/Terminalserver Sessi...4.752JensWerner24.11.10 17:19
Re: IP-Adresse des Host in einer Citrix/Terminalserver Sessi...4.331Dschings206.12.11 16:39

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel