krn.GetClientInfo

This job returns detailed information about a client. The client identifier is obtained from krn.EnumClients. The returned record is the client-side counterpart of a row from krn.SessionEnumDB: identity (session, user and station GUID), user, and origin (computer name and instance/connection name).

1. Input Parameters

Name Type Required Description

Flags

INT

Yes

Currently not supported — pass 0.

Clients

STRING

Yes

Semicolon-separated list of client identifiers (GUIDs). If a list with several identifiers is passed, the job returns the record of the first client.

2. Output Parameters

Name Type Dependency Description

ClientInfo

STRING

—

Base64-encoded buffer that decodes to a single fixed-length record (2296 bytes). The fields are stored as UTF-16LE text at fixed byte offsets. See the structure below.

3. Structure of the ClientInfo buffer

ClientInfo decodes to exactly one fixed-length record (2296 bytes). The individual fields are stored as UTF-16LE text at fixed byte offsets. The following table lists the byte offset for each field and its mapping to the fields from krn.SessionEnumDB:

Offset (bytes) Content Maps to SessionEnumDB field

0

2-byte marker 55 45 ("UE"), followed by padding bytes

—

4

Client/session GUID

sessguid

80

Session GUID (repeated)

sessguid

152

Computer or host name (client-reported case)

servername / statname

320

Instance/connection name (slot of approx. 260 characters)

instname

840

User name (slot of approx. 260 characters)

username

1364

User GUID

userguid

1436

Station GUID

statguid

1508-2295

Further fixed-length fields; zero-filled for local sessions (likely client IP, port, connection time and protocol flags)

—

Via instname the connecting application or service can be identified (e.g. server processes, the Enterprise Manager or cache services).

4. Return Value

(INT): 0 = Job successful, otherwise error code.