msbrwsa
import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-brwsa"
Index
- type BROWSER_IDENTIFY_HANDLE
- type SERVER_ENUM_STRUCT
- type SERVER_ENUM_UNION
- type SERVER_INFO_100
- type SERVER_INFO_100_CONTAINER
type BROWSER\_IDENTIFY\_HANDLE
BROWSER_IDENTIFY_HANDLE is a [handle] LPWSTR ([MS-BRWSA] 2.2.2.1): a generic-handle alias for a wide string used as the ServerName parameter of I_BrowserrQueryOtherDomains.
type BROWSER_IDENTIFY_HANDLE = ndr.WSTR
type SERVER\_ENUM\_STRUCT
SERVER_ENUM_STRUCT holds the level and the level-tagged container returned by I_BrowserrQueryOtherDomains ([MS-BRWSA] 2.2.3.2). Level MUST be 100. The switch_is(Level) union’s discriminant is transmitted inline as SERVER_ENUM_UNION.Tag; set both Level and ServerInfo.Tag to 100 before marshalling a request.
type SERVER_ENUM_STRUCT struct {
Level ndr.DWORD
ServerInfo SERVER_ENUM_UNION
}
type SERVER\_ENUM\_UNION
SERVER_ENUM_UNION is the [switch_is(Level)] union of server-enumeration containers ([MS-BRWSA] 2.2.3.2). Tag carries the discriminant (the level) inline, followed by the selected arm. The case-100 arm is a unique pointer to its container (LPSERVER_INFO_100_CONTAINER); the [default] arm carries nothing.
type SERVER_ENUM_UNION struct {
Tag ndr.DWORD `ndr:"switch"`
Level100 *SERVER_INFO_100_CONTAINER `ndr:"case=100,unique"`
}
type SERVER\_INFO\_100
SERVER_INFO_100 contains basic information about a server ([MS-DTYP] 2.3.11, referenced by [MS-BRWSA] 3.1.4.1). It is the element type of SERVER_INFO_100_CONTAINER.Buffer. Sv100Name is a [string] wchar_t* field (pointer_default unique); a nil WSTR is a NULL pointer on the wire.
type SERVER_INFO_100 struct {
Sv100PlatformId ndr.DWORD
Sv100Name ndr.WSTR `ndr:"unique"`
}
type SERVER\_INFO\_100\_CONTAINER
SERVER_INFO_100_CONTAINER contains a count of the entries returned by I_BrowserrQueryOtherDomains together with a pointer to the array of entries ([MS-BRWSA] 2.2.3.1). Buffer is a [size_is(EntriesRead)] LPSERVER_INFO_100 — a unique pointer to a conformant array of SERVER_INFO_100 sized by EntriesRead.
type SERVER_INFO_100_CONTAINER struct {
EntriesRead ndr.DWORD
Buffer []SERVER_INFO_100 `ndr:"unique,size_is=EntriesRead"`
}