msmsrp
import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-msrp"
Index
- type MSG_ENUM_STRUCT
- type MSG_ENUM_UNION
- type MSG_INFO
- type MSG_INFO_0
- type MSG_INFO_0_CONTAINER
- type MSG_INFO_1
- type MSG_INFO_1_CONTAINER
type MSG\_ENUM\_STRUCT
MSG_ENUM_STRUCT is the [in,out] enumeration buffer of NetrMessageNameEnum ([MS-MSRP] 2.2.2.5). Level selects the MSG_ENUM_UNION arm; the union carries its own inline discriminant (Tag), which callers must set equal to Level before marshalling.
type MSG_ENUM_STRUCT struct {
Level ndr.DWORD
MsgInfo MSG_ENUM_UNION
}
type MSG\_ENUM\_UNION
MSG_ENUM_UNION is the [switch_is(Level)] union embedded in MSG_ENUM_STRUCT ([MS-MSRP] 2.2.2). The discriminant precedes the selected arm ([C706] 14.3.8). The arms are LPMSG_INFO_*_CONTAINER in the IDL (pointers to the container under pointer_default(unique)), so each is modeled as a unique pointer.
type MSG_ENUM_UNION struct {
Tag ndr.DWORD `ndr:"switch"`
Level0 *MSG_INFO_0_CONTAINER `ndr:"case=0,unique"`
Level1 *MSG_INFO_1_CONTAINER `ndr:"case=1,unique"`
}
type MSG\_INFO
MSG_INFO is the [switch_type(DWORD)] union returned by NetrMessageNameGetInfo ([MS-MSRP] 2.2.2). The discriminant precedes the selected arm ([C706] 14.3.8). The arms are LPMSG_INFO_0/LPMSG_INFO_1 in the IDL (pointers under pointer_default(unique)), so each is modeled as a unique pointer.
type MSG_INFO struct {
Tag ndr.DWORD `ndr:"switch"`
MsgInfo0 *MSG_INFO_0 `ndr:"case=0,unique"`
MsgInfo1 *MSG_INFO_1 `ndr:"case=1,unique"`
}
type MSG\_INFO\_0
MSG_INFO_0 holds a single message alias name ([MS-MSRP] 2.2.2.1). msgi0_name is a [string] wchar_t* (unique under pointer_default(unique)).
type MSG_INFO_0 struct {
Msgi0_name *ndr.WSTR `ndr:"unique"`
}
type MSG\_INFO\_0\_CONTAINER
MSG_INFO_0_CONTAINER is a count-prefixed array of MSG_INFO_0 ([MS-MSRP] 2.2.2.3). Buffer is [size_is(EntriesRead)] LPMSG_INFO_0 — a unique pointer to a conformant array, so it is modeled as a unique slice sized by EntriesRead.
type MSG_INFO_0_CONTAINER struct {
EntriesRead ndr.DWORD
Buffer []MSG_INFO_0 `ndr:"unique,size_is=EntriesRead"`
}
type MSG\_INFO\_1
MSG_INFO_1 holds a message alias name plus its message-forwarding configuration ([MS-MSRP] 2.2.2.2). The name/forward fields are [string] wchar_t* (unique).
type MSG_INFO_1 struct {
Msgi1_name *ndr.WSTR `ndr:"unique"`
Msgi1_forward_flag ndr.DWORD
Msgi1_forward *ndr.WSTR `ndr:"unique"`
}
type MSG\_INFO\_1\_CONTAINER
MSG_INFO_1_CONTAINER is a count-prefixed array of MSG_INFO_1 ([MS-MSRP] 2.2.2.4). Buffer is [size_is(EntriesRead)] LPMSG_INFO_1 — a unique pointer to a conformant array, so it is modeled as a unique slice sized by EntriesRead.
type MSG_INFO_1_CONTAINER struct {
EntriesRead ndr.DWORD
Buffer []MSG_INFO_1 `ndr:"unique,size_is=EntriesRead"`
}