Interface Wtsapi32

    • Field Detail

      • INSTANCE

        static final Wtsapi32 INSTANCE
      • WTS_CONSOLE_CONNECT

        static final int WTS_CONSOLE_CONNECT
        The session identified by lParam was connected to the console terminal or RemoteFX session.
        See Also:
        Constant Field Values
      • WTS_CONSOLE_DISCONNECT

        static final int WTS_CONSOLE_DISCONNECT
        The session identified by lParam was disconnected from the console terminal or RemoteFX session.
        See Also:
        Constant Field Values
      • WTS_REMOTE_CONNECT

        static final int WTS_REMOTE_CONNECT
        The session identified by lParam was connected to the remote terminal.
        See Also:
        Constant Field Values
      • WTS_REMOTE_DISCONNECT

        static final int WTS_REMOTE_DISCONNECT
        The session identified by lParam was disconnected from the remote terminal.
        See Also:
        Constant Field Values
      • WTS_SESSION_LOGON

        static final int WTS_SESSION_LOGON
        A user has logged on to the session identified by lParam.
        See Also:
        Constant Field Values
      • WTS_SESSION_LOGOFF

        static final int WTS_SESSION_LOGOFF
        A user has logged off the session identified by lParam.
        See Also:
        Constant Field Values
      • WTS_SESSION_LOCK

        static final int WTS_SESSION_LOCK
        The session identified by lParam has been locked.
        See Also:
        Constant Field Values
      • WTS_SESSION_UNLOCK

        static final int WTS_SESSION_UNLOCK
        The session identified by lParam has been unlocked.
        See Also:
        Constant Field Values
      • WTS_SESSION_REMOTE_CONTROL

        static final int WTS_SESSION_REMOTE_CONTROL
        The session identified by lParam has changed its remote controlled status. To determine the status, call GetSystemMetrics and check the SM_REMOTECONTROL metric.
        See Also:
        Constant Field Values
      • WTS_CURRENT_SERVER_HANDLE

        static final WinNT.HANDLE WTS_CURRENT_SERVER_HANDLE
        Specifies the current server
      • WTS_CURRENT_SESSION

        static final int WTS_CURRENT_SESSION
        Specifies the current session (SessionId)
        See Also:
        Constant Field Values
      • WTS_ANY_SESSION

        static final int WTS_ANY_SESSION
        Specifies any-session (SessionId)
        See Also:
        Constant Field Values
      • WINSTATIONNAME_LENGTH

        static final int WINSTATIONNAME_LENGTH
        Defined in winsta.h and present in this interface to properly size the Wtsapi32.WTSINFO structure.
        See Also:
        Constant Field Values
    • Method Detail

      • WTSEnumerateSessions

        boolean WTSEnumerateSessions​(WinNT.HANDLE hServer,
                                     int Reserved,
                                     int Version,
                                     PointerByReference ppSessionInfo,
                                     IntByReference pCount)
        Retrieves a list of sessions on a Remote Desktop Session Host (RD Session Host) server.
        Parameters:
        hServer - A handle to the RD Session Host server.

        You can use the WTSOpenServer or WTSOpenServerEx functions to retrieve a handle to a specific server, or WTS_CURRENT_SERVER_HANDLE to use the RD Session Host server that hosts your application.

        Reserved - This parameter is reserved. It must be zero.
        Version - The version of the enumeration request. This parameter must be 1.
        ppSessionInfo - A pointer to an array of Wtsapi32.WTS_SESSION_INFO structures that represent the retrieved sessions. To free the returned buffer, call the WTSFreeMemory(com.sun.jna.Pointer) function.
        pCount - A pointer to the number of WTS_SESSION_INFO structures returned in the ppSessionInfo parameter.
        Returns:
        Returns false if this function fails. If this function succeeds, returns true.

        To get extended error information, call Kernel32.GetLastError().

      • WTSQuerySessionInformation

        boolean WTSQuerySessionInformation​(WinNT.HANDLE hServer,
                                           int SessionId,
                                           int WTSInfoClass,
                                           PointerByReference ppBuffer,
                                           IntByReference pBytesReturned)
        Retrieves session information for the specified session on the specified Remote Desktop Session Host (RD Session Host) server. It can be used to query session information on local and remote RD Session Host servers.
        Parameters:
        hServer - A handle to an RD Session Host server. Specify a handle opened by the WTSOpenServer function, or specify WTS_CURRENT_SERVER_HANDLE to indicate the RD Session Host server on which your application is running.
        SessionId - A Remote Desktop Services session identifier. To indicate the session in which the calling application is running (or the current session) specify WTS_CURRENT_SESSION. Only specify WTS_CURRENT_SESSION when obtaining session information on the local server. If WTS_CURRENT_SESSION is specified when querying session information on a remote server, the returned session information will be inconsistent. Do not use the returned data.

        You can use the WTSEnumerateSessionsEx function to retrieve the identifiers of all sessions on a specified RD Session Host server.

        To query information for another user's session, you must have Query Information permission.

        WTSInfoClass - A value of the Wtsapi32.WTS_INFO_CLASS enumeration that indicates the type of session information to retrieve in a call to the WTSQuerySessionInformation function.
        ppBuffer - A pointer to a variable that receives a pointer to the requested information. The format and contents of the data depend on the information class specified in the WTSInfoClass parameter. To free the returned buffer, call the WTSFreeMemory(com.sun.jna.Pointer) function.
        pBytesReturned - A pointer to a variable that receives the size, in bytes, of the data returned in ppBuffer.
        Returns:
        If the function succeeds, returns true.

        If the function fails, returns false. To get extended error information, call Kernel32.GetLastError().

      • WTSFreeMemory

        void WTSFreeMemory​(Pointer pMemory)
        Frees memory allocated by a Remote Desktop Services function.
        Parameters:
        pMemory - Pointer to the memory to free.
      • WTSRegisterSessionNotification

        boolean WTSRegisterSessionNotification​(WinDef.HWND hWnd,
                                               int dwFlags)
        Registers the specified window to receive session change notifications.
        Parameters:
        hWnd - [in] Handle of the window to receive session change notifications.
        dwFlags - [in] Specifies which session notifications are to be received. This parameter can be one of the following values.
        Returns:
        If the function succeeds, the return value is TRUE. Otherwise, it is FALSE. To get extended error information, call GetLastError.
      • WTSUnRegisterSessionNotification

        boolean WTSUnRegisterSessionNotification​(WinDef.HWND hWnd)
        Unregisters the specified window so that it receives no further session change notifications.
        Parameters:
        hWnd - [in] Handle of the window to be unregistered from receiving session notifications.
        Returns:
        If the function succeeds, the return value is TRUE. Otherwise, it is FALSE. To get extended error information, call GetLastError.
      • WTSEnumerateProcessesEx

        boolean WTSEnumerateProcessesEx​(WinNT.HANDLE hServer,
                                        IntByReference pLevel,
                                        int SessionID,
                                        PointerByReference ppProcessInfo,
                                        IntByReference pCount)
        Retrieves information about the active processes on the specified Remote Desktop Session Host (RD Session Host) server or Remote Desktop Virtualization Host (RD Virtualization Host) server.
        Parameters:
        hServer - A handle to an RD Session Host server. Specify a handle opened by the WTSOpenServer function, or specify WTS_CURRENT_SERVER_HANDLE to indicate the server on which your application is running.
        pLevel - A pointer to a DWORD variable that, on input, specifies the type of information to return. To return an array of WTS_PROCESS_INFO structures, specify zero. To return an array of WTS_PROCESS_INFO_EX structures, specify one. If you do not specify a valid value for this parameter, on output, WTSEnumerateProcessesEx sets this parameter to one and returns an error. Otherwise, on output, WTSEnumerateProcessesEx does not change the value of this parameter.
        SessionID - The session for which to enumerate processes. To enumerate processes for all sessions on the server, specify WTS_ANY_SESSION.
        ppProcessInfo - A pointer to a variable that receives a pointer to an array of WTS_PROCESS_INFO or WTS_PROCESS_INFO_EX structures. The type of structure is determined by the value passed to the pLevel parameter. Each structure in the array contains information about an active process. When you have finished using the array, free it by calling the WTSFreeMemoryEx function. You should also set the pointer to NULL.
        pCount - A pointer to a variable that receives the number of structures returned in the buffer referenced by the ppProcessInfo parameter.
        Returns:
        If the function succeeds, the return value is a nonzero value. If the function fails, the return value is zero. To get extended error information, call the GetLastError function.
      • WTSFreeMemoryEx

        boolean WTSFreeMemoryEx​(int WTSTypeClass,
                                Pointer pMemory,
                                int NumberOfEntries)
        Frees memory that contains WTS_PROCESS_INFO_EX or WTS_SESSION_INFO_1 structures allocated by a Remote Desktop Services function.
        Parameters:
        WTSTypeClass - A value of the WTS_TYPE_CLASS enumeration type that specifies the type of structures contained in the buffer referenced by the pMemory parameter.
        pMemory - A pointer to the buffer to free.
        NumberOfEntries - The number of elements in the buffer referenced by the pMemory parameter.
        Returns:
        If the function succeeds, the return value is a nonzero value. If the function fails, the return value is zero. To get extended error information, call the GetLastError function.