msgsvc

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Syntax UUID
	MsgsvcSyntaxUUID = &uuid.UUID{TimeLow: 0x17fdd703, TimeMid: 0x1827, TimeHiAndVersion: 0x4e34, ClockSeqHiAndReserved: 0x79, ClockSeqLow: 0xd4, Node: [6]uint8{0x24, 0xa5, 0x5c, 0x53, 0xbb, 0x37}}
	// Syntax ID
	MsgsvcSyntaxV1_0 = &dcerpc.SyntaxID{IfUUID: MsgsvcSyntaxUUID, IfVersionMajor: 1, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "msrp"
)

Functions

func MsgsvcServerHandle

func MsgsvcServerHandle(ctx context.Context, o MsgsvcServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

func NewMsgsvcServerHandle

func NewMsgsvcServerHandle(o MsgsvcServer) dcerpc.ServerHandle

func RegisterMsgsvcServer

func RegisterMsgsvcServer(conn dcerpc.Conn, o MsgsvcServer, opts ...dcerpc.Option)

Types

type MessageEnum

type MessageEnum struct {
	// Level:   A 32-bit enumerated number that MUST denote the type of structure contained
	// in MsgInfo. It must be either 0 or 1.
	Level uint32 `idl:"name:Level" json:"level"`
	// MsgInfo:  A pointer to a buffer that MUST contain a union that consists of either
	// an MSG_INFO_0_CONTAINER structure or an MSG_INFO_1_CONTAINER structure.
	MessageInfo *MessageEnum_MessageInfo `idl:"name:MsgInfo;switch_is:Level" json:"message_info"`
}

MessageEnum structure represents MSG_ENUM_STRUCT RPC structure.

MSG_ENUM_STRUCT is a container structure holding either one MSG_INFO_0_CONTAINER container or one MSG_INFO_1_CONTAINER container. The structure also has a member to indicate what type of container it contains.

func (*MessageEnum) MarshalNDR

func (o *MessageEnum) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageEnum) UnmarshalNDR

func (o *MessageEnum) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MessageEnum_MessageInfo

type MessageEnum_MessageInfo struct {
	// Types that are assignable to Value
	//
	// *MessageInfo_Level0
	// *MessageInfo_Level1
	Value is_MessageEnum_MessageInfo `json:"value"`
}

MessageEnum_MessageInfo structure represents MSG_ENUM_STRUCT union anonymous member.

MSG_ENUM_STRUCT is a container structure holding either one MSG_INFO_0_CONTAINER container or one MSG_INFO_1_CONTAINER container. The structure also has a member to indicate what type of container it contains.

func (*MessageEnum_MessageInfo) GetValue

func (o *MessageEnum_MessageInfo) GetValue() any

func (*MessageEnum_MessageInfo) MarshalUnionNDR

func (o *MessageEnum_MessageInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*MessageEnum_MessageInfo) NDRSwitchValue

func (o *MessageEnum_MessageInfo) NDRSwitchValue(sw uint32) uint32

func (*MessageEnum_MessageInfo) UnmarshalUnionNDR

