rpcinterface_484809d64239471bb5bc61df8c23ac48_1_0
import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/484809d6-4239-471b-b5bc-61df8c23ac48/1.0"
Package rpcinterface_484809d64239471bb5bc61df8c23ac48_1_0 is the descriptor for the TermSrvSession RPC interface, abstract syntax 484809d6-4239-471b-b5bc-61df8c23ac48 version 1.0 ([MS-TSTS]).
Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed: the PipeName (from [MS-TSTS] 1.9) and the status-code table are not derivable from the IDL and were completed by hand.
Index
Constants
Opnums for the on-the-wire methods. Opnums 13, 14, 18, 19, 20 are “not used on the wire” and are omitted.
const (
OpnumRpcOpenSession uint16 = 0
OpnumRpcCloseSession uint16 = 1
OpnumRpcConnect uint16 = 2
OpnumRpcDisconnect uint16 = 3
OpnumRpcLogoff uint16 = 4
OpnumRpcGetUserName uint16 = 5
OpnumRpcGetTerminalName uint16 = 6
OpnumRpcGetState uint16 = 7
OpnumRpcIsSessionDesktopLocked uint16 = 8
OpnumRpcShowMessageBox uint16 = 9
OpnumRpcGetTimes uint16 = 10
OpnumRpcGetSessionCounters uint16 = 11
OpnumRpcGetSessionInformation uint16 = 12
OpnumRpcGetLoggedOnCount uint16 = 15
OpnumRpcGetSessionType uint16 = 16
OpnumRpcGetSessionInformationEx uint16 = 17
OpnumRpcGetActivityId uint16 = 21
)
Status codes for this interface. Its methods return an HRESULT ([MS-ERREF] 2.1); success is S_OK (0x00000000). The values below are the common failures; StatusString falls back to the raw hex for any other value.
const (
StatusSuccess uint32 = 0x00000000 // S_OK
E_ABORT uint32 = 0x80004004
E_FAIL uint32 = 0x80004005
E_OUTOFMEMORY uint32 = 0x8007000e
E_ACCESSDENIED uint32 = 0x80070005
E_INVALIDARG uint32 = 0x80070057
)
PipeName is the IPC$-relative named pipe for the TermSrvSession interface. The endpoint is assigned in [MS-TSTS] section 1.9 (Standards Assignments).
const PipeName = `\LSM_API_service`
Variables
NameToOpnum is the reverse of OpnumToName, built at init so the two never drift.
var NameToOpnum = func() map[string]uint16 {
m := make(map[string]uint16, len(OpnumToName))
for op, name := range OpnumToName {
m[name] = op
}
return m
}()
OpnumToName maps each on-the-wire opnum to its method name; the single source of truth.
var OpnumToName = map[uint16]string{
OpnumRpcOpenSession: "RpcOpenSession",
OpnumRpcCloseSession: "RpcCloseSession",
OpnumRpcConnect: "RpcConnect",
OpnumRpcDisconnect: "RpcDisconnect",
OpnumRpcLogoff: "RpcLogoff",
OpnumRpcGetUserName: "RpcGetUserName",
OpnumRpcGetTerminalName: "RpcGetTerminalName",
OpnumRpcGetState: "RpcGetState",
OpnumRpcIsSessionDesktopLocked: "RpcIsSessionDesktopLocked",
OpnumRpcShowMessageBox: "RpcShowMessageBox",
OpnumRpcGetTimes: "RpcGetTimes",
OpnumRpcGetSessionCounters: "RpcGetSessionCounters",
OpnumRpcGetSessionInformation: "RpcGetSessionInformation",
OpnumRpcGetLoggedOnCount: "RpcGetLoggedOnCount",
OpnumRpcGetSessionType: "RpcGetSessionType",
OpnumRpcGetSessionInformationEx: "RpcGetSessionInformationEx",
OpnumRpcGetActivityId: "RpcGetActivityId",
}
func StatusString
func StatusString(status uint32) string
StatusString returns a mnemonic for the documented status codes, otherwise the hex value.
func SyntaxID
func SyntaxID() syntax.SyntaxID
SyntaxID returns the TermSrvSession abstract syntax identifier: 484809d6-4239-471b-b5bc-61df8c23ac48, version 1.0.