Generated from Manticore v1.1.6 • 388 packages. View on pkg.go.dev

msmsrp

import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-msrp"

Index

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"`
}