func (o *MessageEnum_MessageInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type MessageInfo

type MessageInfo struct {
	// Types that are assignable to Value
	//
	// *MessageInfo_0
	// *MessageInfo_1
	Value is_MessageInfo `json:"value"`
}

MessageInfo structure represents MSG_INFO RPC union.

MSG_INFO is a data structure that contains either an MSG_INFO_0 or an MSG_INFO_1 structure.

func (*MessageInfo) GetValue

func (o *MessageInfo) GetValue() any

func (*MessageInfo) MarshalUnionNDR

func (o *MessageInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*MessageInfo) NDRSwitchValue

func (o *MessageInfo) NDRSwitchValue(sw uint32) uint32

func (*MessageInfo) UnmarshalUnionNDR

func (o *MessageInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type MessageInfo0

type MessageInfo0 struct {
	// msgi0_name:   Pointer to a buffer that receives the name string in UTF-16 format.
	// There are two sources for this parameter:
	//
	// *
	//
	// It is the UTF-16 formatted Name parameter passed in NetrMessageNameGetInfo ( e5845829-414e-43c3-a956-e9e8dd4f6fd3
	// ) (section 3.1.4.3) that has been verified to have an equivalent entry in the message
	// table in section 3.1.1 ( 964e52a9-ddc0-4473-9199-200a417c50ed ) according to the
	// following algorithm.
	//
	//  Function CompareName (passed in Unicode name)
	//    Convert the name to uppercase as specified in [MS-UCODEREF] section 3.1.5.3
	//    Convert the Unicode string to an OEM string as specified in [MS-UCODEREF] section
	// 3.1.5.1.1
	//    If OEM string is < 15 bytes
	//      Pad to 15 bytes with spaces
	//    If OEM string is > 15 bytes
	//      Truncate to 15 bytes
	//    For each table entry
	//      Compare the resulting 15 bytes for equality with the first 15 bytes of the
	// NetBIOS name in the entry
	//      If equal
	//        Return True
	//  End CompareName
	//
	// *
	//
	// It is returned in the InfoStruct parameter of NetrMessageNameEnum ( 14600397-2f79-4704-a902-e4101bbbc0c5
	// ) (section 3.1.4.2) in which it was retrieved from the message table in section 3.1.1,
	// the NetBIOS suffix ( 1bb1da94-fc7e-484c-ad2a-4e0d257a50ce#gt_e0056bac-be0a-488d-86b2-eec9c6bfb947
	// ) and any trailing spaces removed, and the remaining characters converted to UTF-16.
	Name string `idl:"name:msgi0_name;string" json:"name"`
}

MessageInfo0 structure represents MSG_INFO_0 RPC structure.

MSG_INFO_0 is a data structure that contains a string that specifies the recipient name to which a message is to be sent.

func (*MessageInfo0) MarshalNDR

func (o *MessageInfo0) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageInfo0) UnmarshalNDR

func (o *MessageInfo0) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MessageInfo0Container

type MessageInfo0Container struct {
	// EntriesRead:  A 32-bit value that MUST denote the number of entries in Buffer.
	EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
	// Buffer:  Pointer to a buffer that MUST contain one or more MSG_INFO_0 structures.
	Buffer []*MessageInfo0 `idl:"name:Buffer;size_is:(EntriesRead)" json:"buffer"`
}

MessageInfo0Container structure represents MSG_INFO_0_CONTAINER RPC structure.

MSG_INFO_0_CONTAINER is a container structure that holds one or more MSG_INFO_0 structures.

func (*MessageInfo0Container) MarshalNDR

func (o *MessageInfo0Container) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageInfo0Container) UnmarshalNDR

func (o *MessageInfo0Container) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MessageInfo1

type MessageInfo1 struct {
	// msgi1_name:   Pointer to a buffer that receives the name string in UTF-16 format.
	// There are two sources for this parameter:
	//
	// *
	//
	// It is the UTF-16 formatted Name parameter passed in NetrMessageNameGetInfo ( e5845829-414e-43c3-a956-e9e8dd4f6fd3
	// ) (section 3.1.4.3) that has been verified to have an equivalent entry in the message
	// table in section 3.1.1 ( 964e52a9-ddc0-4473-9199-200a417c50ed ) according to the
	// following algorithm.
	//
	//  Function CompareName (passed in Unicode name)
	//    Convert the name to uppercase as specified in [MS-UCODEREF] section 3.1.5.3
	//    Convert the Unicode string to an OEM string as specified in [MS-UCODEREF] section
	// 3.1.5.1.1
	//    If OEM string is < 15 bytes
	//      Pad to 15 bytes with spaces
	//    If OEM string is > 15 bytes
	//      Truncate to 15 bytes
	//    For each table entry
	//      Compare the resulting 15 bytes for equality with the first 15 bytes of the
	// NetBIOS name in the entry
	//      If equal
	//        Return True
	//  End CompareName
	//
	// *
	//
	// It is returned in the InfoStruct parameter of NetrMessageNameEnum ( 14600397-2f79-4704-a902-e4101bbbc0c5
	// ) (section 3.1.4.2) in which it was retrieved from the message table in section 3.1.1,
	// the NetBIOS suffix ( 1bb1da94-fc7e-484c-ad2a-4e0d257a50ce#gt_e0056bac-be0a-488d-86b2-eec9c6bfb947
	// ) and any trailing spaces removed, and the remaining characters converted to UTF-16.
	Name string `idl:"name:msgi1_name;string" json:"name"`
	// msgi1_forward_flag:  MUST be set to zero when sent and ignored on receipt.
	ForwardFlag uint32 `idl:"name:msgi1_forward_flag" json:"forward_flag"`
	// msgi1_forward:  MUST be NULL and ignored on receipt.
	Forward string `idl:"name:msgi1_forward;string" json:"forward"`
}

