mseerr
import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-eerr"
Index
- type BinaryEEInfo
- type EEAString
- type EEComputerName
- type EEComputerNamePresent
- type EEComputerName_Field
- type EEUString
- type ExtendedErrorInfo
- type ExtendedErrorInfoPtr
- type ExtendedErrorParam
- type ExtendedErrorParamTypesInternal
- type ExtendedErrorParam_Field
type BinaryEEInfo
BinaryEEInfo models the BinaryEEInfo structure ([MS-EERR] 2.2.1.3): an opaque binary blob. PBlob is a unique pointer to a conformant byte array bounded by NSize; nil when NSize is 0.
type BinaryEEInfo struct {
NSize int16
PBlob []uint8 `ndr:"unique,size_is=NSize"`
}
type EEAString
EEAString models the EEAString structure ([MS-EERR] 2.2.1.1): a length-prefixed ANSI (byte) string. PString is a unique pointer to a conformant byte array bounded by NLength; nil when NLength is 0.
type EEAString struct {
NLength int16
PString []uint8 `ndr:"unique,size_is=NLength"`
}
type EEComputerName
EEComputerName models the EEComputerName structure ([MS-EERR] 2.2.3): the name of the computer where an error was detected. Type indicates whether a name is present; Field is the non-encapsulated union selected by it.
type EEComputerName struct {
Type EEComputerNamePresent
Field EEComputerName_Field
}
type EEComputerNamePresent
EEComputerNamePresent is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-EERR]).
type EEComputerNamePresent uint16
const (
EecnpPresent EEComputerNamePresent = 1
EecnpNotPresent EEComputerNamePresent = 2
)
type EEComputerName\_Field
EEComputerName_Field is the non-encapsulated union of EEComputerName, switch_is(Type) with switch_type(short) ([MS-EERR] 2.2.3, [C706] 14.3.8). The 16-bit discriminant (Tag) is transmitted inline as the first part of the union. eecnpPresent (1) selects Name; eecnpNotPresent (2) selects an empty arm (no field).
type EEComputerName_Field struct {
Tag int16 `ndr:"switch"`
Name EEUString `ndr:"case=1"`
}
type EEUString
EEUString models the EEUString structure ([MS-EERR] 2.2.1.2): a length-prefixed Unicode (UTF-16) string. PString is a unique pointer to a conformant array of unsigned shorts bounded by NLength (a character count); nil when NLength is 0.
type EEUString struct {
NLength int16
PString []uint16 `ndr:"unique,size_is=NLength"`
}
type ExtendedErrorInfo
ExtendedErrorInfo models the ExtendedErrorInfo structure ([MS-EERR] 2.2.4): one node in a singly linked chain of error records. Next is a unique self-pointer (nil terminates the chain). Params is a conformant array embedded as the final struct member (not a pointer); its maximum_count is hoisted to the head of the struct on the wire ([C706] 14.3.7).
type ExtendedErrorInfo struct {
Next *ExtendedErrorInfo `ndr:"unique"`
ComputerName EEComputerName
ProcessID ndr.DWORD
TimeStamp int64
GeneratingComponent ndr.DWORD
Status ndr.DWORD
DetectionLocation uint16
Flags uint16
NLen int16
Params []ExtendedErrorParam `ndr:"conformant,size_is=NLen"`
}
type ExtendedErrorInfoPtr
ExtendedErrorInfoPtr is an alias for ExtendedErrorInfo ([MS-EERR]).
type ExtendedErrorInfoPtr = ExtendedErrorInfo
type ExtendedErrorParam
ExtendedErrorParam models the ExtendedErrorParam structure ([MS-EERR] 2.2.2): a tagged value carried in an ExtendedErrorInfo record. Type is the discriminant enum; Field is the non-encapsulated union selected by it.
type ExtendedErrorParam struct {
Type ExtendedErrorParamTypesInternal
Field ExtendedErrorParam_Field
}
type ExtendedErrorParamTypesInternal
ExtendedErrorParamTypesInternal is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-EERR]).
type ExtendedErrorParamTypesInternal uint16
const (
EeptiAnsiString ExtendedErrorParamTypesInternal = 1
EeptiUnicodeString ExtendedErrorParamTypesInternal = 2
EeptiLongVal ExtendedErrorParamTypesInternal = 3
EeptiShortValue ExtendedErrorParamTypesInternal = 4
EeptiPointerValue ExtendedErrorParamTypesInternal = 5
EeptiNone ExtendedErrorParamTypesInternal = 6
EeptiBinary ExtendedErrorParamTypesInternal = 7
)
type ExtendedErrorParam\_Field
ExtendedErrorParam_Field is the non-encapsulated union of ExtendedErrorParam, switch_is(Type) with switch_type(short) ([MS-EERR] 2.2.2, [C706] 14.3.8). The discriminant is a 16-bit short (Tag) transmitted inline as the first part of the union — so the selecting value appears on the wire twice: once as the enclosing ExtendedErrorParam.Type and once here. eeptiNone (6) selects an empty arm (no field).
type ExtendedErrorParam_Field struct {
Tag int16 `ndr:"switch"`
AnsiString EEAString `ndr:"case=1"`
UnicodeString EEUString `ndr:"case=2"`
LVal int32 `ndr:"case=3"`
IVal int16 `ndr:"case=4"`
PVal int64 `ndr:"case=5"`
Blob BinaryEEInfo `ndr:"case=7"`
}