MessageInfo1 structure represents MSG_INFO_1 RPC structure.

MSG_INFO_1 is a data structure that contains a string that specifies the recipient name to which a message is to be sent.

func (*MessageInfo1) MarshalNDR

func (o *MessageInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageInfo1) UnmarshalNDR

func (o *MessageInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MessageInfo1Container

type MessageInfo1Container struct {
	// EntriesRead:  A 32-bit value that MUST denote the number of entries in Buffer.
	EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
	// Buffer:  A pointer to a variable-size buffer that MUST contain one or more MSG_INFO_1
	// structures.
	Buffer []*MessageInfo1 `idl:"name:Buffer;size_is:(EntriesRead)" json:"buffer"`
}

MessageInfo1Container structure represents MSG_INFO_1_CONTAINER RPC structure.

MSG_INFO_1_CONTAINER is a container structure that holds one or more MSG_INFO_1 structures.

func (*MessageInfo1Container) MarshalNDR

func (o *MessageInfo1Container) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageInfo1Container) UnmarshalNDR

func (o *MessageInfo1Container) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MessageInfo_0

type MessageInfo_0 struct {
	// MsgInfo0:  A pointer to a variable-size buffer that MUST contain an MSG_INFO_0 data
	// structure.
	MessageInfo0 *MessageInfo0 `idl:"name:MsgInfo0" json:"message_info0"`
}

MessageInfo_0 structure represents MSG_INFO RPC union arm.

It has following labels: 0

func (*MessageInfo_0) MarshalNDR

func (o *MessageInfo_0) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageInfo_0) UnmarshalNDR

func (o *MessageInfo_0) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MessageInfo_1

type MessageInfo_1 struct {
	// MsgInfo1:  A pointer to a variable-size buffer that MUST contain an MSG_INFO_1 data
	// structure.
	MessageInfo1 *MessageInfo1 `idl:"name:MsgInfo1" json:"message_info1"`
}

MessageInfo_1 structure represents MSG_INFO RPC union arm.

It has following labels: 1

func (*MessageInfo_1) MarshalNDR

func (o *MessageInfo_1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageInfo_1) UnmarshalNDR

func (o *MessageInfo_1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MessageInfo_Level0

type MessageInfo_Level0 struct {
	// Level0:  If Level is 0, MsgInfo MUST contain an MSG_INFO_0_CONTAINER named Level0.
	Level0 *MessageInfo0Container `idl:"name:Level0" json:"level0"`
}

MessageInfo_Level0 structure represents MessageEnum_MessageInfo RPC union arm.

It has following labels: 0

func (*MessageInfo_Level0) MarshalNDR

func (o *MessageInfo_Level0) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageInfo_Level0) UnmarshalNDR

func (o *MessageInfo_Level0) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MessageInfo_Level1

type MessageInfo_Level1 struct {
	// Level1:  If Level is 1, MsgInfo MUST contain an MSG_INFO_1_CONTAINER named Level1.
	Level1 *MessageInfo1Container `idl:"name:Level1" json:"level1"`
}

MessageInfo_Level1 structure represents MessageEnum_MessageInfo RPC union arm.

It has following labels: 1

func (*MessageInfo_Level1) MarshalNDR

func (o *MessageInfo_Level1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageInfo_Level1) UnmarshalNDR

func (o *MessageInfo_Level1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MessageNameAddRequest

type MessageNameAddRequest struct {
	// ServerName: A pointer to a null-terminated string that MUST denote the NetBIOS name
	// (as specified in [RFC1001] section 5.2) or the fully qualified domain name (FQDN)
	// of the remote computer on which the function is to execute. There are no other constraints
	// on the format of this string. The message server MUST ignore this parameter.
	ServerName string `idl:"name:ServerName;string;pointer:unique" json:"server_name"`
	// MsgName: A null-terminated Unicode string that MUST denote the recipient name to
	// add. The name is not guaranteed to be unique or reachable by this method. The string
	// MUST be represented using Unicode UTF-16.
	MessageName string `idl:"name:MsgName;string" json:"message_name"`
}

MessageNameAddRequest structure represents the NetrMessageNameAdd operation request

func (*MessageNameAddRequest) MarshalNDR

func (o *MessageNameAddRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageNameAddRequest) UnmarshalNDR

func (o *MessageNameAddRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MessageNameAddResponse

type MessageNameAddResponse struct {
	// Return: The NetrMessageNameAdd return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

MessageNameAddResponse structure represents the NetrMessageNameAdd operation response

func (*MessageNameAddResponse) MarshalNDR

func (o *MessageNameAddResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageNameAddResponse) UnmarshalNDR

func (o *MessageNameAddResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MessageNameDeleteRequest

type MessageNameDeleteRequest struct {
	// ServerName: A pointer to a null-terminated string that MUST denote the NetBIOS name
	// (as specified in [RFC1001] section 5.2) or the fully qualified domain name (FQDN)
	// of the remote computer on which the function is to execute. There are no other constraints
	// on the format of this string. The message server MUST ignore this parameter.
	ServerName string `idl:"name:ServerName;string;pointer:unique" json:"server_name"`
	// MsgName:  A null-terminated Unicode UTF-16 string that MUST denote the recipient
	// name to delete. It is limited in length to 16 characters.<10>
	MessageName string `idl:"name:MsgName;string" json:"message_name"`
}

MessageNameDeleteRequest structure represents the NetrMessageNameDel operation request

func (*MessageNameDeleteRequest) MarshalNDR

func (o *MessageNameDeleteRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageNameDeleteRequest) UnmarshalNDR

func (o *MessageNameDeleteRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MessageNameDeleteResponse

type MessageNameDeleteResponse struct {
	// Return: The NetrMessageNameDel return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

MessageNameDeleteResponse structure represents the NetrMessageNameDel operation response

func (*MessageNameDeleteResponse) MarshalNDR

func (o *MessageNameDeleteResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageNameDeleteResponse) UnmarshalNDR

func (o *MessageNameDeleteResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MessageNameEnumRequest

type MessageNameEnumRequest struct {
	// ServerName: A pointer to a null-terminated string that MUST denote the NetBIOS name
	// (as specified in [RFC1001] section 5.2) or the fully qualified domain name (FQDN)
	// of the remote computer on which the function is to execute. There are no other constraints
	// on the format of this string. The message server MUST ignore this parameter.
	ServerName string `idl:"name:ServerName;string;pointer:unique" json:"server_name"`
	// InfoStruct: A pointer to a buffer that receives a variable-length data structure
	// of type MSG_ENUM_STRUCT. The buffer MUST be allocated, and the pointer MUST be assigned
	// by the message server. On return, the structure MUST contain the list of names for
	// which the message server is listening for messages.
	Info *MessageEnum `idl:"name:InfoStruct" json:"info"`
	// PrefMaxLen: A 32-bit number that MUST denote the maximum number of bytes the message
	// server allocates for the buffer. If PrefMaxLen is set to 0xFFFFFFFF, the message
	// server MUST always allocate a buffer that can hold all of the information available
	// in a single MSG_ENUM_STRUCT.
	PrefMaxLength uint32 `idl:"name:PrefMaxLen" json:"pref_max_length"`
	// ResumeHandle: A pointer to a 32-bit number that MUST contain the ordinal value of
	// the name, in the message server's internal list, on which to start enumeration. This
	// MAY be null.
	Resume uint32 `idl:"name:ResumeHandle;pointer:unique" json:"resume"`
}

MessageNameEnumRequest structure represents the NetrMessageNameEnum operation request

func (*MessageNameEnumRequest) MarshalNDR

func (o *MessageNameEnumRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageNameEnumRequest) UnmarshalNDR

func (o *MessageNameEnumRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MessageNameEnumResponse

type MessageNameEnumResponse struct {
	// InfoStruct: A pointer to a buffer that receives a variable-length data structure
	// of type MSG_ENUM_STRUCT. The buffer MUST be allocated, and the pointer MUST be assigned
	// by the message server. On return, the structure MUST contain the list of names for
	// which the message server is listening for messages.
	Info *MessageEnum `idl:"name:InfoStruct" json:"info"`
	// TotalEntries: A pointer to a 32-bit number that, on return, MUST contain the total
	// number of entries in InfoStruct.
	TotalEntries uint32 `idl:"name:TotalEntries" json:"total_entries"`
	// ResumeHandle: A pointer to a 32-bit number that MUST contain the ordinal value of
	// the name, in the message server's internal list, on which to start enumeration. This
	// MAY be null.
	Resume uint32 `idl:"name:ResumeHandle;pointer:unique" json:"resume"`
	// Return: The NetrMessageNameEnum return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

MessageNameEnumResponse structure represents the NetrMessageNameEnum operation response

func (*MessageNameEnumResponse) MarshalNDR

func (o *MessageNameEnumResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageNameEnumResponse) UnmarshalNDR

func (o *MessageNameEnumResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MessageNameGetInfoRequest

type MessageNameGetInfoRequest struct {
	// ServerName: A pointer to a null-terminated string that MUST denote the NetBIOS name
	// (as specified in [RFC1001] section 5.2) or the fully qualified domain name (FQDN)
	// of the remote computer on which the function is to execute. There are no other constraints
	// on the format of this string. The message server MUST ignore this parameter.
	ServerName string `idl:"name:ServerName;string;pointer:unique" json:"server_name"`
	// MsgName:  A null-terminated Unicode UTF-16 string. It MUST denote the recipient
	// name for which to get information. The name is not guaranteed to exist.
	MessageName string `idl:"name:MsgName;string" json:"message_name"`
	// Level:  A 32-bit number that MUST be either 0 or 1. It represents the type of structure
	// contained in the InfoStruct MSG_INFO structure. If Level is 0, InfoStruct MUST contain
	// an MSG_INFO_0 data structure. If Level is 1, InfoStruct MUST contain an MSG_INFO_1
	// data structure.
	Level uint32 `idl:"name:Level" json:"level"`
}

MessageNameGetInfoRequest structure represents the NetrMessageNameGetInfo operation request

func (*MessageNameGetInfoRequest) MarshalNDR

func (o *MessageNameGetInfoRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageNameGetInfoRequest) UnmarshalNDR

func (o *MessageNameGetInfoRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MessageNameGetInfoResponse

type MessageNameGetInfoResponse struct {
	// InfoStruct:  A pointer to a structure of type MSG_INFO.
	Info *MessageInfo `idl:"name:InfoStruct;switch_is:Level" json:"info"`
	// Return: The NetrMessageNameGetInfo return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

MessageNameGetInfoResponse structure represents the NetrMessageNameGetInfo operation response

func (*MessageNameGetInfoResponse) MarshalNDR

func (o *MessageNameGetInfoResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MessageNameGetInfoResponse) UnmarshalNDR

func (o *MessageNameGetInfoResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MsgsvcClient

type MsgsvcClient interface {

	// The NetrMessageNameAdd (Opnum 0) interface is used to configure the message server
	// to listen for messages sent to an additional NetBIOS name.
	//
	// Return Values: A NET_API_STATUS value that indicates return status. If the method
	// returns a negative value, the method has failed. If the 12-bit facility code (bits
	// 16–27) is set to 0x007, the value contains a Win32 error code (defined in [MS-ERREF])
	// in the lower 16 bits. Zero or positive values indicate success, with the lower 16
	// bits in positive nonzero values containing warnings or flags defined in the method
	// implementation.
	//
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	|             RETURN             |                                                                         |
	//	|           VALUE/CODE           |                               DESCRIPTION                               |
	//	|                                |                                                                         |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x00000000 ERROR_SUCCESS       | The operation completed successfully.                                   |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x00000005 ERROR_ACCESS_DENIED | Access is denied.                                                       |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x0000007B ERROR_INVALID_NAME  | The file name, directory name, or volume label syntax is incorrect.     |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x00000859 NERR_NetworkError   | A general network error occurred.                                       |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x0000085C NERR_InternalError  | An internal error occurred.                                             |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x000008E4 NERR_AlreadyExists  | This message alias already exists locally.                              |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x000008E5 NERR_TooManyNames   | The maximum number of added message aliases has been exceeded.          |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x000008F9 NERR_DuplicateName  | The name specified is already in use as a message alias on the network. |
	//	+--------------------------------+-------------------------------------------------------------------------+
	MessageNameAdd(context.Context, *MessageNameAddRequest, ...dcerpc.CallOption) (*MessageNameAddResponse, error)

	// The NetrMessageNameEnum (Opnum 1) interface is used to enumerate the NetBIOS names
	// for which the message server is currently listening for messages.
	//
	// Return Values: A NET_API_STATUS value that indicates return status. If the method
	// returns a negative value, the method has failed. If the 12-bit facility code (bits
	// 16–27) is set to 0x007, the value contains a Win32 error code (defined in [MS-ERREF])
	// in the lower 16 bits. Zero or positive values indicate success, with the lower 16
	// bits in positive nonzero values containing warnings or flags defined in the method
	// implementation.
	//
	//	+------------------------------------+---------------------------------------+
	//	|               RETURN               |                                       |
	//	|             VALUE/CODE             |              DESCRIPTION              |
	//	|                                    |                                       |
	//	+------------------------------------+---------------------------------------+
	//	+------------------------------------+---------------------------------------+
	//	| 0x00000000 NERR_Success            | The operation completed successfully. |
	//	+------------------------------------+---------------------------------------+
	//	| 0x00000005 ERROR_ACCESS_DENIED     | Access is denied.                     |
	//	+------------------------------------+---------------------------------------+
	//	| 0x00000057 ERROR_INVALID_PARAMETER | The parameter is incorrect.           |
	//	+------------------------------------+---------------------------------------+
	//	| 0x0000007C ERROR_INVALID_LEVEL     | The system call level is not correct. |
	//	+------------------------------------+---------------------------------------+
	//	| 0x0000084B NERR_BufTooSmall        | The API return buffer is too small.   |
	//	+------------------------------------+---------------------------------------+
	MessageNameEnum(context.Context, *MessageNameEnumRequest, ...dcerpc.CallOption) (*MessageNameEnumResponse, error)

	// The NetrMessageNameGetInfo (Opnum 2) interface is used to retrieve information from
	// the message server on a NetBIOS name for which the message server is currently listening
	// for messages.
	//
	// Return Values: A NET_API_STATUS value that indicates return status. If the method
	// returns a negative value, the method has failed. If the 12-bit facility code (bits
	// 16–27) is set to 0x007, the value contains a Win32 error code (defined in [MS-ERREF])
	// in the lower 16 bits. Zero or positive values indicate success, with the lower 16
	// bits in positive nonzero values containing warnings or flags defined in the method
	// implementation.
	//
	//	+------------------------------------+---------------------------------------------------------------------+
	//	|               RETURN               |                                                                     |
	//	|             VALUE/CODE             |                             DESCRIPTION                             |
	//	|                                    |                                                                     |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x00000000 NERR_Success            | The operation completed successfully.                               |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x00000005 ERROR_ACCESS_DENIED     | Access is denied.                                                   |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x00000008 ERROR_NOT_ENOUGH_MEMORY | Not enough storage is available to process this command.            |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x0000007B ERROR_INVALID_NAME      | The file name, directory name, or volume label syntax is incorrect. |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x0000007C ERROR_INVALID_LEVEL     | The system call level is not correct.                               |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x000008ED NERR_NotLocalName       | The name is not on the local computer.                              |
	//	+------------------------------------+---------------------------------------------------------------------+
	MessageNameGetInfo(context.Context, *MessageNameGetInfoRequest, ...dcerpc.CallOption) (*MessageNameGetInfoResponse, error)

	// The NetrMessageNameDel (Opnum 3) interface is used to configure the message server
	// to stop listening for messages for a particular NetBIOS name.
	//
	// Return Values: A NET_API_STATUS value that indicates return status. If the method
	// returns a negative value, the method has failed. If the 12-bit facility code (bits
	// 16–27) is set to 0x007, the value contains a Win32 error code (defined in [MS-ERREF])
	// in the lower 16 bits. Zero or positive values indicate success, with the lower 16
	// bits in positive nonzero values containing warnings or flags defined in the method
	// implementation.
	//
	//	+---------------------------------+---------------------------------------------------------------------+
	//	|             RETURN              |                                                                     |
	//	|           VALUE/CODE            |                             DESCRIPTION                             |
	//	|                                 |                                                                     |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x00000000 NERR_Success         | The operation completed successfully.                               |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x00000005 ERROR_ACCESS_DENIED  | Access is denied.                                                   |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x0000007B ERROR_INVALID_NAME   | The file name, directory name, or volume label syntax is incorrect. |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x000008E6 NERR_DelComputerName | The computer name could not be deleted.                             |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x000008EB NERR_NameInUse       | The message alias is currently in use. Try again later.             |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x000008ED NERR_NotLocalName    | The name is not on the local computer.                              |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x000008FB NERR_IncompleteDel   | The message alias was not successfully deleted from all networks.   |
	//	+---------------------------------+---------------------------------------------------------------------+
	MessageNameDelete(context.Context, *MessageNameDeleteRequest, ...dcerpc.CallOption) (*MessageNameDeleteResponse, error)

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error
}

msgsvc interface.

func NewMsgsvcClient

func NewMsgsvcClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (MsgsvcClient, error)

type MsgsvcServer

type MsgsvcServer interface {

	// The NetrMessageNameAdd (Opnum 0) interface is used to configure the message server
	// to listen for messages sent to an additional NetBIOS name.
	//
	// Return Values: A NET_API_STATUS value that indicates return status. If the method
	// returns a negative value, the method has failed. If the 12-bit facility code (bits
	// 16–27) is set to 0x007, the value contains a Win32 error code (defined in [MS-ERREF])
	// in the lower 16 bits. Zero or positive values indicate success, with the lower 16
	// bits in positive nonzero values containing warnings or flags defined in the method
	// implementation.
	//
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	|             RETURN             |                                                                         |
	//	|           VALUE/CODE           |                               DESCRIPTION                               |
	//	|                                |                                                                         |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x00000000 ERROR_SUCCESS       | The operation completed successfully.                                   |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x00000005 ERROR_ACCESS_DENIED | Access is denied.                                                       |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x0000007B ERROR_INVALID_NAME  | The file name, directory name, or volume label syntax is incorrect.     |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x00000859 NERR_NetworkError   | A general network error occurred.                                       |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x0000085C NERR_InternalError  | An internal error occurred.                                             |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x000008E4 NERR_AlreadyExists  | This message alias already exists locally.                              |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x000008E5 NERR_TooManyNames   | The maximum number of added message aliases has been exceeded.          |
	//	+--------------------------------+-------------------------------------------------------------------------+
	//	| 0x000008F9 NERR_DuplicateName  | The name specified is already in use as a message alias on the network. |
	//	+--------------------------------+-------------------------------------------------------------------------+
	MessageNameAdd(context.Context, *MessageNameAddRequest) (*MessageNameAddResponse, error)

	// The NetrMessageNameEnum (Opnum 1) interface is used to enumerate the NetBIOS names
	// for which the message server is currently listening for messages.
	//
	// Return Values: A NET_API_STATUS value that indicates return status. If the method
	// returns a negative value, the method has failed. If the 12-bit facility code (bits
	// 16–27) is set to 0x007, the value contains a Win32 error code (defined in [MS-ERREF])
	// in the lower 16 bits. Zero or positive values indicate success, with the lower 16
	// bits in positive nonzero values containing warnings or flags defined in the method
	// implementation.
	//
	//	+------------------------------------+---------------------------------------+
	//	|               RETURN               |                                       |
	//	|             VALUE/CODE             |              DESCRIPTION              |
	//	|                                    |                                       |
	//	+------------------------------------+---------------------------------------+
	//	+------------------------------------+---------------------------------------+
	//	| 0x00000000 NERR_Success            | The operation completed successfully. |
	//	+------------------------------------+---------------------------------------+
	//	| 0x00000005 ERROR_ACCESS_DENIED     | Access is denied.                     |
	//	+------------------------------------+---------------------------------------+
	//	| 0x00000057 ERROR_INVALID_PARAMETER | The parameter is incorrect.           |
	//	+------------------------------------+---------------------------------------+
	//	| 0x0000007C ERROR_INVALID_LEVEL     | The system call level is not correct. |
	//	+------------------------------------+---------------------------------------+
	//	| 0x0000084B NERR_BufTooSmall        | The API return buffer is too small.   |
	//	+------------------------------------+---------------------------------------+
	MessageNameEnum(context.Context, *MessageNameEnumRequest) (*MessageNameEnumResponse, error)

	// The NetrMessageNameGetInfo (Opnum 2) interface is used to retrieve information from
	// the message server on a NetBIOS name for which the message server is currently listening
	// for messages.
	//
	// Return Values: A NET_API_STATUS value that indicates return status. If the method
	// returns a negative value, the method has failed. If the 12-bit facility code (bits
	// 16–27) is set to 0x007, the value contains a Win32 error code (defined in [MS-ERREF])
	// in the lower 16 bits. Zero or positive values indicate success, with the lower 16
	// bits in positive nonzero values containing warnings or flags defined in the method
	// implementation.
	//
	//	+------------------------------------+---------------------------------------------------------------------+
	//	|               RETURN               |                                                                     |
	//	|             VALUE/CODE             |                             DESCRIPTION                             |
	//	|                                    |                                                                     |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x00000000 NERR_Success            | The operation completed successfully.                               |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x00000005 ERROR_ACCESS_DENIED     | Access is denied.                                                   |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x00000008 ERROR_NOT_ENOUGH_MEMORY | Not enough storage is available to process this command.            |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x0000007B ERROR_INVALID_NAME      | The file name, directory name, or volume label syntax is incorrect. |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x0000007C ERROR_INVALID_LEVEL     | The system call level is not correct.                               |
	//	+------------------------------------+---------------------------------------------------------------------+
	//	| 0x000008ED NERR_NotLocalName       | The name is not on the local computer.                              |
	//	+------------------------------------+---------------------------------------------------------------------+
	MessageNameGetInfo(context.Context, *MessageNameGetInfoRequest) (*MessageNameGetInfoResponse, error)

	// The NetrMessageNameDel (Opnum 3) interface is used to configure the message server
	// to stop listening for messages for a particular NetBIOS name.
	//
	// Return Values: A NET_API_STATUS value that indicates return status. If the method
	// returns a negative value, the method has failed. If the 12-bit facility code (bits
	// 16–27) is set to 0x007, the value contains a Win32 error code (defined in [MS-ERREF])
	// in the lower 16 bits. Zero or positive values indicate success, with the lower 16
	// bits in positive nonzero values containing warnings or flags defined in the method
	// implementation.
	//
	//	+---------------------------------+---------------------------------------------------------------------+
	//	|             RETURN              |                                                                     |
	//	|           VALUE/CODE            |                             DESCRIPTION                             |
	//	|                                 |                                                                     |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x00000000 NERR_Success         | The operation completed successfully.                               |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x00000005 ERROR_ACCESS_DENIED  | Access is denied.                                                   |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x0000007B ERROR_INVALID_NAME   | The file name, directory name, or volume label syntax is incorrect. |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x000008E6 NERR_DelComputerName | The computer name could not be deleted.                             |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x000008EB NERR_NameInUse       | The message alias is currently in use. Try again later.             |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x000008ED NERR_NotLocalName    | The name is not on the local computer.                              |
	//	+---------------------------------+---------------------------------------------------------------------+
	//	| 0x000008FB NERR_IncompleteDel   | The message alias was not successfully deleted from all networks.   |
	//	+---------------------------------+---------------------------------------------------------------------+
	MessageNameDelete(context.Context, *MessageNameDeleteRequest) (*MessageNameDeleteResponse, error)
}

msgsvc server interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL