samr

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: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Syntax UUID
	SamrSyntaxUUID = &uuid.UUID{TimeLow: 0x12345778, TimeMid: 0x1234, TimeHiAndVersion: 0xabcd, ClockSeqHiAndReserved: 0xef, ClockSeqLow: 0x0, Node: [6]uint8{0x1, 0x23, 0x45, 0x67, 0x89, 0xac}}
	// Syntax ID
	SamrSyntaxV1_0 = &dcerpc.SyntaxID{IfUUID: SamrSyntaxUUID, IfVersionMajor: 1, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "samr"
)

Functions

func NewSamrServerHandle

func NewSamrServerHandle(o SamrServer) dcerpc.ServerHandle

func RegisterSamrServer

func RegisterSamrServer(conn dcerpc.Conn, o SamrServer, opts ...dcerpc.Option)

func SamrServerHandle

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

Types

type AddMemberToAliasRequest

type AddMemberToAliasRequest struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// an alias object.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
	// MemberId: The SID of an account to add to the alias.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	MemberID *dtyp.SID `idl:"name:MemberId" json:"member_id"`
}

AddMemberToAliasRequest structure represents the SamrAddMemberToAlias operation request

func (*AddMemberToAliasRequest) MarshalNDR

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

func (*AddMemberToAliasRequest) UnmarshalNDR

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

type AddMemberToAliasResponse

type AddMemberToAliasResponse struct {
	// Return: The SamrAddMemberToAlias return value.
	Return int32 `idl:"name:Return" json:"return"`
}

AddMemberToAliasResponse structure represents the SamrAddMemberToAlias operation response

func (*AddMemberToAliasResponse) MarshalNDR

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

func (*AddMemberToAliasResponse) UnmarshalNDR

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

type AddMemberToGroupRequest

type AddMemberToGroupRequest struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a group object.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
	// MemberId: A RID representing an account to add to the group's membership list.
	MemberID uint32 `idl:"name:MemberId" json:"member_id"`
	// Attributes: The characteristics of the membership relationship. See section 2.2.1.10
	// for legal values and semantics.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Attributes uint32 `idl:"name:Attributes" json:"attributes"`
}

AddMemberToGroupRequest structure represents the SamrAddMemberToGroup operation request

func (*AddMemberToGroupRequest) MarshalNDR

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

func (*AddMemberToGroupRequest) UnmarshalNDR

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

type AddMemberToGroupResponse

type AddMemberToGroupResponse struct {
	// Return: The SamrAddMemberToGroup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

AddMemberToGroupResponse structure represents the SamrAddMemberToGroup operation response

func (*AddMemberToGroupResponse) MarshalNDR

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

func (*AddMemberToGroupResponse) UnmarshalNDR

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

type AddMultipleMembersToAliasRequest

type AddMultipleMembersToAliasRequest struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// an alias object.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
	// MembersBuffer: A structure containing a list of SIDs to add as members to the alias.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	MembersBuffer *SIDArray `idl:"name:MembersBuffer" json:"members_buffer"`
}

AddMultipleMembersToAliasRequest structure represents the SamrAddMultipleMembersToAlias operation request

func (*AddMultipleMembersToAliasRequest) MarshalNDR

func (*AddMultipleMembersToAliasRequest) UnmarshalNDR

type AddMultipleMembersToAliasResponse

type AddMultipleMembersToAliasResponse struct {
	// Return: The SamrAddMultipleMembersToAlias return value.
	Return int32 `idl:"name:Return" json:"return"`
}

AddMultipleMembersToAliasResponse structure represents the SamrAddMultipleMembersToAlias operation response

func (*AddMultipleMembersToAliasResponse) MarshalNDR

func (*AddMultipleMembersToAliasResponse) UnmarshalNDR

type AliasAdmCommentInformation

type AliasAdmCommentInformation struct {
	AdminComment *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
}

AliasAdmCommentInformation structure represents SAMPR_ALIAS_ADM_COMMENT_INFORMATION RPC structure.

The SAMPR_ALIAS_ADM_COMMENT_INFORMATION structure contains alias fields.

For information on each field, see section 2.2.5.1.

func (*AliasAdmCommentInformation) MarshalNDR

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

func (*AliasAdmCommentInformation) UnmarshalNDR

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

type AliasGeneralInformation

type AliasGeneralInformation struct {
	Name         *dtyp.UnicodeString `idl:"name:Name" json:"name"`
	MemberCount  uint32              `idl:"name:MemberCount" json:"member_count"`
	AdminComment *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
}

AliasGeneralInformation structure represents SAMPR_ALIAS_GENERAL_INFORMATION RPC structure.

The SAMPR_ALIAS_GENERAL_INFORMATION structure contains alias fields.

For information on each field, see section 2.2.5.1.

func (*AliasGeneralInformation) MarshalNDR

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

func (*AliasGeneralInformation) UnmarshalNDR

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

type AliasInfoBuffer

type AliasInfoBuffer struct {
	// Types that are assignable to Value
	//
	// *AliasInfoBuffer_General
	// *AliasInfoBuffer_Name
	// *AliasInfoBuffer_AdminComment
	Value is_AliasInfoBuffer `json:"value"`
}

AliasInfoBuffer structure represents SAMPR_ALIAS_INFO_BUFFER RPC union.

The SAMPR_ALIAS_INFO_BUFFER union combines all possible structures used in the SamrSetInformationAlias and SamrQueryInformationAlias methods. For information on each field, see the associated section for the field structure.

func (*AliasInfoBuffer) GetValue

func (o *AliasInfoBuffer) GetValue() any

func (*AliasInfoBuffer) MarshalUnionNDR

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

func (*AliasInfoBuffer) NDRSwitchValue

func (o *AliasInfoBuffer) NDRSwitchValue(sw uint16) uint16

func (*AliasInfoBuffer) UnmarshalUnionNDR

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

type AliasInfoBuffer_AdminComment

type AliasInfoBuffer_AdminComment struct {
	AdminComment *AliasAdmCommentInformation `idl:"name:AdminComment" json:"admin_comment"`
}

AliasInfoBuffer_AdminComment structure represents SAMPR_ALIAS_INFO_BUFFER RPC union arm.

It has following labels: 3

func (*AliasInfoBuffer_AdminComment) MarshalNDR

func (*AliasInfoBuffer_AdminComment) UnmarshalNDR

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

type AliasInfoBuffer_General

type AliasInfoBuffer_General struct {
	General *AliasGeneralInformation `idl:"name:General" json:"general"`
}

AliasInfoBuffer_General structure represents SAMPR_ALIAS_INFO_BUFFER RPC union arm.

It has following labels: 1

func (*AliasInfoBuffer_General) MarshalNDR

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

func (*AliasInfoBuffer_General) UnmarshalNDR

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

type AliasInfoBuffer_Name

type AliasInfoBuffer_Name struct {
	Name *AliasNameInformation `idl:"name:Name" json:"name"`
}

AliasInfoBuffer_Name structure represents SAMPR_ALIAS_INFO_BUFFER RPC union arm.

It has following labels: 2

func (*AliasInfoBuffer_Name) MarshalNDR

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

func (*AliasInfoBuffer_Name) UnmarshalNDR

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

type AliasInformationClass

type AliasInformationClass uint16

AliasInformationClass type represents ALIAS_INFORMATION_CLASS RPC enumeration.

The ALIAS_INFORMATION_CLASS enumeration indicates how to interpret the Buffer parameter for SamrQueryInformationAlias and SamrSetInformationAlias. For a list of the structures associated with each enumeration, see section 2.2.5.6.

var (
	// AliasGeneralInformation:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_ALIAS_GENERAL_INFORMATION structure (see section 2.2.5.2).
	AliasInformationClassGeneralInformation AliasInformationClass = 1
	// AliasNameInformation:  Indicates the Buffer parameter is to be interpreted as a
	// SAMPR_ALIAS_NAME_INFORMATION structure (see section 2.2.5.3).
	AliasInformationClassNameInformation AliasInformationClass = 2
	// AliasAdminCommentInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_ALIAS_ADM_COMMENT_INFORMATION structure (see section 2.2.5.4).
	AliasInformationClassAdminCommentInformation AliasInformationClass = 3
)

func (AliasInformationClass) String

func (o AliasInformationClass) String() string

type AliasNameInformation

type AliasNameInformation struct {
	Name *dtyp.UnicodeString `idl:"name:Name" json:"name"`
}

AliasNameInformation structure represents SAMPR_ALIAS_NAME_INFORMATION RPC structure.

The SAMPR_ALIAS_NAME_INFORMATION structure contains alias fields.

For information on each field, see section 2.2.5.1.

func (*AliasNameInformation) MarshalNDR

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

func (*AliasNameInformation) UnmarshalNDR

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

type ChangePasswordUserRequest

type ChangePasswordUserRequest struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a user object.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
	// LmPresent: If this parameter is zero, the OldLmEncryptedWithNewLm and NewLmEncryptedWithOldLm
	// fields MUST be ignored by the server; otherwise these fields MUST be processed.
	LMPresent uint8 `idl:"name:LmPresent" json:"lm_present"`
	// OldLmEncryptedWithNewLm: The LM hash of the target user's existing password (as presented
	// by the client) encrypted according to the specification of ENCRYPTED_LM_OWF_PASSWORD
	// (section 2.2.7.3), where the key is the LM hash of the new password for the target
	// user (as presented by the client in the NewLmEncryptedWithOldLm parameter).
	OldLMEncryptedWithNewLM *EncryptedLMOWFPassword `idl:"name:OldLmEncryptedWithNewLm;pointer:unique" json:"old_lm_encrypted_with_new_lm"`
	// NewLmEncryptedWithOldLm: The LM hash of the target user's new password (as presented
	// by the client) encrypted according to the specification of ENCRYPTED_LM_OWF_PASSWORD,
	// where the key is the LM hash of the existing password for the target user (as presented
	// by the client in the OldLmEncryptedWithNewLm parameter).
	NewLMEncryptedWithOldLM *EncryptedLMOWFPassword `idl:"name:NewLmEncryptedWithOldLm;pointer:unique" json:"new_lm_encrypted_with_old_lm"`
	// NtPresent: If this parameter is zero, OldNtEncryptedWithNewNt and NewNtEncryptedWithOldNt
	// MUST be ignored by the server; otherwise these fields MUST be processed.
	NTPresent uint8 `idl:"name:NtPresent" json:"nt_present"`
	// OldNtEncryptedWithNewNt: The NT hash of the target user's existing password (as presented
	// by the client) encrypted according to the specification of ENCRYPTED_NT_OWF_PASSWORD
	// (section 2.2.7.3), where the key is the NT hash of the new password for the target
	// user (as presented by the client).
	OldNTEncryptedWithNewNT *EncryptedNTOWFPassword `idl:"name:OldNtEncryptedWithNewNt;pointer:unique" json:"old_nt_encrypted_with_new_nt"`
	// NewNtEncryptedWithOldNt: The NT hash of the target user's new password (as presented
	// by the client) encrypted according to the specification of ENCRYPTED_NT_OWF_PASSWORD,
	// where the key is the NT hash of the existing password for the target user (as presented
	// by the client).
	NewNTEncryptedWithOldNT *EncryptedNTOWFPassword `idl:"name:NewNtEncryptedWithOldNt;pointer:unique" json:"new_nt_encrypted_with_old_nt"`
	// NtCrossEncryptionPresent: If this parameter is zero, NewNtEncryptedWithNewLm MUST
	// be ignored; otherwise, this field MUST be processed.
	NTCrossEncryptionPresent uint8 `idl:"name:NtCrossEncryptionPresent" json:"nt_cross_encryption_present"`
	// NewNtEncryptedWithNewLm: The NT hash of the target user's new password (as presented
	// by the client) encrypted according to the specification of ENCRYPTED_NT_OWF_PASSWORD,
	// where the key is the LM hash of the new password for the target user (as presented
	// by the client).
	NewNTEncryptedWithNewLM *EncryptedNTOWFPassword `idl:"name:NewNtEncryptedWithNewLm;pointer:unique" json:"new_nt_encrypted_with_new_lm"`
	// LmCrossEncryptionPresent: If this parameter is zero, NewLmEncryptedWithNewNt MUST
	// be ignored; otherwise, this field MUST be processed.
	LMCrossEncryptionPresent uint8 `idl:"name:LmCrossEncryptionPresent" json:"lm_cross_encryption_present"`
	// NewLmEncryptedWithNewNt: The LM hash of the target user's new password (as presented
	// by the client) encrypted according to the specification of ENCRYPTED_LM_OWF_PASSWORD,
	// where the key is the NT hash of the new password for the target user (as presented
	// by the client).
	NewLMEncryptedWithNewNT *EncryptedLMOWFPassword `idl:"name:NewLmEncryptedWithNewNt;pointer:unique" json:"new_lm_encrypted_with_new_nt"`
}

ChangePasswordUserRequest structure represents the SamrChangePasswordUser operation request

func (*ChangePasswordUserRequest) MarshalNDR

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

func (*ChangePasswordUserRequest) UnmarshalNDR

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

type ChangePasswordUserResponse

type ChangePasswordUserResponse struct {
	// Return: The SamrChangePasswordUser return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ChangePasswordUserResponse structure represents the SamrChangePasswordUser operation response

func (*ChangePasswordUserResponse) MarshalNDR

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

func (*ChangePasswordUserResponse) UnmarshalNDR

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

type CloseHandleRequest

type CloseHandleRequest struct {
	// SamHandle: An RPC context handle, as specified in section 2.2.7.2, representing any
	// context handle returned from this interface.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	SAMHandle *Handle `idl:"name:SamHandle" json:"sam_handle"`
}

CloseHandleRequest structure represents the SamrCloseHandle operation request

func (*CloseHandleRequest) MarshalNDR

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

func (*CloseHandleRequest) UnmarshalNDR

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

type CloseHandleResponse

type CloseHandleResponse struct {
	// SamHandle: An RPC context handle, as specified in section 2.2.7.2, representing any
	// context handle returned from this interface.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	SAMHandle *Handle `idl:"name:SamHandle" json:"sam_handle"`
	// Return: The SamrCloseHandle return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CloseHandleResponse structure represents the SamrCloseHandle operation response

func (*CloseHandleResponse) MarshalNDR

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

func (*CloseHandleResponse) UnmarshalNDR

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

type Connect2Request

type Connect2Request struct {
	// ServerName: The null-terminated NETBIOS name of the server; this parameter MAY<46>
	// be ignored on receipt.
	ServerName string `idl:"name:ServerName;string;pointer:unique" json:"server_name"`
	// DesiredAccess: An ACCESS_MASK that indicates the access requested for ServerHandle
	// on output. See section 2.2.1.3 for a listing of possible values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
}

Connect2Request structure represents the SamrConnect2 operation request

func (*Connect2Request) MarshalNDR

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

func (*Connect2Request) UnmarshalNDR

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

type Connect2Response

type Connect2Response struct {
	// ServerHandle: An RPC context handle, as specified in section 2.2.7.2.
	Server *Handle `idl:"name:ServerHandle" json:"server"`
	// Return: The SamrConnect2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

Connect2Response structure represents the SamrConnect2 operation response

func (*Connect2Response) MarshalNDR

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

func (*Connect2Response) UnmarshalNDR

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

type Connect4Request

type Connect4Request struct {
	// ServerName: The null-terminated NETBIOS name of the server; this parameter MAY<45>
	// be ignored on receipt.
	ServerName string `idl:"name:ServerName;string;pointer:unique" json:"server_name"`
	// ClientRevision: Indicates the revision (for this protocol) of the client. The value
	// MUST be set to 2 and MUST be ignored.
	ClientRevision uint32 `idl:"name:ClientRevision" json:"client_revision"`
	// DesiredAccess: An ACCESS_MASK that indicates the access requested for ServerHandle
	// on output. See section 2.2.1.3 for a listing of possible values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
}

Connect4Request structure represents the SamrConnect4 operation request

func (*Connect4Request) MarshalNDR

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

func (*Connect4Request) UnmarshalNDR

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

type Connect4Response

type Connect4Response struct {
	// ServerHandle: An RPC context handle, as specified in section 2.2.7.2.
	Server *Handle `idl:"name:ServerHandle" json:"server"`
	// Return: The SamrConnect4 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

Connect4Response structure represents the SamrConnect4 operation response

func (*Connect4Response) MarshalNDR

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

func (*Connect4Response) UnmarshalNDR

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

type Connect5Request

type Connect5Request struct {
	// ServerName: The null-terminated NETBIOS name of the server; this parameter MAY<44>
	// be ignored on receipt.
	ServerName string `idl:"name:ServerName;string;pointer:unique" json:"server_name"`
	// DesiredAccess: An ACCESS_MASK that indicates the access requested for ServerHandle
	// on output. For a listing of possible values, see section 2.2.1.3.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
	// InVersion: Indicates which field of the InRevisionInfo union is used.
	InVersion uint32 `idl:"name:InVersion" json:"in_version"`
	// InRevisionInfo: Revision information. For details, see the definition of the SAMPR_REVISION_INFO_V1
	// structure, which is contained in the SAMPR_REVISION_INFO union.
	InRevisionInfo *RevisionInfo `idl:"name:InRevisionInfo;switch_is:InVersion" json:"in_revision_info"`
}

Connect5Request structure represents the SamrConnect5 operation request

func (*Connect5Request) MarshalNDR

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

func (*Connect5Request) UnmarshalNDR

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

type Connect5Response

type Connect5Response struct {
	// OutVersion: Indicates which field of the OutRevisionInfo union is used.
	OutVersion uint32 `idl:"name:OutVersion" json:"out_version"`
	// OutRevisionInfo: Revision information. For details, see the definition of the SAMPR_REVISION_INFO_V1
	// structure, which is contained in the SAMPR_REVISION_INFO union.
	OutRevisionInfo *RevisionInfo `idl:"name:OutRevisionInfo;switch_is:*OutVersion" json:"out_revision_info"`
	// ServerHandle: An RPC context handle, as specified in section 2.2.7.2.
	Server *Handle `idl:"name:ServerHandle" json:"server"`
	// Return: The SamrConnect5 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

Connect5Response structure represents the SamrConnect5 operation response

func (*Connect5Response) MarshalNDR

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

func (*Connect5Response) UnmarshalNDR

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

type ConnectRequest

type ConnectRequest struct {
	// ServerName: The first character of the NETBIOS name of the server; this parameter
	// MAY<47> be ignored on receipt.
	ServerName string `idl:"name:ServerName;pointer:unique" json:"server_name"`
	// DesiredAccess: An ACCESS_MASK that indicates the access requested for ServerHandle
	// upon output. See section 2.2.1.3 for a listing of possible values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
}

ConnectRequest structure represents the SamrConnect operation request

func (*ConnectRequest) MarshalNDR

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

func (*ConnectRequest) UnmarshalNDR

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

type ConnectResponse

type ConnectResponse struct {
	// ServerHandle: An RPC context handle, as specified in section 2.2.7.2.
	Server *Handle `idl:"name:ServerHandle" json:"server"`
	// Return: The SamrConnect return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ConnectResponse structure represents the SamrConnect operation response

func (*ConnectResponse) MarshalNDR

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

func (*ConnectResponse) UnmarshalNDR

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

type CreateAliasInDomainRequest

type CreateAliasInDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// AccountName: The value to use as the name of the alias. Details on how this value
	// maps to the data model are provided later in this section.
	AccountName *dtyp.UnicodeString `idl:"name:AccountName" json:"account_name"`
	// DesiredAccess: The access requested on the AliasHandle on output. See section 2.2.1.6
	// for a listing of possible values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
}

CreateAliasInDomainRequest structure represents the SamrCreateAliasInDomain operation request

func (*CreateAliasInDomainRequest) MarshalNDR

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

func (*CreateAliasInDomainRequest) UnmarshalNDR

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

type CreateAliasInDomainResponse

type CreateAliasInDomainResponse struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
	// RelativeId: The RID of the newly created alias.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	//
	// This method MUST be processed per the specifications in section 3.1.5.4.1, using
	// a group type of GROUP_TYPE_SECURITY_RESOURCE and using access mask values from section
	// 2.2.1.6.
	RelativeID uint32 `idl:"name:RelativeId" json:"relative_id"`
	// Return: The SamrCreateAliasInDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CreateAliasInDomainResponse structure represents the SamrCreateAliasInDomain operation response

func (*CreateAliasInDomainResponse) MarshalNDR

func (*CreateAliasInDomainResponse) UnmarshalNDR

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

type CreateGroupInDomainRequest

type CreateGroupInDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// Name: The value to use as the name of the group. Details on how this value maps to
	// the data model are provided later in this section.
	Name *dtyp.UnicodeString `idl:"name:Name" json:"name"`
	// DesiredAccess: The access requested on the GroupHandle on output. See section 2.2.1.5
	// for a listing of possible values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
}

CreateGroupInDomainRequest structure represents the SamrCreateGroupInDomain operation request

func (*CreateGroupInDomainRequest) MarshalNDR

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

func (*CreateGroupInDomainRequest) UnmarshalNDR

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

type CreateGroupInDomainResponse

type CreateGroupInDomainResponse struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
	// RelativeId: The RID of the newly created group.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	//
	// This method MUST be processed per the specifications in section 3.1.5.4.1, using
	// a group type of GROUP_TYPE_SECURITY_ACCOUNT and using access mask values from section
	// 2.2.1.5.
	RelativeID uint32 `idl:"name:RelativeId" json:"relative_id"`
	// Return: The SamrCreateGroupInDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CreateGroupInDomainResponse structure represents the SamrCreateGroupInDomain operation response

func (*CreateGroupInDomainResponse) MarshalNDR

func (*CreateGroupInDomainResponse) UnmarshalNDR

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

type CreateUser2InDomainRequest

type CreateUser2InDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// Name: The value to use as the name of the user. See the message processing shown
	// later in this section for details on how this value maps to the data model.
	Name *dtyp.UnicodeString `idl:"name:Name" json:"name"`
	// AccountType: A 32-bit value indicating the type of account to create. See the message
	// processing shown later in this section for possible values.
	AccountType uint32 `idl:"name:AccountType" json:"account_type"`
	// DesiredAccess: The access requested on the UserHandle on output. See section 2.2.1.7
	// for a listing of possible values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
}

CreateUser2InDomainRequest structure represents the SamrCreateUser2InDomain operation request

func (*CreateUser2InDomainRequest) MarshalNDR

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

func (*CreateUser2InDomainRequest) UnmarshalNDR

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

type CreateUser2InDomainResponse

type CreateUser2InDomainResponse struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
	// GrantedAccess: The access granted on UserHandle.
	GrantedAccess uint32 `idl:"name:GrantedAccess" json:"granted_access"`
	// RelativeId: The RID of the newly created user.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	RelativeID uint32 `idl:"name:RelativeId" json:"relative_id"`
	// Return: The SamrCreateUser2InDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CreateUser2InDomainResponse structure represents the SamrCreateUser2InDomain operation response

func (*CreateUser2InDomainResponse) MarshalNDR

func (*CreateUser2InDomainResponse) UnmarshalNDR

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

type CreateUserInDomainRequest

type CreateUserInDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// Name: The value to use as the name of the user. See the message processing shown
	// later in this section for details on how this value maps to the data model.
	Name *dtyp.UnicodeString `idl:"name:Name" json:"name"`
	// DesiredAccess: The access requested on the UserHandle on output. See section 2.2.1.7
	// for a listing of possible values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
}

CreateUserInDomainRequest structure represents the SamrCreateUserInDomain operation request

func (*CreateUserInDomainRequest) MarshalNDR

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

func (*CreateUserInDomainRequest) UnmarshalNDR

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

type CreateUserInDomainResponse

type CreateUserInDomainResponse struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
	// RelativeId: The RID of the newly created user.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	RelativeID uint32 `idl:"name:RelativeId" json:"relative_id"`
	// Return: The SamrCreateUserInDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CreateUserInDomainResponse structure represents the SamrCreateUserInDomain operation response

func (*CreateUserInDomainResponse) MarshalNDR

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

func (*CreateUserInDomainResponse) UnmarshalNDR

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

type DeleteAliasRequest

type DeleteAliasRequest struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// an alias object.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
}

DeleteAliasRequest structure represents the SamrDeleteAlias operation request

func (*DeleteAliasRequest) MarshalNDR

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

func (*DeleteAliasRequest) UnmarshalNDR

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

type DeleteAliasResponse

type DeleteAliasResponse struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// an alias object.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
	// Return: The SamrDeleteAlias return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteAliasResponse structure represents the SamrDeleteAlias operation response

func (*DeleteAliasResponse) MarshalNDR

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

func (*DeleteAliasResponse) UnmarshalNDR

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

type DeleteGroupRequest

type DeleteGroupRequest struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a group object.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
}

DeleteGroupRequest structure represents the SamrDeleteGroup operation request

func (*DeleteGroupRequest) MarshalNDR

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

func (*DeleteGroupRequest) UnmarshalNDR

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

type DeleteGroupResponse

type DeleteGroupResponse struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a group object.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
	// Return: The SamrDeleteGroup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteGroupResponse structure represents the SamrDeleteGroup operation response

func (*DeleteGroupResponse) MarshalNDR

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

func (*DeleteGroupResponse) UnmarshalNDR

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

type DeleteUserRequest

type DeleteUserRequest struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a user object.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
}

DeleteUserRequest structure represents the SamrDeleteUser operation request

func (*DeleteUserRequest) MarshalNDR

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

func (*DeleteUserRequest) UnmarshalNDR

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

type DeleteUserResponse

type DeleteUserResponse struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a user object.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
	// Return: The SamrDeleteUser return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteUserResponse structure represents the SamrDeleteUser operation response

func (*DeleteUserResponse) MarshalNDR

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

func (*DeleteUserResponse) UnmarshalNDR

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

type DisplayInfoBuffer

type DisplayInfoBuffer struct {
	// Types that are assignable to Value
	//
	// *DisplayInfoBuffer_UserInformation
	// *DisplayInfoBuffer_MachineInformation
	// *DisplayInfoBuffer_GroupInformation
	// *DisplayInfoBuffer_OEMUserInformation
	// *DisplayInfoBuffer_OEMGroupInformation
	Value is_DisplayInfoBuffer `json:"value"`
}

DisplayInfoBuffer structure represents SAMPR_DISPLAY_INFO_BUFFER RPC union.

The SAMPR_DISPLAY_INFO_BUFFER union is a union of display structures returned by the SamrQueryDisplayInformation family of methods (see section 3.1.5.3). For details on each field, see the associated section for the field structure.

func (*DisplayInfoBuffer) GetValue

func (o *DisplayInfoBuffer) GetValue() any

func (*DisplayInfoBuffer) MarshalUnionNDR

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

func (*DisplayInfoBuffer) NDRSwitchValue

func (o *DisplayInfoBuffer) NDRSwitchValue(sw uint16) uint16

func (*DisplayInfoBuffer) UnmarshalUnionNDR

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

type DisplayInfoBuffer_GroupInformation

type DisplayInfoBuffer_GroupInformation struct {
	GroupInformation *DomainDisplayGroupBuffer `idl:"name:GroupInformation" json:"group_information"`
}

DisplayInfoBuffer_GroupInformation structure represents SAMPR_DISPLAY_INFO_BUFFER RPC union arm.

It has following labels: 3

func (*DisplayInfoBuffer_GroupInformation) MarshalNDR

func (*DisplayInfoBuffer_GroupInformation) UnmarshalNDR

type DisplayInfoBuffer_MachineInformation

type DisplayInfoBuffer_MachineInformation struct {
	MachineInformation *DomainDisplayMachineBuffer `idl:"name:MachineInformation" json:"machine_information"`
}

DisplayInfoBuffer_MachineInformation structure represents SAMPR_DISPLAY_INFO_BUFFER RPC union arm.

It has following labels: 2

func (*DisplayInfoBuffer_MachineInformation) MarshalNDR

func (*DisplayInfoBuffer_MachineInformation) UnmarshalNDR

type DisplayInfoBuffer_OEMGroupInformation

type DisplayInfoBuffer_OEMGroupInformation struct {
	OEMGroupInformation *DomainDisplayOEMGroupBuffer `idl:"name:OemGroupInformation" json:"oem_group_information"`
}

DisplayInfoBuffer_OEMGroupInformation structure represents SAMPR_DISPLAY_INFO_BUFFER RPC union arm.

It has following labels: 5

func (*DisplayInfoBuffer_OEMGroupInformation) MarshalNDR

func (*DisplayInfoBuffer_OEMGroupInformation) UnmarshalNDR

type DisplayInfoBuffer_OEMUserInformation

type DisplayInfoBuffer_OEMUserInformation struct {
	OEMUserInformation *DomainDisplayOEMUserBuffer `idl:"name:OemUserInformation" json:"oem_user_information"`
}

DisplayInfoBuffer_OEMUserInformation structure represents SAMPR_DISPLAY_INFO_BUFFER RPC union arm.

It has following labels: 4

func (*DisplayInfoBuffer_OEMUserInformation) MarshalNDR

func (*DisplayInfoBuffer_OEMUserInformation) UnmarshalNDR

type DisplayInfoBuffer_UserInformation

type DisplayInfoBuffer_UserInformation struct {
	UserInformation *DomainDisplayUserBuffer `idl:"name:UserInformation" json:"user_information"`
}

DisplayInfoBuffer_UserInformation structure represents SAMPR_DISPLAY_INFO_BUFFER RPC union arm.

It has following labels: 1

func (*DisplayInfoBuffer_UserInformation) MarshalNDR

func (*DisplayInfoBuffer_UserInformation) UnmarshalNDR

type DomainDisplayGroup

type DomainDisplayGroup struct {
	Index        uint32              `idl:"name:Index" json:"index"`
	RID          uint32              `idl:"name:Rid" json:"rid"`
	Attributes   uint32              `idl:"name:Attributes" json:"attributes"`
	AccountName  *dtyp.UnicodeString `idl:"name:AccountName" json:"account_name"`
	AdminComment *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
}

DomainDisplayGroup structure represents SAMPR_DOMAIN_DISPLAY_GROUP RPC structure.

The SAMPR_DOMAIN_DISPLAY_GROUP structure contains a subset of group information sufficient to show a summary of the account for an account management application.

For information on each field, see section 2.2.8.1.

func (*DomainDisplayGroup) MarshalNDR

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

func (*DomainDisplayGroup) UnmarshalNDR

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

type DomainDisplayGroupBuffer

type DomainDisplayGroupBuffer struct {
	// EntriesRead:  The number of elements in Buffer. If zero, Buffer MUST be ignored.
	// If nonzero, Buffer MUST point to at least EntriesRead number of elements.
	EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
	// Buffer:  An array of SAMPR_DOMAIN_DISPLAY_GROUP elements.
	Buffer []*DomainDisplayGroup `idl:"name:Buffer;size_is:(EntriesRead)" json:"buffer"`
}

DomainDisplayGroupBuffer structure represents SAMPR_DOMAIN_DISPLAY_GROUP_BUFFER RPC structure.

The SAMPR_DOMAIN_DISPLAY_GROUP_BUFFER structure holds an array of SAMPR_DOMAIN_DISPLAY_GROUP elements used to return a list of groups through the SamrQueryDisplayInformation family of methods (see section 3.1.5.3).

func (*DomainDisplayGroupBuffer) MarshalNDR

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

func (*DomainDisplayGroupBuffer) UnmarshalNDR

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

type DomainDisplayInformation

type DomainDisplayInformation uint16

DomainDisplayInformation type represents DOMAIN_DISPLAY_INFORMATION RPC enumeration.

The DOMAIN_DISPLAY_INFORMATION enumeration indicates how to interpret the Buffer parameter for SamrQueryDisplayInformation, SamrQueryDisplayInformation2, SamrQueryDisplayInformation3, SamrGetDisplayEnumerationIndex, and SamrGetDisplayEnumerationIndex2. See section 2.2.8.13 for the list of the structures that are associated with each enumeration.

*PDOMAIN_DISPLAY_INFORMATION;

var (
	// DomainDisplayUser: Indicates the Buffer parameter is to be interpreted as a SAMPR_DOMAIN_DISPLAY_USER_BUFFER
	// structure (see section 2.2.8.7).
	DomainDisplayInformationUser DomainDisplayInformation = 1
	// DomainDisplayMachine: Indicates the Buffer parameter is to be interpreted as a SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER
	// structure (see section 2.2.8.8).
	DomainDisplayInformationMachine DomainDisplayInformation = 2
	// DomainDisplayGroup: Indicates the Buffer parameter is to be interpreted as a SAMPR_DOMAIN_DISPLAY_GROUP_BUFFER
	// structure (see section 2.2.8.9).
	DomainDisplayInformationGroup DomainDisplayInformation = 3
	// DomainDisplayOemUser: Indicates the Buffer parameter is to be interpreted as a SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER
	// structure (see section 2.2.8.10).
	DomainDisplayInformationOEMUser DomainDisplayInformation = 4
	// DomainDisplayOemGroup: Indicates the Buffer parameter is to be interpreted as a SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER
	// structure (see section 2.2.8.11).
	DomainDisplayInformationOEMGroup DomainDisplayInformation = 5
)

func (DomainDisplayInformation) String

func (o DomainDisplayInformation) String() string

type DomainDisplayMachine

type DomainDisplayMachine struct {
	Index          uint32              `idl:"name:Index" json:"index"`
	RID            uint32              `idl:"name:Rid" json:"rid"`
	AccountControl uint32              `idl:"name:AccountControl" json:"account_control"`
	AccountName    *dtyp.UnicodeString `idl:"name:AccountName" json:"account_name"`
	AdminComment   *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
}

DomainDisplayMachine structure represents SAMPR_DOMAIN_DISPLAY_MACHINE RPC structure.

The SAMPR_DOMAIN_DISPLAY_MACHINE structure contains a subset of machine account information sufficient to show a summary of the account for an account management application.

For information on each field, see section 2.2.8.1.

func (*DomainDisplayMachine) MarshalNDR

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

func (*DomainDisplayMachine) UnmarshalNDR

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

type DomainDisplayMachineBuffer

type DomainDisplayMachineBuffer struct {
	// EntriesRead:  The number of elements in Buffer. If zero, Buffer MUST be ignored.
	// If nonzero, Buffer MUST point to at least EntriesRead number of elements.
	EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
	// Buffer:  An array of SAMPR_DOMAIN_DISPLAY_MACHINE elements.
	Buffer []*DomainDisplayMachine `idl:"name:Buffer;size_is:(EntriesRead)" json:"buffer"`
}

DomainDisplayMachineBuffer structure represents SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER RPC structure.

The SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER structure holds an array of SAMPR_DOMAIN_DISPLAY_MACHINE elements used to return a list of machine accounts through the SamrQueryDisplayInformation family of methods (see section 3.1.5.3).

func (*DomainDisplayMachineBuffer) MarshalNDR

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

func (*DomainDisplayMachineBuffer) UnmarshalNDR

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

type DomainDisplayOEMGroup

type DomainDisplayOEMGroup struct {
	Index          uint32  `idl:"name:Index" json:"index"`
	OEMAccountName *String `idl:"name:OemAccountName" json:"oem_account_name"`
}

DomainDisplayOEMGroup structure represents SAMPR_DOMAIN_DISPLAY_OEM_GROUP RPC structure.

The SAMPR_DOMAIN_DISPLAY_OEM_GROUP structure contains a subset of group information sufficient to show a summary of the account for an account management application. This structure exists to support non–Unicode-based systems.

For information on each field, see section 2.2.8.1.

func (*DomainDisplayOEMGroup) MarshalNDR

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

func (*DomainDisplayOEMGroup) UnmarshalNDR

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

type DomainDisplayOEMGroupBuffer

type DomainDisplayOEMGroupBuffer struct {
	// EntriesRead:  The number of elements in Buffer. If zero, Buffer MUST be ignored.
	// If nonzero, Buffer MUST point to at least EntriesRead number of elements.
	EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
	// Buffer:  An array of SAMPR_DOMAIN_DISPLAY_OEM_GROUP elements.
	Buffer []*DomainDisplayOEMGroup `idl:"name:Buffer;size_is:(EntriesRead)" json:"buffer"`
}

DomainDisplayOEMGroupBuffer structure represents SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER RPC structure.

The SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER structure holds an array of SAMPR_DOMAIN_DISPLAY_OEM_GROUP elements used to return a list of user accounts through the SamrQueryDisplayInformation family of methods (see section 3.1.5.3).

func (*DomainDisplayOEMGroupBuffer) MarshalNDR

func (*DomainDisplayOEMGroupBuffer) UnmarshalNDR

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

type DomainDisplayOEMUser

type DomainDisplayOEMUser struct {
	Index          uint32  `idl:"name:Index" json:"index"`
	OEMAccountName *String `idl:"name:OemAccountName" json:"oem_account_name"`
}

DomainDisplayOEMUser structure represents SAMPR_DOMAIN_DISPLAY_OEM_USER RPC structure.

The SAMPR_DOMAIN_DISPLAY_OEM_USER structure contains a subset of user account information sufficient to show a summary of the account for an account management application. This structure exists to support non–Unicode-based systems.

For information on each field, see section 2.2.8.1.

func (*DomainDisplayOEMUser) MarshalNDR

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

func (*DomainDisplayOEMUser) UnmarshalNDR

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

type DomainDisplayOEMUserBuffer

type DomainDisplayOEMUserBuffer struct {
	// EntriesRead:  The number of elements in Buffer. If zero, Buffer MUST be ignored.
	// If nonzero, Buffer MUST point to at least EntriesRead number of elements.
	EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
	// Buffer:  An array of SAMPR_DOMAIN_DISPLAY_OEM_USER elements.
	Buffer []*DomainDisplayOEMUser `idl:"name:Buffer;size_is:(EntriesRead)" json:"buffer"`
}

DomainDisplayOEMUserBuffer structure represents SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER RPC structure.

The SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER structure holds an array of SAMPR_DOMAIN_DISPLAY_OEM_USER elements used to return a list of users through the SamrQueryDisplayInformation family of methods (see section 3.1.5.3).

func (*DomainDisplayOEMUserBuffer) MarshalNDR

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

func (*DomainDisplayOEMUserBuffer) UnmarshalNDR

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

type DomainDisplayUser

type DomainDisplayUser struct {
	Index          uint32              `idl:"name:Index" json:"index"`
	RID            uint32              `idl:"name:Rid" json:"rid"`
	AccountControl uint32              `idl:"name:AccountControl" json:"account_control"`
	AccountName    *dtyp.UnicodeString `idl:"name:AccountName" json:"account_name"`
	AdminComment   *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
	FullName       *dtyp.UnicodeString `idl:"name:FullName" json:"full_name"`
}

DomainDisplayUser structure represents SAMPR_DOMAIN_DISPLAY_USER RPC structure.

The SAMPR_DOMAIN_DISPLAY_USER structure contains a subset of user account information sufficient to show a summary of the account for an account management application.

For information on each field, see section 2.2.8.1.

func (*DomainDisplayUser) MarshalNDR

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

func (*DomainDisplayUser) UnmarshalNDR

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

type DomainDisplayUserBuffer

type DomainDisplayUserBuffer struct {
	// EntriesRead:  The number of elements in Buffer. If zero, Buffer MUST be ignored.
	// If nonzero, Buffer MUST point to at least EntriesRead number of elements.
	EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
	// Buffer:  An array of SAMPR_DOMAIN_DISPLAY_USER elements.
	Buffer []*DomainDisplayUser `idl:"name:Buffer;size_is:(EntriesRead)" json:"buffer"`
}

DomainDisplayUserBuffer structure represents SAMPR_DOMAIN_DISPLAY_USER_BUFFER RPC structure.

The SAMPR_DOMAIN_DISPLAY_USER_BUFFER structure holds an array of SAMPR_DOMAIN_DISPLAY_USER elements used to return a list of users through the SamrQueryDisplayInformation family of methods (see section 3.1.5.3).

func (*DomainDisplayUserBuffer) MarshalNDR

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

func (*DomainDisplayUserBuffer) UnmarshalNDR

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

type DomainGeneralInformation

type DomainGeneralInformation struct {
	ForceLogoff           *OldLargeInteger    `idl:"name:ForceLogoff" json:"force_logoff"`
	OEMInformation        *dtyp.UnicodeString `idl:"name:OemInformation" json:"oem_information"`
	DomainName            *dtyp.UnicodeString `idl:"name:DomainName" json:"domain_name"`
	SourceNodeNameReplica *dtyp.UnicodeString `idl:"name:ReplicaSourceNodeName" json:"source_node_name_replica"`
	DomainModifiedCount   *OldLargeInteger    `idl:"name:DomainModifiedCount" json:"domain_modified_count"`
	// For DomainServerState:
	//
	//	+----------------------------------------------+---------------------+
	//	|    ENUMERATION DOMAIN SERVER ENABLE STATE    |    UNSIGNED LONG    |
	//	|                    VALUE                     |        VALUE        |
	//	+----------------------------------------------+---------------------+
	//	+----------------------------------------------+---------------------+
	//	| DomainServerEnabled                          |                   1 |
	//	+----------------------------------------------+---------------------+
	//	| DomainServerDisabled                         |                   2 |
	//	+----------------------------------------------+---------------------+
	DomainServerState uint32 `idl:"name:DomainServerState" json:"domain_server_state"`
	// For DomainServerRole:
	//
	//	+--------------------------------------+---------------------+
	//	|    ENUMERATION DOMAIN SERVER ROLE    |    UNSIGNED LONG    |
	//	|                VALUE                 |        VALUE        |
	//	+--------------------------------------+---------------------+
	//	+--------------------------------------+---------------------+
	//	| DomainServerRoleBackup               |                   2 |
	//	+--------------------------------------+---------------------+
	//	| DomainServerRolePrimary              |                   3 |
	//	+--------------------------------------+---------------------+
	DomainServerRole         uint32 `idl:"name:DomainServerRole" json:"domain_server_role"`
	UASCompatibilityRequired uint8  `idl:"name:UasCompatibilityRequired" json:"uas_compatibility_required"`
	UserCount                uint32 `idl:"name:UserCount" json:"user_count"`
	GroupCount               uint32 `idl:"name:GroupCount" json:"group_count"`
	AliasCount               uint32 `idl:"name:AliasCount" json:"alias_count"`
}

DomainGeneralInformation structure represents SAMPR_DOMAIN_GENERAL_INFORMATION RPC structure.

The SAMPR_DOMAIN_GENERAL_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

Note In section 2.2.3.1, the types for the DomainServerState and DomainServerRole members are the DOMAIN_SERVER_ENABLE_STATE and DOMAIN_SERVER_ROLE enumerations, respectively. These fields have the same purpose as the enumeration values, but the data types are different. The following tables show the corresponding mappings.

func (*DomainGeneralInformation) MarshalNDR

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

func (*DomainGeneralInformation) UnmarshalNDR

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

type DomainGeneralInformation2

type DomainGeneralInformation2 struct {
	I1                       *DomainGeneralInformation `idl:"name:I1" json:"i1"`
	LockoutDuration          *dtyp.LargeInteger        `idl:"name:LockoutDuration" json:"lockout_duration"`
	LockoutObservationWindow *dtyp.LargeInteger        `idl:"name:LockoutObservationWindow" json:"lockout_observation_window"`
	LockoutThreshold         uint16                    `idl:"name:LockoutThreshold" json:"lockout_threshold"`
}

DomainGeneralInformation2 structure represents SAMPR_DOMAIN_GENERAL_INFORMATION2 RPC structure.

The SAMPR_DOMAIN_GENERAL_INFORMATION2 structure contains domain fields.

For information on each field, see section 2.2.3.1, except for I1, which is specified in section 2.2.3.10.

func (*DomainGeneralInformation2) MarshalNDR

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

func (*DomainGeneralInformation2) UnmarshalNDR

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

type DomainInfoBuffer

type DomainInfoBuffer struct {
	// Types that are assignable to Value
	//
	// *DomainInfoBuffer_Password
	// *DomainInfoBuffer_General
	// *DomainInfoBuffer_Logoff
	// *DomainInfoBuffer_OEM
	// *DomainInfoBuffer_Name
	// *DomainInfoBuffer_Role
	// *DomainInfoBuffer_Replication
	// *DomainInfoBuffer_Modified
	// *DomainInfoBuffer_State
	// *DomainInfoBuffer_General2
	// *DomainInfoBuffer_Lockout
	// *DomainInfoBuffer_Modified2
	Value is_DomainInfoBuffer `json:"value"`
}

DomainInfoBuffer structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union.

The SAMPR_DOMAIN_INFO_BUFFER union combines all possible structures used in the SamrSetInformationDomain and SamrQueryInformationDomain methods. For details on each field, see the associated section for each field structure.

func (*DomainInfoBuffer) GetValue

func (o *DomainInfoBuffer) GetValue() any

func (*DomainInfoBuffer) MarshalUnionNDR

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

func (*DomainInfoBuffer) NDRSwitchValue

func (o *DomainInfoBuffer) NDRSwitchValue(sw uint16) uint16

func (*DomainInfoBuffer) UnmarshalUnionNDR

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

type DomainInfoBuffer_General

type DomainInfoBuffer_General struct {
	General *DomainGeneralInformation `idl:"name:General" json:"general"`
}

DomainInfoBuffer_General structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 2

func (*DomainInfoBuffer_General) MarshalNDR

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

func (*DomainInfoBuffer_General) UnmarshalNDR

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

type DomainInfoBuffer_General2

type DomainInfoBuffer_General2 struct {
	General2 *DomainGeneralInformation2 `idl:"name:General2" json:"general2"`
}

DomainInfoBuffer_General2 structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 11

func (*DomainInfoBuffer_General2) MarshalNDR

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

func (*DomainInfoBuffer_General2) UnmarshalNDR

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

type DomainInfoBuffer_Lockout

type DomainInfoBuffer_Lockout struct {
	Lockout *DomainLockoutInformation `idl:"name:Lockout" json:"lockout"`
}

DomainInfoBuffer_Lockout structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 12

func (*DomainInfoBuffer_Lockout) MarshalNDR

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

func (*DomainInfoBuffer_Lockout) UnmarshalNDR

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

type DomainInfoBuffer_Logoff

type DomainInfoBuffer_Logoff struct {
	Logoff *DomainLogoffInformation `idl:"name:Logoff" json:"logoff"`
}

DomainInfoBuffer_Logoff structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 3

func (*DomainInfoBuffer_Logoff) MarshalNDR

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

func (*DomainInfoBuffer_Logoff) UnmarshalNDR

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

type DomainInfoBuffer_Modified

type DomainInfoBuffer_Modified struct {
	Modified *DomainModifiedInformation `idl:"name:Modified" json:"modified"`
}

DomainInfoBuffer_Modified structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 8

func (*DomainInfoBuffer_Modified) MarshalNDR

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

func (*DomainInfoBuffer_Modified) UnmarshalNDR

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

type DomainInfoBuffer_Modified2

type DomainInfoBuffer_Modified2 struct {
	Modified2 *DomainModifiedInformation2 `idl:"name:Modified2" json:"modified2"`
}

DomainInfoBuffer_Modified2 structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 13

func (*DomainInfoBuffer_Modified2) MarshalNDR

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

func (*DomainInfoBuffer_Modified2) UnmarshalNDR

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

type DomainInfoBuffer_Name

type DomainInfoBuffer_Name struct {
	Name *DomainNameInformation `idl:"name:Name" json:"name"`
}

DomainInfoBuffer_Name structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 5

func (*DomainInfoBuffer_Name) MarshalNDR

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

func (*DomainInfoBuffer_Name) UnmarshalNDR

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

type DomainInfoBuffer_OEM

type DomainInfoBuffer_OEM struct {
	OEM *DomainOEMInformation `idl:"name:Oem" json:"oem"`
}

DomainInfoBuffer_OEM structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 4

func (*DomainInfoBuffer_OEM) MarshalNDR

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

func (*DomainInfoBuffer_OEM) UnmarshalNDR

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

type DomainInfoBuffer_Password

type DomainInfoBuffer_Password struct {
	Password *DomainPasswordInformation `idl:"name:Password" json:"password"`
}

DomainInfoBuffer_Password structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 1

func (*DomainInfoBuffer_Password) MarshalNDR

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

func (*DomainInfoBuffer_Password) UnmarshalNDR

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

type DomainInfoBuffer_Replication

type DomainInfoBuffer_Replication struct {
	Replication *DomainReplicationInformation `idl:"name:Replication" json:"replication"`
}

DomainInfoBuffer_Replication structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 6

func (*DomainInfoBuffer_Replication) MarshalNDR

func (*DomainInfoBuffer_Replication) UnmarshalNDR

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

type DomainInfoBuffer_Role

type DomainInfoBuffer_Role struct {
	Role *DomainServerRoleInformation `idl:"name:Role" json:"role"`
}

DomainInfoBuffer_Role structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 7

func (*DomainInfoBuffer_Role) MarshalNDR

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

func (*DomainInfoBuffer_Role) UnmarshalNDR

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

type DomainInfoBuffer_State

type DomainInfoBuffer_State struct {
	State *DomainStateInformation `idl:"name:State" json:"state"`
}

DomainInfoBuffer_State structure represents SAMPR_DOMAIN_INFO_BUFFER RPC union arm.

It has following labels: 9

func (*DomainInfoBuffer_State) MarshalNDR

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

func (*DomainInfoBuffer_State) UnmarshalNDR

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

type DomainInformationClass

type DomainInformationClass uint16

DomainInformationClass type represents DOMAIN_INFORMATION_CLASS RPC enumeration.

The DOMAIN_INFORMATION_CLASS enumeration indicates how to interpret the Buffer parameter for SamrSetInformationDomain and SamrQueryInformationDomain. For a list of associated structures, see section 2.2.3.17.

var (
	// DomainPasswordInformation:  Indicates the Buffer parameter is to be interpreted
	// as a DOMAIN_PASSWORD_INFORMATION structure (see section 2.2.3.5).
	DomainInformationClassPasswordInformation DomainInformationClass = 1
	// DomainGeneralInformation:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_DOMAIN_GENERAL_INFORMATION structure (see section 2.2.3.10).
	DomainInformationClassGeneralInformation DomainInformationClass = 2
	// DomainLogoffInformation:  Indicates the Buffer parameter is to be interpreted as
	// a DOMAIN_LOGOFF_INFORMATION structure (see section 2.2.3.6).
	DomainInformationClassLogoffInformation DomainInformationClass = 3
	// DomainOemInformation:  Indicates the Buffer parameter is to be interpreted as a
	// SAMPR_DOMAIN_OEM_INFORMATION structure (see section 2.2.3.12).
	DomainInformationClassOEMInformation DomainInformationClass = 4
	// DomainNameInformation:  Indicates the Buffer parameter is to be interpreted as a
	// SAMPR_DOMAIN_NAME_INFORMATION structure (see section 2.2.3.13).
	DomainInformationClassNameInformation DomainInformationClass = 5
	// DomainReplicationInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_DOMAIN_REPLICATION_INFORMATION structure (see section 2.2.3.14).
	DomainInformationClassReplicationInformation DomainInformationClass = 6
	// DomainServerRoleInformation:  Indicates the Buffer parameter is to be interpreted
	// as a DOMAIN_SERVER_ROLE_INFORMATION structure (see section 2.2.3.7).
	DomainInformationClassServerRoleInformation DomainInformationClass = 7
	// DomainModifiedInformation:  Indicates the Buffer parameter is to be interpreted
	// as a DOMAIN_MODIFIED_INFORMATION structure (see section 2.2.3.8).
	DomainInformationClassModifiedInformation DomainInformationClass = 8
	// DomainStateInformation:  Indicates the Buffer parameter is to be interpreted as
	// a DOMAIN_STATE_INFORMATION structure (see section 2.2.3.3).
	DomainInformationClassStateInformation DomainInformationClass = 9
	// DomainGeneralInformation2:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_DOMAIN_GENERAL_INFORMATION2 structure (see section 2.2.3.11).
	DomainInformationClassGeneralInformation2 DomainInformationClass = 11
	// DomainLockoutInformation:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_DOMAIN_LOCKOUT_INFORMATION structure (see section 2.2.3.15).
	DomainInformationClassLockoutInformation DomainInformationClass = 12
	// DomainModifiedInformation2:  Indicates the Buffer parameter is to be interpreted
	// as a DOMAIN_MODIFIED_INFORMATION2 structure (see section 2.2.3.9).
	DomainInformationClassModifiedInformation2 DomainInformationClass = 13
)

func (DomainInformationClass) String

func (o DomainInformationClass) String() string

type DomainLockoutInformation

type DomainLockoutInformation struct {
	LockoutDuration          *dtyp.LargeInteger `idl:"name:LockoutDuration" json:"lockout_duration"`
	LockoutObservationWindow *dtyp.LargeInteger `idl:"name:LockoutObservationWindow" json:"lockout_observation_window"`
	LockoutThreshold         uint16             `idl:"name:LockoutThreshold" json:"lockout_threshold"`
}

DomainLockoutInformation structure represents SAMPR_DOMAIN_LOCKOUT_INFORMATION RPC structure.

The SAMPR_DOMAIN_LOCKOUT_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*DomainLockoutInformation) MarshalNDR

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

func (*DomainLockoutInformation) UnmarshalNDR

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

type DomainLogoffInformation

type DomainLogoffInformation struct {
	ForceLogoff *OldLargeInteger `idl:"name:ForceLogoff" json:"force_logoff"`
}

DomainLogoffInformation structure represents DOMAIN_LOGOFF_INFORMATION RPC structure.

The DOMAIN_LOGOFF_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*DomainLogoffInformation) MarshalNDR

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

func (*DomainLogoffInformation) UnmarshalNDR

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

type DomainModifiedInformation

type DomainModifiedInformation struct {
	DomainModifiedCount *OldLargeInteger `idl:"name:DomainModifiedCount" json:"domain_modified_count"`
	CreationTime        *OldLargeInteger `idl:"name:CreationTime" json:"creation_time"`
}

DomainModifiedInformation structure represents DOMAIN_MODIFIED_INFORMATION RPC structure.

The DOMAIN_MODIFIED_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*DomainModifiedInformation) MarshalNDR

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

func (*DomainModifiedInformation) UnmarshalNDR

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

type DomainModifiedInformation2

type DomainModifiedInformation2 struct {
	DomainModifiedCount          *OldLargeInteger `idl:"name:DomainModifiedCount" json:"domain_modified_count"`
	CreationTime                 *OldLargeInteger `idl:"name:CreationTime" json:"creation_time"`
	ModifiedCountATLastPromotion *OldLargeInteger `idl:"name:ModifiedCountAtLastPromotion" json:"modified_count_at_last_promotion"`
}

DomainModifiedInformation2 structure represents DOMAIN_MODIFIED_INFORMATION2 RPC structure.

The DOMAIN_MODIFIED_INFORMATION2 structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*DomainModifiedInformation2) MarshalNDR

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

func (*DomainModifiedInformation2) UnmarshalNDR

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

type DomainNameInformation

type DomainNameInformation struct {
	DomainName *dtyp.UnicodeString `idl:"name:DomainName" json:"domain_name"`
}

DomainNameInformation structure represents SAMPR_DOMAIN_NAME_INFORMATION RPC structure.

The SAMPR_DOMAIN_NAME_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*DomainNameInformation) MarshalNDR

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

func (*DomainNameInformation) UnmarshalNDR

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

type DomainOEMInformation

type DomainOEMInformation struct {
	OEMInformation *dtyp.UnicodeString `idl:"name:OemInformation" json:"oem_information"`
}

DomainOEMInformation structure represents SAMPR_DOMAIN_OEM_INFORMATION RPC structure.

The SAMPR_DOMAIN_OEM_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*DomainOEMInformation) MarshalNDR

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

func (*DomainOEMInformation) UnmarshalNDR

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

type DomainPasswordInformation

type DomainPasswordInformation struct {
	MinPasswordLength     uint16           `idl:"name:MinPasswordLength" json:"min_password_length"`
	PasswordHistoryLength uint16           `idl:"name:PasswordHistoryLength" json:"password_history_length"`
	PasswordProperties    uint32           `idl:"name:PasswordProperties" json:"password_properties"`
	MaxPasswordAge        *OldLargeInteger `idl:"name:MaxPasswordAge" json:"max_password_age"`
	MinPasswordAge        *OldLargeInteger `idl:"name:MinPasswordAge" json:"min_password_age"`
}

DomainPasswordInformation structure represents DOMAIN_PASSWORD_INFORMATION RPC structure.

The DOMAIN_PASSWORD_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*DomainPasswordInformation) MarshalNDR

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

func (*DomainPasswordInformation) UnmarshalNDR

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

type DomainReplicationInformation

type DomainReplicationInformation struct {
	SourceNodeNameReplica *dtyp.UnicodeString `idl:"name:ReplicaSourceNodeName" json:"source_node_name_replica"`
}

DomainReplicationInformation structure represents SAMPR_DOMAIN_REPLICATION_INFORMATION RPC structure.

The SAMPR_DOMAIN_REPLICATION_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*DomainReplicationInformation) MarshalNDR

func (*DomainReplicationInformation) UnmarshalNDR

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

type DomainServerEnableState

type DomainServerEnableState uint16

DomainServerEnableState type represents DOMAIN_SERVER_ENABLE_STATE RPC enumeration.

The DOMAIN_SERVER_ENABLE_STATE enumeration describes the enabled or disabled state of a server.

var (
	// DomainServerEnabled:  The server is considered "enabled" to the client.
	DomainServerEnableStateEnabled DomainServerEnableState = 1
	// DomainServerDisabled:  This field is not used.
	DomainServerEnableStateDisabled DomainServerEnableState = 2
)

func (DomainServerEnableState) String

func (o DomainServerEnableState) String() string

type DomainServerRole

type DomainServerRole uint16

DomainServerRole type represents DOMAIN_SERVER_ROLE RPC enumeration.

The DOMAIN_SERVER_ROLE enumeration indicates whether a server is a PDC.

var (
	// DomainServerRoleBackup:  The DC is not the PDC.
	DomainServerRoleBackup DomainServerRole = 2
	// DomainServerRolePrimary:  The DC is the PDC.
	DomainServerRolePrimary DomainServerRole = 3
)

func (DomainServerRole) String

func (o DomainServerRole) String() string

type DomainServerRoleInformation

type DomainServerRoleInformation struct {
	DomainServerRole DomainServerRole `idl:"name:DomainServerRole" json:"domain_server_role"`
}

DomainServerRoleInformation structure represents DOMAIN_SERVER_ROLE_INFORMATION RPC structure.

The DOMAIN_SERVER_ROLE_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*DomainServerRoleInformation) MarshalNDR

func (*DomainServerRoleInformation) UnmarshalNDR

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

type DomainStateInformation

type DomainStateInformation struct {
	DomainServerState DomainServerEnableState `idl:"name:DomainServerState" json:"domain_server_state"`
}

DomainStateInformation structure represents DOMAIN_STATE_INFORMATION RPC structure.

The DOMAIN_STATE_INFORMATION structure holds the enabled/disabled state of the server.

For information on each field, see section 2.2.3.1.

func (*DomainStateInformation) MarshalNDR

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

func (*DomainStateInformation) UnmarshalNDR

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

type EncryptedLMOWFPassword

type EncryptedLMOWFPassword struct {
	// data:  16 bytes of unstructured data used to hold an encrypted 16-byte hash (either
	// an LM hash or an NT hash). The encryption algorithm is specified in section 2.2.11.1.
	// The methods specified in sections 3.1.5.10 and 3.1.5.13.6 use this structure and
	// specify the type of hash and the encryption key.
	Data []byte `idl:"name:data" json:"data"`
}

EncryptedLMOWFPassword structure represents ENCRYPTED_LM_OWF_PASSWORD RPC structure.

The ENCRYPTED_LM_OWF_PASSWORD structure defines a block of encrypted data used in various methods to communicate sensitive information.

func (*EncryptedLMOWFPassword) MarshalNDR

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

func (*EncryptedLMOWFPassword) UnmarshalNDR

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

type EncryptedNTOWFPassword

type EncryptedNTOWFPassword struct {
	Data []byte `idl:"name:data" json:"data"`
}

EncryptedNTOWFPassword structure represents ENCRYPTED_NT_OWF_PASSWORD RPC structure.

func (*EncryptedNTOWFPassword) MarshalNDR

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

func (*EncryptedNTOWFPassword) UnmarshalNDR

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

type EncryptedUserPassword

type EncryptedUserPassword struct {
	// Buffer:  An array to carry encrypted cleartext password data. The encryption key
	// is method-specific, while the algorithm specified in section 3.2.2.1 is common for
	// all methods that use this structure. See the message syntax for SamrOemChangePasswordUser2
	// (section 3.1.5.10.2) and SamrUnicodeChangePasswordUser2 (section 3.1.5.10.3), and
	// the message processing for SamrSetInformationUser2 (section 3.1.5.6.4), for details
	// on the encryption key selection. The size of (256 * 2) + 4 for Buffer is determined
	// by the size of the structure that is encrypted, SAMPR_USER_PASSWORD; see below for
	// more details.
	//
	// For all protocol uses, the decrypted format of Buffer is the following structure.
	//
	// typedef struct _SAMPR_USER_PASSWORD { wchar_t       Buffer[256]; unsigned long
	// Length; } SAMPR_USER_PASSWORD, *PSAMPR_USER_PASSWORD;
	//
	// Buffer: This array contains the cleartext value at the end of the buffer. The start
	// of the string is Length number of bytes from the end of the buffer. The cleartext
	// value can be no more than 512 bytes. The unused portions of SAMPR_USER_PASSWORD.Buffer
	// SHOULD be filled with random bytes by the client. The value 512 is chosen because
	// that is the longest password allowed by this protocol (and enforced by the server).
	//
	// Implementations of this protocol MUST protect the SAMPR_ENCRYPTED_USER_PASSWORD structure
	// by encrypting the 516 bytes of data referenced in its Buffer field on request (and
	// reply), and decrypting on receipt. See section 3.2.2.1 for the specification of the
	// algorithm performing encryption and decryption.
	Buffer []byte `idl:"name:Buffer" json:"buffer"`
}

EncryptedUserPassword structure represents SAMPR_ENCRYPTED_USER_PASSWORD RPC structure.

The SAMPR_ENCRYPTED_USER_PASSWORD structure carries an encrypted string.

func (*EncryptedUserPassword) MarshalNDR

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

func (*EncryptedUserPassword) UnmarshalNDR

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

type EncryptedUserPasswordNew

type EncryptedUserPasswordNew struct {
	// Buffer:  An array to carry encrypted cleartext password data.
	//
	// For all protocol uses, the decrypted format of Buffer is the following structure.
	//
	// typedef struct _SAMPR_USER_PASSWORD_NEW { WCHAR Buffer[256]; ULONG Length; UCHAR
	// ClearSalt[16]; } SAMPR_USER_PASSWORD_NEW, *PSAMPR_USER_PASSWORD_NEW;
	//
	// Buffer: This array contains the cleartext value at the end of the buffer. The cleartext
	// value can be no more than 512 bytes. The start of the string is Length number of
	// bytes from the end of the buffer. The unused portions of SAMPR_USER_PASSWORD_NEW.Buffer
	// SHOULD be filled with random bytes by the client.
	//
	// Length: An unsigned integer, in little-endian byte order, that indicates the number
	// of bytes of the cleartext value (located in SAMPR_USER_PASSWORD_NEW.Buffer).
	//
	// Implementations of this protocol MUST protect the SAMPR_ENCRYPTED_USER_PASSWORD_NEW
	// structure by encrypting the first 516 bytes of data referenced in its Buffer field
	// on request (and reply) and by decrypting on receipt. See section 3.2.2.1 for the
	// specification of the algorithm performing encryption and decryption.
	//
	// The first 516 bytes are defined as the first 516 bytes of the SAMPR_USER_PASSWORD_NEW
	// structure defined previously. The last 16 bytes of the SAMPR_ENCRYPTED_USER_PASSWORD_NEW
	// structure are defined as the last 16 bytes of the SAMPR_USER_PASSWORD_NEW structure
	// and MUST NOT be encrypted or decrypted.
	Buffer []byte `idl:"name:Buffer" json:"buffer"`
}

EncryptedUserPasswordNew structure represents SAMPR_ENCRYPTED_USER_PASSWORD_NEW RPC structure.

The SAMPR_ENCRYPTED_USER_PASSWORD_NEW structure carries an encrypted string.

func (*EncryptedUserPasswordNew) MarshalNDR

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

func (*EncryptedUserPasswordNew) UnmarshalNDR

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

type EnumerateAliasesInDomainRequest

type EnumerateAliasesInDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// EnumerationContext: This value is a cookie that the server can use to continue an
	// enumeration on a subsequent call. It is an opaque value to the client. To initiate
	// a new enumeration the client sets EnumerationContext to zero. Otherwise the client
	// sets EnumerationContext to a value returned by a previous call to the method.
	EnumerationContext uint32 `idl:"name:EnumerationContext" json:"enumeration_context"`
	// PreferedMaximumLength: The requested maximum number of bytes to return in Buffer.
	PreferredMaximumLength uint32 `idl:"name:PreferedMaximumLength" json:"preferred_maximum_length"`
}

EnumerateAliasesInDomainRequest structure represents the SamrEnumerateAliasesInDomain operation request

func (*EnumerateAliasesInDomainRequest) MarshalNDR

func (*EnumerateAliasesInDomainRequest) UnmarshalNDR

type EnumerateAliasesInDomainResponse

type EnumerateAliasesInDomainResponse struct {
	// EnumerationContext: This value is a cookie that the server can use to continue an
	// enumeration on a subsequent call. It is an opaque value to the client. To initiate
	// a new enumeration the client sets EnumerationContext to zero. Otherwise the client
	// sets EnumerationContext to a value returned by a previous call to the method.
	EnumerationContext uint32 `idl:"name:EnumerationContext" json:"enumeration_context"`
	// Buffer: A list of alias information, as specified in section 2.2.7.10.
	Buffer *EnumerationBuffer `idl:"name:Buffer" json:"buffer"`
	// CountReturned: The count of domain elements returned in Buffer.
	//
	// This method asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	//
	// This method MUST be processed per the specifications in section 3.1.5.2.2 using the
	// following object selection filter:
	//
	// *
	//
	// The *objectClass* attribute value MUST be group or derived from group.
	//
	// *
	//
	// The *groupType* attribute value MUST be GROUP_TYPE_SECURITY_RESOURCE.
	//
	// *
	//
	// The *objectSid* attribute value MUST have the domain prefix ( 7b2aeb27-92fc-41f6-8437-deb65d950921#gt_9066e9dc-8275-4452-9073-daab5fd427c5
	// ) of the domain referenced by DomainHandle.
	CountReturned uint32 `idl:"name:CountReturned" json:"count_returned"`
	// Return: The SamrEnumerateAliasesInDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

EnumerateAliasesInDomainResponse structure represents the SamrEnumerateAliasesInDomain operation response

func (*EnumerateAliasesInDomainResponse) MarshalNDR

func (*EnumerateAliasesInDomainResponse) UnmarshalNDR

type EnumerateDomainsInSAMServerRequest

type EnumerateDomainsInSAMServerRequest struct {
	// ServerHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a server object.
	Server *Handle `idl:"name:ServerHandle" json:"server"`
	// EnumerationContext: This value is a cookie that the server can use to continue an
	// enumeration on a subsequent call. It is an opaque value to the client. To initiate
	// a new enumeration, the client sets EnumerationContext to zero. Otherwise the client
	// sets EnumerationContext to a value returned by a previous call to the method.
	EnumerationContext uint32 `idl:"name:EnumerationContext" json:"enumeration_context"`
	// PreferedMaximumLength: The requested maximum number of bytes to return in Buffer.
	PreferredMaximumLength uint32 `idl:"name:PreferedMaximumLength" json:"preferred_maximum_length"`
}

EnumerateDomainsInSAMServerRequest structure represents the SamrEnumerateDomainsInSamServer operation request

func (*EnumerateDomainsInSAMServerRequest) MarshalNDR

func (*EnumerateDomainsInSAMServerRequest) UnmarshalNDR

type EnumerateDomainsInSAMServerResponse

type EnumerateDomainsInSAMServerResponse struct {
	// EnumerationContext: This value is a cookie that the server can use to continue an
	// enumeration on a subsequent call. It is an opaque value to the client. To initiate
	// a new enumeration, the client sets EnumerationContext to zero. Otherwise the client
	// sets EnumerationContext to a value returned by a previous call to the method.
	EnumerationContext uint32 `idl:"name:EnumerationContext" json:"enumeration_context"`
	// Buffer: A listing of domain information, as described in section 2.2.7.10.
	Buffer *EnumerationBuffer `idl:"name:Buffer" json:"buffer"`
	// CountReturned: The count of domain elements returned in Buffer.
	//
	// This method asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	CountReturned uint32 `idl:"name:CountReturned" json:"count_returned"`
	// Return: The SamrEnumerateDomainsInSamServer return value.
	Return int32 `idl:"name:Return" json:"return"`
}

EnumerateDomainsInSAMServerResponse structure represents the SamrEnumerateDomainsInSamServer operation response

func (*EnumerateDomainsInSAMServerResponse) MarshalNDR

func (*EnumerateDomainsInSAMServerResponse) UnmarshalNDR

type EnumerateGroupsInDomainRequest

type EnumerateGroupsInDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// EnumerationContext: This value is a cookie that the server can use to continue an
	// enumeration on a subsequent call. It is an opaque value to the client. To initiate
	// a new enumeration, the client sets EnumerationContext to zero. Otherwise, the client
	// sets EnumerationContext to a value returned by a previous call to the method.
	EnumerationContext uint32 `idl:"name:EnumerationContext" json:"enumeration_context"`
	// PreferedMaximumLength: The requested maximum number of bytes to return in Buffer.
	PreferredMaximumLength uint32 `idl:"name:PreferedMaximumLength" json:"preferred_maximum_length"`
}

EnumerateGroupsInDomainRequest structure represents the SamrEnumerateGroupsInDomain operation request

func (*EnumerateGroupsInDomainRequest) MarshalNDR

func (*EnumerateGroupsInDomainRequest) UnmarshalNDR

type EnumerateGroupsInDomainResponse

type EnumerateGroupsInDomainResponse struct {
	// EnumerationContext: This value is a cookie that the server can use to continue an
	// enumeration on a subsequent call. It is an opaque value to the client. To initiate
	// a new enumeration, the client sets EnumerationContext to zero. Otherwise, the client
	// sets EnumerationContext to a value returned by a previous call to the method.
	EnumerationContext uint32 `idl:"name:EnumerationContext" json:"enumeration_context"`
	// Buffer: A list of group information, as specified in section 2.2.7.10.
	Buffer *EnumerationBuffer `idl:"name:Buffer" json:"buffer"`
	// CountReturned: The count of domain elements returned in Buffer.
	//
	// This method asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	//
	// This method MUST be processed per the specifications in section 3.1.5.2.2 using the
	// following object selection filter:
	//
	// *
	//
	// The *objectClass* attribute value MUST be group or derived from group.
	//
	// *
	//
	// The *groupType* attribute value MUST be one of GROUP_TYPE_SECURITY_UNIVERSAL or GROUP_TYPE_SECURITY_ACCOUNT.
	//
	// *
	//
	// The *objectSid* attribute value MUST have the domain prefix ( 7b2aeb27-92fc-41f6-8437-deb65d950921#gt_9066e9dc-8275-4452-9073-daab5fd427c5
	// ) of the domain referenced by DomainHandle.
	CountReturned uint32 `idl:"name:CountReturned" json:"count_returned"`
	// Return: The SamrEnumerateGroupsInDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

EnumerateGroupsInDomainResponse structure represents the SamrEnumerateGroupsInDomain operation response

func (*EnumerateGroupsInDomainResponse) MarshalNDR

func (*EnumerateGroupsInDomainResponse) UnmarshalNDR

type EnumerateUsersInDomainRequest

type EnumerateUsersInDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// EnumerationContext: This value is a cookie that the server can use to continue an
	// enumeration on a subsequent call. It is an opaque value to the client. To initiate
	// a new enumeration the client sets EnumerationContext to zero. Otherwise the client
	// sets EnumerationContext to a value returned by a previous call to the method.
	EnumerationContext uint32 `idl:"name:EnumerationContext" json:"enumeration_context"`
	// UserAccountControl: A filter value to be used on the userAccountControl attribute.
	UserAccountControl uint32 `idl:"name:UserAccountControl" json:"user_account_control"`
	// PreferedMaximumLength: The requested maximum number of bytes to return in Buffer.
	PreferredMaximumLength uint32 `idl:"name:PreferedMaximumLength" json:"preferred_maximum_length"`
}

EnumerateUsersInDomainRequest structure represents the SamrEnumerateUsersInDomain operation request

func (*EnumerateUsersInDomainRequest) MarshalNDR

func (*EnumerateUsersInDomainRequest) UnmarshalNDR

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

type EnumerateUsersInDomainResponse

type EnumerateUsersInDomainResponse struct {
	// EnumerationContext: This value is a cookie that the server can use to continue an
	// enumeration on a subsequent call. It is an opaque value to the client. To initiate
	// a new enumeration the client sets EnumerationContext to zero. Otherwise the client
	// sets EnumerationContext to a value returned by a previous call to the method.
	EnumerationContext uint32 `idl:"name:EnumerationContext" json:"enumeration_context"`
	// Buffer: A list of user information, as specified in section 2.2.7.10.
	Buffer *EnumerationBuffer `idl:"name:Buffer" json:"buffer"`
	// CountReturned: The count of domain elements returned in Buffer.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	//
	// This method MUST be processed per the specifications in section 3.1.5.2.2, using
	// the following object selection filter:
	//
	// *
	//
	// The *objectClass* attribute value MUST be user or derived from user.
	//
	// *
	//
	// The *userAccountControl* attribute value MUST contain all the bits in the method
	// parameter UserAccountControl.
	//
	// *
	//
	// The *objectSid* attribute value MUST have the domain prefix ( 7b2aeb27-92fc-41f6-8437-deb65d950921#gt_9066e9dc-8275-4452-9073-daab5fd427c5
	// ) of the domain referenced by DomainHandle.
	//
	// In addition, all of the following constraints MUST be satisfied before the constraints
	// of section 3.1.5.2.2 are satisfied:
	//
	// *
	//
	// If DomainHandle.Object is a reference to the account domain and the configuration
	// is DC ( 7b2aeb27-92fc-41f6-8437-deb65d950921#gt_76a05049-3531-4abd-aec8-30e19954b4bd
	// ) , the client MUST have the SAM-Enumerate-Entire-Domain control access right ( 7b2aeb27-92fc-41f6-8437-deb65d950921#gt_42f6c9e0-a2b3-4bc3-9b87-fdb902e5505e
	// ) ( [MS-ADTS] ( ../ms-adts/d2435927-0999-4c62-8c6d-13ba31a52e1a ) section 5.1.3.2.1
	// ( ../ms-adts/1522b774-6464-41a3-87a5-1e5633c3fbbb ) ) on the domain's *ntSecurityDescriptor*
	// attribute value.
	//
	// *
	//
	// The server MUST ignore the UF_LOCKOUT and UF_PASSWORD_EXPIRED bits in the UserAccountControl
	// parameter.
	CountReturned uint32 `idl:"name:CountReturned" json:"count_returned"`
	// Return: The SamrEnumerateUsersInDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

EnumerateUsersInDomainResponse structure represents the SamrEnumerateUsersInDomain operation response

func (*EnumerateUsersInDomainResponse) MarshalNDR

func (*EnumerateUsersInDomainResponse) UnmarshalNDR

type EnumerationBuffer

type EnumerationBuffer struct {
	// EntriesRead:  The number of elements in Buffer. If zero, Buffer MUST be ignored.
	// If nonzero, Buffer MUST point to at least EntriesRead * sizeof(SAMPR_RID_ENUMERATION)
	// bytes of memory.
	EntriesRead uint32 `idl:"name:EntriesRead" json:"entries_read"`
	// Buffer:  An array of SAMPR_RID_ENUMERATION elements.
	Buffer []*RIDEnumeration `idl:"name:Buffer;size_is:(EntriesRead)" json:"buffer"`
}

EnumerationBuffer structure represents SAMPR_ENUMERATION_BUFFER RPC structure.

The SAMPR_ENUMERATION_BUFFER structure holds an array of SAMPR_RID_ENUMERATION elements.

func (*EnumerationBuffer) MarshalNDR

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

func (*EnumerationBuffer) UnmarshalNDR

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

type GetAliasMembershipRequest

type GetAliasMembershipRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// SidArray: A list of SIDs.
	SIDArray *SIDArray `idl:"name:SidArray" json:"sid_array"`
}

GetAliasMembershipRequest structure represents the SamrGetAliasMembership operation request

func (*GetAliasMembershipRequest) MarshalNDR

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

func (*GetAliasMembershipRequest) UnmarshalNDR

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

type GetAliasMembershipResponse

type GetAliasMembershipResponse struct {
	// Membership: The union of all aliases (represented by RIDs) that all SIDs in SidArray
	// are a member of.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Membership *Uint32Array `idl:"name:Membership" json:"membership"`
	// Return: The SamrGetAliasMembership return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetAliasMembershipResponse structure represents the SamrGetAliasMembership operation response

func (*GetAliasMembershipResponse) MarshalNDR

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

func (*GetAliasMembershipResponse) UnmarshalNDR

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

type GetDisplayEnumerationIndex2Request

type GetDisplayEnumerationIndex2Request struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// DisplayInformationClass: An enumeration indicating which set of objects to return
	// an index into (for a subsequent SamrQueryDisplayInformation3 method call).
	DisplayInformationClass DomainDisplayInformation `idl:"name:DisplayInformationClass" json:"display_information_class"`
	// Prefix: A string matched against the account name to find a starting point for an
	// enumeration. The Prefix parameter enables the client to obtain a listing of an account
	// from SamrQueryDisplayInformation3 such that the accounts are returned in alphabetical
	// order with respect to their account name, starting with the account name that most
	// closely matches Prefix. See details later in this section.
	Prefix *dtyp.UnicodeString `idl:"name:Prefix" json:"prefix"`
}

GetDisplayEnumerationIndex2Request structure represents the SamrGetDisplayEnumerationIndex2 operation request

func (*GetDisplayEnumerationIndex2Request) MarshalNDR

func (*GetDisplayEnumerationIndex2Request) UnmarshalNDR

type GetDisplayEnumerationIndex2Response

type GetDisplayEnumerationIndex2Response struct {
	// Index: A value to use as input to SamrQueryDisplayInformation3 in order to control
	// the accounts that are returned from that method.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Index uint32 `idl:"name:Index" json:"index"`
	// Return: The SamrGetDisplayEnumerationIndex2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetDisplayEnumerationIndex2Response structure represents the SamrGetDisplayEnumerationIndex2 operation response

func (*GetDisplayEnumerationIndex2Response) MarshalNDR

func (*GetDisplayEnumerationIndex2Response) UnmarshalNDR

type GetDisplayEnumerationIndexRequest

type GetDisplayEnumerationIndexRequest struct {
	Domain                  *Handle                  `idl:"name:DomainHandle" json:"domain"`
	DisplayInformationClass DomainDisplayInformation `idl:"name:DisplayInformationClass" json:"display_information_class"`
	Prefix                  *dtyp.UnicodeString      `idl:"name:Prefix" json:"prefix"`
}

GetDisplayEnumerationIndexRequest structure represents the SamrGetDisplayEnumerationIndex operation request

func (*GetDisplayEnumerationIndexRequest) MarshalNDR

func (*GetDisplayEnumerationIndexRequest) UnmarshalNDR

type GetDisplayEnumerationIndexResponse

type GetDisplayEnumerationIndexResponse struct {
	Index uint32 `idl:"name:Index" json:"index"`
	// Return: The SamrGetDisplayEnumerationIndex return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetDisplayEnumerationIndexResponse structure represents the SamrGetDisplayEnumerationIndex operation response

func (*GetDisplayEnumerationIndexResponse) MarshalNDR

func (*GetDisplayEnumerationIndexResponse) UnmarshalNDR

type GetDomainPasswordInformationRequest

type GetDomainPasswordInformationRequest struct {
}

GetDomainPasswordInformationRequest structure represents the SamrGetDomainPasswordInformation operation request

func (*GetDomainPasswordInformationRequest) MarshalNDR

func (*GetDomainPasswordInformationRequest) UnmarshalNDR

type GetDomainPasswordInformationResponse

type GetDomainPasswordInformationResponse struct {
	// PasswordInformation: Password policy information from the account domain.
	//
	// There is no security enforced for this method beyond the server-wide access check
	// specified in section 3.1.2.1.
	PasswordInformation *UserDomainPasswordInformation `idl:"name:PasswordInformation" json:"password_information"`
	// Return: The SamrGetDomainPasswordInformation return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetDomainPasswordInformationResponse structure represents the SamrGetDomainPasswordInformation operation response

func (*GetDomainPasswordInformationResponse) MarshalNDR

func (*GetDomainPasswordInformationResponse) UnmarshalNDR

type GetGroupsBuffer

type GetGroupsBuffer struct {
	// MembershipCount:  The number of elements in Groups. If zero, Groups MUST be ignored.
	// If nonzero, Groups MUST point to at least MembershipCount * sizeof(GROUP_MEMBERSHIP)
	// bytes of memory.
	MembershipCount uint32 `idl:"name:MembershipCount" json:"membership_count"`
	// Groups:  An array to hold information about the members of the group.
	Groups []*GroupMembership `idl:"name:Groups;size_is:(MembershipCount)" json:"groups"`
}

GetGroupsBuffer structure represents SAMPR_GET_GROUPS_BUFFER RPC structure.

The SAMPR_GET_GROUPS_BUFFER structure represents the members of a group.

func (*GetGroupsBuffer) MarshalNDR

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

func (*GetGroupsBuffer) UnmarshalNDR

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

type GetGroupsForUserRequest

type GetGroupsForUserRequest struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a user object.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
}

GetGroupsForUserRequest structure represents the SamrGetGroupsForUser operation request

func (*GetGroupsForUserRequest) MarshalNDR

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

func (*GetGroupsForUserRequest) UnmarshalNDR

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

type GetGroupsForUserResponse

type GetGroupsForUserResponse struct {
	// Groups: An array of RIDs of the groups that the user referenced by UserHandle is
	// a member of.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Groups *GetGroupsBuffer `idl:"name:Groups" json:"groups"`
	// Return: The SamrGetGroupsForUser return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetGroupsForUserResponse structure represents the SamrGetGroupsForUser operation response

func (*GetGroupsForUserResponse) MarshalNDR

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

func (*GetGroupsForUserResponse) UnmarshalNDR

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

type GetMembersBuffer

type GetMembersBuffer struct {
	// MemberCount:  The number of elements in Members and Attributes. If zero, Members
	// and Attributes MUST be ignored. If nonzero, Members and Attributes MUST point to
	// at least MemberCount * sizeof(unsigned long) bytes of memory.
	MemberCount uint32 `idl:"name:MemberCount" json:"member_count"`
	// Members:  An array of RIDs.
	Members []uint32 `idl:"name:Members;size_is:(MemberCount)" json:"members"`
	// Attributes:  Characteristics about the membership, represented as a bitmask. Values
	// are defined in section 2.2.1.10.
	Attributes []uint32 `idl:"name:Attributes;size_is:(MemberCount)" json:"attributes"`
}

GetMembersBuffer structure represents SAMPR_GET_MEMBERS_BUFFER RPC structure.

The SAMPR_GET_MEMBERS_BUFFER structure represents the membership of a group.

func (*GetMembersBuffer) MarshalNDR

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

func (*GetMembersBuffer) UnmarshalNDR

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

type GetMembersInAliasRequest

type GetMembersInAliasRequest struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// an alias object.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
}

GetMembersInAliasRequest structure represents the SamrGetMembersInAlias operation request

func (*GetMembersInAliasRequest) MarshalNDR

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

func (*GetMembersInAliasRequest) UnmarshalNDR

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

type GetMembersInAliasResponse

type GetMembersInAliasResponse struct {
	// Members: A structure containing an array of SIDs that represent the membership list
	// of the alias referenced by AliasHandle.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Members *SIDArrayOut `idl:"name:Members" json:"members"`
	// Return: The SamrGetMembersInAlias return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetMembersInAliasResponse structure represents the SamrGetMembersInAlias operation response

func (*GetMembersInAliasResponse) MarshalNDR

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

func (*GetMembersInAliasResponse) UnmarshalNDR

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

type GetMembersInGroupRequest

type GetMembersInGroupRequest struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a group object.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
}

GetMembersInGroupRequest structure represents the SamrGetMembersInGroup operation request

func (*GetMembersInGroupRequest) MarshalNDR

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

func (*GetMembersInGroupRequest) UnmarshalNDR

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

type GetMembersInGroupResponse

type GetMembersInGroupResponse struct {
	// Members: A structure containing an array of RIDs, as well as an array of attribute
	// values.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Members *GetMembersBuffer `idl:"name:Members" json:"members"`
	// Return: The SamrGetMembersInGroup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetMembersInGroupResponse structure represents the SamrGetMembersInGroup operation response

func (*GetMembersInGroupResponse) MarshalNDR

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

func (*GetMembersInGroupResponse) UnmarshalNDR

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

type GetUserDomainPasswordInformationRequest

type GetUserDomainPasswordInformationRequest struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a user object.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
}

GetUserDomainPasswordInformationRequest structure represents the SamrGetUserDomainPasswordInformation operation request

func (*GetUserDomainPasswordInformationRequest) MarshalNDR

func (*GetUserDomainPasswordInformationRequest) UnmarshalNDR

type GetUserDomainPasswordInformationResponse

type GetUserDomainPasswordInformationResponse struct {
	// PasswordInformation: Password policy information from the user's domain.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	PasswordInformation *UserDomainPasswordInformation `idl:"name:PasswordInformation" json:"password_information"`
	// Return: The SamrGetUserDomainPasswordInformation return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetUserDomainPasswordInformationResponse structure represents the SamrGetUserDomainPasswordInformation operation response

func (*GetUserDomainPasswordInformationResponse) MarshalNDR

func (*GetUserDomainPasswordInformationResponse) UnmarshalNDR

type GroupAdmCommentInformation

type GroupAdmCommentInformation struct {
	AdminComment *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
}

GroupAdmCommentInformation structure represents SAMPR_GROUP_ADM_COMMENT_INFORMATION RPC structure.

The SAMPR_GROUP_ADM_COMMENT_INFORMATION structure contains group fields.

For information on each field, see section 2.2.4.1.

func (*GroupAdmCommentInformation) MarshalNDR

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

func (*GroupAdmCommentInformation) UnmarshalNDR

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

type GroupAttributeInformation

type GroupAttributeInformation struct {
	Attributes uint32 `idl:"name:Attributes" json:"attributes"`
}

GroupAttributeInformation structure represents GROUP_ATTRIBUTE_INFORMATION RPC structure.

The GROUP_ATTRIBUTE_INFORMATION structure contains group fields.

For information on each field, see section 2.2.4.1.

func (*GroupAttributeInformation) MarshalNDR

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

func (*GroupAttributeInformation) UnmarshalNDR

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

type GroupGeneralInformation

type GroupGeneralInformation struct {
	Name         *dtyp.UnicodeString `idl:"name:Name" json:"name"`
	Attributes   uint32              `idl:"name:Attributes" json:"attributes"`
	MemberCount  uint32              `idl:"name:MemberCount" json:"member_count"`
	AdminComment *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
}

GroupGeneralInformation structure represents SAMPR_GROUP_GENERAL_INFORMATION RPC structure.

The SAMPR_GROUP_GENERAL_INFORMATION structure contains group fields.

For information on each field, see section 2.2.4.1.

func (*GroupGeneralInformation) MarshalNDR

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

func (*GroupGeneralInformation) UnmarshalNDR

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

type GroupInfoBuffer

type GroupInfoBuffer struct {
	// Types that are assignable to Value
	//
	// *GroupInfoBuffer_General
	// *GroupInfoBuffer_Name
	// *GroupInfoBuffer_Attribute
	// *GroupInfoBuffer_AdminComment
	// *GroupInfoBuffer_DoNotUse
	Value is_GroupInfoBuffer `json:"value"`
}

GroupInfoBuffer structure represents SAMPR_GROUP_INFO_BUFFER RPC union.

The SAMPR_GROUP_INFO_BUFFER union combines all possible structures used in the SamrSetInformationGroup and SamrQueryInformationGroup methods. For information on each field, with the exception of the DoNotUse field, see the associated section for the field structure.

func (*GroupInfoBuffer) GetValue

func (o *GroupInfoBuffer) GetValue() any

func (*GroupInfoBuffer) MarshalUnionNDR

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

func (*GroupInfoBuffer) NDRSwitchValue

func (o *GroupInfoBuffer) NDRSwitchValue(sw uint16) uint16

func (*GroupInfoBuffer) UnmarshalUnionNDR

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

type GroupInfoBuffer_AdminComment

type GroupInfoBuffer_AdminComment struct {
	AdminComment *GroupAdmCommentInformation `idl:"name:AdminComment" json:"admin_comment"`
}

GroupInfoBuffer_AdminComment structure represents SAMPR_GROUP_INFO_BUFFER RPC union arm.

It has following labels: 4

func (*GroupInfoBuffer_AdminComment) MarshalNDR

func (*GroupInfoBuffer_AdminComment) UnmarshalNDR

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

type GroupInfoBuffer_Attribute

type GroupInfoBuffer_Attribute struct {
	Attribute *GroupAttributeInformation `idl:"name:Attribute" json:"attribute"`
}

GroupInfoBuffer_Attribute structure represents SAMPR_GROUP_INFO_BUFFER RPC union arm.

It has following labels: 3

func (*GroupInfoBuffer_Attribute) MarshalNDR

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

func (*GroupInfoBuffer_Attribute) UnmarshalNDR

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

type GroupInfoBuffer_DoNotUse

type GroupInfoBuffer_DoNotUse struct {
	// DoNotUse:  This field exists to allow the GroupReplicationInformation enumeration
	// to be specified by the client.
	DoNotUse *GroupGeneralInformation `idl:"name:DoNotUse" json:"do_not_use"`
}

GroupInfoBuffer_DoNotUse structure represents SAMPR_GROUP_INFO_BUFFER RPC union arm.

It has following labels: 5

func (*GroupInfoBuffer_DoNotUse) MarshalNDR

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

func (*GroupInfoBuffer_DoNotUse) UnmarshalNDR

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

type GroupInfoBuffer_General

type GroupInfoBuffer_General struct {
	General *GroupGeneralInformation `idl:"name:General" json:"general"`
}

GroupInfoBuffer_General structure represents SAMPR_GROUP_INFO_BUFFER RPC union arm.

It has following labels: 1

func (*GroupInfoBuffer_General) MarshalNDR

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

func (*GroupInfoBuffer_General) UnmarshalNDR

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

type GroupInfoBuffer_Name

type GroupInfoBuffer_Name struct {
	Name *GroupNameInformation `idl:"name:Name" json:"name"`
}

GroupInfoBuffer_Name structure represents SAMPR_GROUP_INFO_BUFFER RPC union arm.

It has following labels: 2

func (*GroupInfoBuffer_Name) MarshalNDR

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

func (*GroupInfoBuffer_Name) UnmarshalNDR

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

type GroupInformationClass

type GroupInformationClass uint16

GroupInformationClass type represents GROUP_INFORMATION_CLASS RPC enumeration.

The GROUP_INFORMATION_CLASS enumeration indicates how to interpret the Buffer parameter for SamrSetInformationGroup and SamrQueryInformationGroup. For a list of associated structures, see section 2.2.4.7.

var (
	// GroupGeneralInformation:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_GROUP_GENERAL_INFORMATION structure (see section 2.2.4.3).
	GroupInformationClassGeneralInformation GroupInformationClass = 1
	// GroupNameInformation:  Indicates the Buffer parameter is to be interpreted as a
	// SAMPR_GROUP_NAME_INFORMATION structure (see section 2.2.4.4).
	GroupInformationClassNameInformation GroupInformationClass = 2
	// GroupAttributeInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_GROUP_ATTRIBUTE_INFORMATION structure (see section 2.2.4.2).
	GroupInformationClassAttributeInformation GroupInformationClass = 3
	// GroupAdminCommentInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_GROUP_ADM_COMMENT_INFORMATION structure (see section 2.2.4.5).
	GroupInformationClassAdminCommentInformation GroupInformationClass = 4
	// GroupReplicationInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_GROUP_GENERAL_INFORMATION structure (see section 2.2.4.3).
	GroupInformationClassReplicationInformation GroupInformationClass = 5
)

func (GroupInformationClass) String

func (o GroupInformationClass) String() string

type GroupMembership

type GroupMembership struct {
	// RelativeId:  A RID that represents one membership value.
	RelativeID uint32 `idl:"name:RelativeId" json:"relative_id"`
	// Attributes:  Characteristics about the membership represented as a bitmask. Values
	// are defined in section 2.2.1.10.
	Attributes uint32 `idl:"name:Attributes" json:"attributes"`
}

GroupMembership structure represents GROUP_MEMBERSHIP RPC structure.

The GROUP_MEMBERSHIP structure holds information on a group membership.

func (*GroupMembership) MarshalNDR

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

func (*GroupMembership) UnmarshalNDR

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

type GroupNameInformation

type GroupNameInformation struct {
	Name *dtyp.UnicodeString `idl:"name:Name" json:"name"`
}

GroupNameInformation structure represents SAMPR_GROUP_NAME_INFORMATION RPC structure.

The SAMPR_GROUP_NAME_INFORMATION structure contains group fields.

For information on each field, see section 2.2.4.1.

func (*GroupNameInformation) MarshalNDR

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

func (*GroupNameInformation) UnmarshalNDR

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

type Handle

type Handle dcetypes.ContextHandle

Handle structure represents SAMPR_HANDLE RPC structure.

func (*Handle) ContextHandle

func (o *Handle) ContextHandle() *dcetypes.ContextHandle

func (*Handle) MarshalNDR

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

func (*Handle) UnmarshalNDR

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

type LogonHours

type LogonHours struct {
	// UnitsPerWeek:  A division of the week (7 days). For example, the value 7 means that
	// each unit is a day; a value of (7*24) means that the units are hours. The minimum
	// granularity of time is one minute, where the UnitsPerWeek would be 10080; therefore,
	// the maximum size of LogonHours is 10080/8, or 1,260 bytes.
	UnitsPerWeek uint16 `idl:"name:UnitsPerWeek" json:"units_per_week"`
	// LogonHours:  A pointer to a bit field containing at least UnitsPerWeek number of
	// bits. The leftmost bit represents the first unit, starting at Sunday, 12 A.M. If
	// a bit is set, authentication is allowed to occur; otherwise, authentication is not
	// allowed to occur.
	LogonHours []byte `idl:"name:LogonHours;size_is:(1260);length_is:(((UnitsPerWeek+7)/8))" json:"logon_hours"`
}

LogonHours structure represents SAMPR_LOGON_HOURS RPC structure.

The SAMPR_LOGON_HOURS structure contains logon policy information that describes when a user account is permitted to authenticate.

func (*LogonHours) MarshalNDR

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

func (*LogonHours) UnmarshalNDR

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

type LookupDomainInSAMServerRequest

type LookupDomainInSAMServerRequest struct {
	// ServerHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a server object.
	Server *Handle `idl:"name:ServerHandle" json:"server"`
	// Name: A UTF-16 encoded string.
	Name *dtyp.UnicodeString `idl:"name:Name" json:"name"`
}

LookupDomainInSAMServerRequest structure represents the SamrLookupDomainInSamServer operation request

func (*LookupDomainInSAMServerRequest) MarshalNDR

func (*LookupDomainInSAMServerRequest) UnmarshalNDR

type LookupDomainInSAMServerResponse

type LookupDomainInSAMServerResponse struct {
	// DomainId: A SID value of a domain that corresponds to the Name passed in. The match
	// MUST be exact (no wildcard characters are permitted). See message processing later
	// in this section for more details.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	DomainID *dtyp.SID `idl:"name:DomainId" json:"domain_id"`
	// Return: The SamrLookupDomainInSamServer return value.
	Return int32 `idl:"name:Return" json:"return"`
}

LookupDomainInSAMServerResponse structure represents the SamrLookupDomainInSamServer operation response

func (*LookupDomainInSAMServerResponse) MarshalNDR

func (*LookupDomainInSAMServerResponse) UnmarshalNDR

type LookupIDsInDomainRequest

type LookupIDsInDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// Count: The number of elements in RelativeIds. The maximum value of 1,000 is chosen
	// to limit the amount of memory that the client can force the server to allocate.
	Count uint32 `idl:"name:Count" json:"count"`
	// RelativeIds: An array of RIDs that are to be mapped to account names.
	RelativeIDs []uint32 `idl:"name:RelativeIds;size_is:(1000);length_is:(Count)" json:"relative_ids"`
}

LookupIDsInDomainRequest structure represents the SamrLookupIdsInDomain operation request

func (*LookupIDsInDomainRequest) MarshalNDR

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

func (*LookupIDsInDomainRequest) UnmarshalNDR

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

type LookupIDsInDomainResponse

type LookupIDsInDomainResponse struct {
	// Names: A structure containing an array of account names that correspond to the elements
	// in RelativeIds.
	Names *ReturnedUstringArray `idl:"name:Names" json:"names"`
	// Use: A structure containing an array of SID_NAME_USE enumeration values that describe
	// the type of account for each entry in RelativeIds.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Use *Uint32Array `idl:"name:Use" json:"use"`
	// Return: The SamrLookupIdsInDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

LookupIDsInDomainResponse structure represents the SamrLookupIdsInDomain operation response

func (*LookupIDsInDomainResponse) MarshalNDR

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

func (*LookupIDsInDomainResponse) UnmarshalNDR

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

type LookupNamesInDomainRequest

type LookupNamesInDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// Count: The number of elements in Names. The maximum value of 1,000 is chosen to limit
	// the amount of memory that the client can force the server to allocate.
	Count uint32 `idl:"name:Count" json:"count"`
	// Names: An array of strings that are to be mapped to RIDs.
	Names []*dtyp.UnicodeString `idl:"name:Names;size_is:(1000);length_is:(Count)" json:"names"`
}

LookupNamesInDomainRequest structure represents the SamrLookupNamesInDomain operation request

func (*LookupNamesInDomainRequest) MarshalNDR

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

func (*LookupNamesInDomainRequest) UnmarshalNDR

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

type LookupNamesInDomainResponse

type LookupNamesInDomainResponse struct {
	// RelativeIds: An array of RIDs of accounts that correspond to the elements in Names.
	RelativeIDs *Uint32Array `idl:"name:RelativeIds" json:"relative_ids"`
	// Use: An array of SID_NAME_USE enumeration values that describe the type of account
	// for each entry in RelativeIds.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Use *Uint32Array `idl:"name:Use" json:"use"`
	// Return: The SamrLookupNamesInDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

LookupNamesInDomainResponse structure represents the SamrLookupNamesInDomain operation response

func (*LookupNamesInDomainResponse) MarshalNDR

func (*LookupNamesInDomainResponse) UnmarshalNDR

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

type OEMChangePasswordUser2Request

type OEMChangePasswordUser2Request struct {
	// ServerName: A counted string, encoded in the OEM character set, containing the NETBIOS
	// name of the server; this parameter MAY<65> be ignored by the server.
	ServerName *String `idl:"name:ServerName;pointer:unique" json:"server_name"`
	// UserName: A counted string, encoded in the OEM character set, containing the name
	// of the user whose password is to be changed; see message processing later in this
	// section for details on how this value is used as a database key to locate the account
	// that is the target of this password change operation.
	UserName *String `idl:"name:UserName" json:"user_name"`
	// NewPasswordEncryptedWithOldLm: A cleartext password encrypted according to the specification
	// of SAMPR_ENCRYPTED_USER_PASSWORD (section 2.2.6.21), where the key is the LM hash
	// of the existing password for the target user (as presented by the client). The cleartext
	// password MUST be encoded in an OEM code page character set (as opposed to UTF-16).
	NewPasswordEncryptedWithOldLM *EncryptedUserPassword `idl:"name:NewPasswordEncryptedWithOldLm;pointer:unique" json:"new_password_encrypted_with_old_lm"`
	// OldLmOwfPasswordEncryptedWithNewLm: The LM hash of the target user's existing password
	// (as presented by the client) encrypted according to the specification of ENCRYPTED_LM_OWF_PASSWORD
	// (section 2.2.7.3), where the key is the LM hash of the cleartext password obtained
	// from decrypting NewPasswordEncryptedWithOldLm (see the preceding description for
	// decryption details).
	OldLMOWFPasswordEncryptedWithNewLM *EncryptedLMOWFPassword `idl:"name:OldLmOwfPasswordEncryptedWithNewLm;pointer:unique" json:"old_lm_owf_password_encrypted_with_new_lm"`
}

OEMChangePasswordUser2Request structure represents the SamrOemChangePasswordUser2 operation request

func (*OEMChangePasswordUser2Request) MarshalNDR

func (*OEMChangePasswordUser2Request) UnmarshalNDR

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

type OEMChangePasswordUser2Response

type OEMChangePasswordUser2Response struct {
	// Return: The SamrOemChangePasswordUser2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

OEMChangePasswordUser2Response structure represents the SamrOemChangePasswordUser2 operation response

func (*OEMChangePasswordUser2Response) MarshalNDR

func (*OEMChangePasswordUser2Response) UnmarshalNDR

type OldLargeInteger

type OldLargeInteger struct {
	// LowPart:  The least-significant portion of a 64-bit value.
	LowPart uint32 `idl:"name:LowPart" json:"low_part"`
	// HighPart:  The most-significant portion of a 64-bit value.
	HighPart int32 `idl:"name:HighPart" json:"high_part"`
}

OldLargeInteger structure represents OLD_LARGE_INTEGER RPC structure.

The OLD_LARGE_INTEGER structure defines a 64-bit value that is accessible in two 4-byte chunks.

func (*OldLargeInteger) MarshalNDR

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

func (*OldLargeInteger) UnmarshalNDR

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

type OpenAliasRequest

type OpenAliasRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// DesiredAccess: An ACCESS_MASK that indicates the requested access for the returned
	// handle. See section 2.2.1.6 for a list of alias access values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
	// AliasId: A RID of an alias.
	AliasID uint32 `idl:"name:AliasId" json:"alias_id"`
}

OpenAliasRequest structure represents the SamrOpenAlias operation request

func (*OpenAliasRequest) MarshalNDR

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

func (*OpenAliasRequest) UnmarshalNDR

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

type OpenAliasResponse

type OpenAliasResponse struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
	// Return: The SamrOpenAlias return value.
	Return int32 `idl:"name:Return" json:"return"`
}

OpenAliasResponse structure represents the SamrOpenAlias operation response

func (*OpenAliasResponse) MarshalNDR

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

func (*OpenAliasResponse) UnmarshalNDR

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

type OpenDomainRequest

type OpenDomainRequest struct {
	// ServerHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a server object.
	Server *Handle `idl:"name:ServerHandle" json:"server"`
	// DesiredAccess: An ACCESS_MASK. See section 2.2.1.4 for a list of domain access values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
	// DomainId: A SID value of a domain hosted by the server side of this protocol.
	DomainID *dtyp.SID `idl:"name:DomainId" json:"domain_id"`
}

OpenDomainRequest structure represents the SamrOpenDomain operation request

func (*OpenDomainRequest) MarshalNDR

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

func (*OpenDomainRequest) UnmarshalNDR

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

type OpenDomainResponse

type OpenDomainResponse struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// Return: The SamrOpenDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

OpenDomainResponse structure represents the SamrOpenDomain operation response

func (*OpenDomainResponse) MarshalNDR

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

func (*OpenDomainResponse) UnmarshalNDR

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

type OpenGroupRequest

type OpenGroupRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// DesiredAccess: An ACCESS_MASK that indicates the requested access for the returned
	// handle. See section 2.2.1.5 for a list of group access values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
	// GroupId: A RID of a group.
	GroupID uint32 `idl:"name:GroupId" json:"group_id"`
}

OpenGroupRequest structure represents the SamrOpenGroup operation request

func (*OpenGroupRequest) MarshalNDR

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

func (*OpenGroupRequest) UnmarshalNDR

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

type OpenGroupResponse

type OpenGroupResponse struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
	// Return: The SamrOpenGroup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

OpenGroupResponse structure represents the SamrOpenGroup operation response

func (*OpenGroupResponse) MarshalNDR

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

func (*OpenGroupResponse) UnmarshalNDR

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

type OpenUserRequest

type OpenUserRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// DesiredAccess: An ACCESS_MASK that indicates the requested access for the returned
	// handle. See section 2.2.1.7 for a list of user access values.
	DesiredAccess uint32 `idl:"name:DesiredAccess" json:"desired_access"`
	// UserId: A RID of a user account.
	UserID uint32 `idl:"name:UserId" json:"user_id"`
}

OpenUserRequest structure represents the SamrOpenUser operation request

func (*OpenUserRequest) MarshalNDR

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

func (*OpenUserRequest) UnmarshalNDR

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

type OpenUserResponse

type OpenUserResponse struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
	// Return: The SamrOpenUser return value.
	Return int32 `idl:"name:Return" json:"return"`
}

OpenUserResponse structure represents the SamrOpenUser operation response

func (*OpenUserResponse) MarshalNDR

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

func (*OpenUserResponse) UnmarshalNDR

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

type PasswordPolicyValidationType

type PasswordPolicyValidationType uint16

PasswordPolicyValidationType type represents PASSWORD_POLICY_VALIDATION_TYPE RPC enumeration.

The PASSWORD_POLICY_VALIDATION_TYPE enumeration indicates the type of policy validation that is being requested.

var (
	// SamValidateAuthentication:  Indicates a request to execute the password policy validation
	// performed at logon.
	PasswordPolicyValidationTypeSAMValidateAuthentication PasswordPolicyValidationType = 1
	// SamValidatePasswordChange:  Indicates a request to execute the password policy validation
	// performed during a password change request.
	PasswordPolicyValidationTypeSAMValidatePasswordChange PasswordPolicyValidationType = 2
	// SamValidatePasswordReset:  Indicates a request to execute the password policy validation
	// performed during a password reset.
	PasswordPolicyValidationTypeSAMValidatePasswordReset PasswordPolicyValidationType = 3
)

func (PasswordPolicyValidationType) String

type QueryDisplayInformation2Request

type QueryDisplayInformation2Request struct {
	Domain                  *Handle                  `idl:"name:DomainHandle" json:"domain"`
	DisplayInformationClass DomainDisplayInformation `idl:"name:DisplayInformationClass" json:"display_information_class"`
	Index                   uint32                   `idl:"name:Index" json:"index"`
	EntryCount              uint32                   `idl:"name:EntryCount" json:"entry_count"`
	PreferredMaximumLength  uint32                   `idl:"name:PreferredMaximumLength" json:"preferred_maximum_length"`
}

QueryDisplayInformation2Request structure represents the SamrQueryDisplayInformation2 operation request

func (*QueryDisplayInformation2Request) MarshalNDR

func (*QueryDisplayInformation2Request) UnmarshalNDR

type QueryDisplayInformation2Response

type QueryDisplayInformation2Response struct {
	TotalAvailable uint32             `idl:"name:TotalAvailable" json:"total_available"`
	TotalReturned  uint32             `idl:"name:TotalReturned" json:"total_returned"`
	Buffer         *DisplayInfoBuffer `idl:"name:Buffer;switch_is:DisplayInformationClass" json:"buffer"`
	// Return: The SamrQueryDisplayInformation2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryDisplayInformation2Response structure represents the SamrQueryDisplayInformation2 operation response

func (*QueryDisplayInformation2Response) MarshalNDR

func (*QueryDisplayInformation2Response) UnmarshalNDR

type QueryDisplayInformation3Request

type QueryDisplayInformation3Request struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// DisplayInformationClass: An enumeration (see section 2.2.8.12) that indicates the
	// type of accounts, as well as the type of attributes on the accounts, to return via
	// the Buffer parameter.
	DisplayInformationClass DomainDisplayInformation `idl:"name:DisplayInformationClass" json:"display_information_class"`
	// Index: A cursor into an account-name–sorted list of accounts.
	Index uint32 `idl:"name:Index" json:"index"`
	// EntryCount: The number of accounts that the client is requesting on output.
	EntryCount uint32 `idl:"name:EntryCount" json:"entry_count"`
	// PreferredMaximumLength: The requested maximum number of bytes to return in Buffer;
	// this value overrides EntryCount if this value is reached before EntryCount is reached.
	PreferredMaximumLength uint32 `idl:"name:PreferredMaximumLength" json:"preferred_maximum_length"`
}

QueryDisplayInformation3Request structure represents the SamrQueryDisplayInformation3 operation request

func (*QueryDisplayInformation3Request) MarshalNDR

func (*QueryDisplayInformation3Request) UnmarshalNDR

type QueryDisplayInformation3Response

type QueryDisplayInformation3Response struct {
	// TotalAvailable: The number of bytes required to see a complete listing of accounts
	// specified by the DisplayInformationClass parameter.
	TotalAvailable uint32 `idl:"name:TotalAvailable" json:"total_available"`
	// TotalReturned: The number of bytes returned.<53>
	TotalReturned uint32 `idl:"name:TotalReturned" json:"total_returned"`
	// Buffer: The accounts that are returned.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Buffer *DisplayInfoBuffer `idl:"name:Buffer;switch_is:DisplayInformationClass" json:"buffer"`
	// Return: The SamrQueryDisplayInformation3 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryDisplayInformation3Response structure represents the SamrQueryDisplayInformation3 operation response

func (*QueryDisplayInformation3Response) MarshalNDR

func (*QueryDisplayInformation3Response) UnmarshalNDR

type QueryDisplayInformationRequest

type QueryDisplayInformationRequest struct {
	Domain                  *Handle                  `idl:"name:DomainHandle" json:"domain"`
	DisplayInformationClass DomainDisplayInformation `idl:"name:DisplayInformationClass" json:"display_information_class"`
	Index                   uint32                   `idl:"name:Index" json:"index"`
	EntryCount              uint32                   `idl:"name:EntryCount" json:"entry_count"`
	PreferredMaximumLength  uint32                   `idl:"name:PreferredMaximumLength" json:"preferred_maximum_length"`
}

QueryDisplayInformationRequest structure represents the SamrQueryDisplayInformation operation request

func (*QueryDisplayInformationRequest) MarshalNDR

func (*QueryDisplayInformationRequest) UnmarshalNDR

type QueryDisplayInformationResponse

type QueryDisplayInformationResponse struct {
	TotalAvailable uint32             `idl:"name:TotalAvailable" json:"total_available"`
	TotalReturned  uint32             `idl:"name:TotalReturned" json:"total_returned"`
	Buffer         *DisplayInfoBuffer `idl:"name:Buffer;switch_is:DisplayInformationClass" json:"buffer"`
	// Return: The SamrQueryDisplayInformation return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryDisplayInformationResponse structure represents the SamrQueryDisplayInformation operation response

func (*QueryDisplayInformationResponse) MarshalNDR

func (*QueryDisplayInformationResponse) UnmarshalNDR

type QueryInformationAliasRequest

type QueryInformationAliasRequest struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// an alias object.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
	// AliasInformationClass: An enumeration indicating which attributes to return. See
	// section 2.2.5.5 for a listing of possible values.
	AliasInformationClass AliasInformationClass `idl:"name:AliasInformationClass" json:"alias_information_class"`
}

QueryInformationAliasRequest structure represents the SamrQueryInformationAlias operation request

func (*QueryInformationAliasRequest) MarshalNDR

func (*QueryInformationAliasRequest) UnmarshalNDR

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

type QueryInformationAliasResponse

type QueryInformationAliasResponse struct {
	// Buffer: The requested attributes on output. See section 2.2.5.6 for structure details.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Buffer *AliasInfoBuffer `idl:"name:Buffer;switch_is:AliasInformationClass" json:"buffer"`
	// Return: The SamrQueryInformationAlias return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryInformationAliasResponse structure represents the SamrQueryInformationAlias operation response

func (*QueryInformationAliasResponse) MarshalNDR

func (*QueryInformationAliasResponse) UnmarshalNDR

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

type QueryInformationDomain2Request

type QueryInformationDomain2Request struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// DomainInformationClass: An enumeration indicating which attributes to return. See
	// section 2.2.3.16 for a listing of possible values.
	DomainInformationClass DomainInformationClass `idl:"name:DomainInformationClass" json:"domain_information_class"`
}

QueryInformationDomain2Request structure represents the SamrQueryInformationDomain2 operation request

func (*QueryInformationDomain2Request) MarshalNDR

func (*QueryInformationDomain2Request) UnmarshalNDR

type QueryInformationDomain2Response

type QueryInformationDomain2Response struct {
	// Buffer: The requested attributes on output. See section 2.2.3.17 for structure details.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Buffer *DomainInfoBuffer `idl:"name:Buffer;switch_is:DomainInformationClass" json:"buffer"`
	// Return: The SamrQueryInformationDomain2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryInformationDomain2Response structure represents the SamrQueryInformationDomain2 operation response

func (*QueryInformationDomain2Response) MarshalNDR

func (*QueryInformationDomain2Response) UnmarshalNDR

type QueryInformationDomainRequest

type QueryInformationDomainRequest struct {
	Domain                 *Handle                `idl:"name:DomainHandle" json:"domain"`
	DomainInformationClass DomainInformationClass `idl:"name:DomainInformationClass" json:"domain_information_class"`
}

QueryInformationDomainRequest structure represents the SamrQueryInformationDomain operation request

func (*QueryInformationDomainRequest) MarshalNDR

func (*QueryInformationDomainRequest) UnmarshalNDR

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

type QueryInformationDomainResponse

type QueryInformationDomainResponse struct {
	Buffer *DomainInfoBuffer `idl:"name:Buffer;switch_is:DomainInformationClass" json:"buffer"`
	// Return: The SamrQueryInformationDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryInformationDomainResponse structure represents the SamrQueryInformationDomain operation response

func (*QueryInformationDomainResponse) MarshalNDR

func (*QueryInformationDomainResponse) UnmarshalNDR

type QueryInformationGroupRequest

type QueryInformationGroupRequest struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a group object.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
	// GroupInformationClass: An enumeration indicating which attributes to return. See
	// section 2.2.4.6 for a listing of possible values.
	GroupInformationClass GroupInformationClass `idl:"name:GroupInformationClass" json:"group_information_class"`
}

QueryInformationGroupRequest structure represents the SamrQueryInformationGroup operation request

func (*QueryInformationGroupRequest) MarshalNDR

func (*QueryInformationGroupRequest) UnmarshalNDR

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

type QueryInformationGroupResponse

type QueryInformationGroupResponse struct {
	// Buffer: The requested attributes on output. See section 2.2.4.7 for structure details.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Buffer *GroupInfoBuffer `idl:"name:Buffer;switch_is:GroupInformationClass" json:"buffer"`
	// Return: The SamrQueryInformationGroup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryInformationGroupResponse structure represents the SamrQueryInformationGroup operation response

func (*QueryInformationGroupResponse) MarshalNDR

func (*QueryInformationGroupResponse) UnmarshalNDR

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

type QueryInformationUser2Request

type QueryInformationUser2Request struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a user object.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
	// UserInformationClass: An enumeration indicating which attributes to return. See section
	// 2.2.6.28 for a list of possible values.
	UserInformationClass UserInformationClass `idl:"name:UserInformationClass" json:"user_information_class"`
}

QueryInformationUser2Request structure represents the SamrQueryInformationUser2 operation request

func (*QueryInformationUser2Request) MarshalNDR

func (*QueryInformationUser2Request) UnmarshalNDR

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

type QueryInformationUser2Response

type QueryInformationUser2Response struct {
	// Buffer: The requested attributes on output. See section 2.2.6.29 for structure details.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Buffer *UserInfoBuffer `idl:"name:Buffer;switch_is:UserInformationClass" json:"buffer"`
	// Return: The SamrQueryInformationUser2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryInformationUser2Response structure represents the SamrQueryInformationUser2 operation response

func (*QueryInformationUser2Response) MarshalNDR

func (*QueryInformationUser2Response) UnmarshalNDR

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

type QueryInformationUserRequest

type QueryInformationUserRequest struct {
	UserHandle           *Handle              `idl:"name:UserHandle" json:"user_handle"`
	UserInformationClass UserInformationClass `idl:"name:UserInformationClass" json:"user_information_class"`
}

QueryInformationUserRequest structure represents the SamrQueryInformationUser operation request

func (*QueryInformationUserRequest) MarshalNDR

func (*QueryInformationUserRequest) UnmarshalNDR

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

type QueryInformationUserResponse

type QueryInformationUserResponse struct {
	Buffer *UserInfoBuffer `idl:"name:Buffer;switch_is:UserInformationClass" json:"buffer"`
	// Return: The SamrQueryInformationUser return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryInformationUserResponse structure represents the SamrQueryInformationUser operation response

func (*QueryInformationUserResponse) MarshalNDR

func (*QueryInformationUserResponse) UnmarshalNDR

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

type QuerySecurityObjectRequest

type QuerySecurityObjectRequest struct {
	// ObjectHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a server, domain, user, group, or alias object.
	Object *Handle `idl:"name:ObjectHandle" json:"object"`
	// SecurityInformation: A bit field that specifies which fields of SecurityDescriptor
	// the client is requesting to be returned.
	//
	// The SECURITY_INFORMATION type is defined in [MS-DTYP] section 2.4.7. The following
	// bits are valid; all other bits MUST be zero when sent and ignored on receipt.
	//
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	|                                       |                                                                                  |
	//	|                 VALUE                 |                                     MEANING                                      |
	//	|                                       |                                                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| OWNER_SECURITY_INFORMATION 0x00000001 | If this bit is set, the client requests that the Owner member be returned. If    |
	//	|                                       | this bit is not set, the client requests that the Owner member not be returned.  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| GROUP_SECURITY_INFORMATION 0x00000002 | If this bit is set, the client requests that the Group member be returned. If    |
	//	|                                       | this bit is not set, the client requests that the Group member not be returned.  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| DACL_SECURITY_INFORMATION 0x00000004  | If this bit is set, the client requests that the DACL be returned. If this bit   |
	//	|                                       | is not set, the client requests that the DACL not be returned.                   |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| SACL_SECURITY_INFORMATION 0x00000008  | If this bit is set, the client requests that the SACL be returned. If this bit   |
	//	|                                       | is not set, the client requests that the SACL not be returned.                   |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
}

QuerySecurityObjectRequest structure represents the SamrQuerySecurityObject operation request

func (*QuerySecurityObjectRequest) MarshalNDR

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

func (*QuerySecurityObjectRequest) UnmarshalNDR

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

type QuerySecurityObjectResponse

type QuerySecurityObjectResponse struct {
	// SecurityDescriptor: A security descriptor expressing accesses that are specific to
	// the ObjectHandle and the owner and group of the object. [MS-DTYP] section 2.4.6 contains
	// the specification for a valid security descriptor.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	SecurityDescriptor *SrSecurityDescriptor `idl:"name:SecurityDescriptor" json:"security_descriptor"`
	// Return: The SamrQuerySecurityObject return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QuerySecurityObjectResponse structure represents the SamrQuerySecurityObject operation response

func (*QuerySecurityObjectResponse) MarshalNDR

func (*QuerySecurityObjectResponse) UnmarshalNDR

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

type RIDEnumeration

type RIDEnumeration struct {
	// RelativeId:  A RID.
	RelativeID uint32 `idl:"name:RelativeId" json:"relative_id"`
	// Name:  The UTF-16 encoded name of the account that is associated with RelativeId.
	Name *dtyp.UnicodeString `idl:"name:Name" json:"name"`
}

RIDEnumeration structure represents SAMPR_RID_ENUMERATION RPC structure.

The SAMPR_RID_ENUMERATION structure holds the name and RID information about an account.

func (*RIDEnumeration) MarshalNDR

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

func (*RIDEnumeration) UnmarshalNDR

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

type RIDToSIDRequest

type RIDToSIDRequest struct {
	// ObjectHandle: An RPC context handle, as specified in section 2.2.7.2. The message
	// processing shown later in this section contains details on which types of ObjectHandle
	// are accepted by the server.
	Object *Handle `idl:"name:ObjectHandle" json:"object"`
	// Rid: A RID of an account.
	RID uint32 `idl:"name:Rid" json:"rid"`
}

RIDToSIDRequest structure represents the SamrRidToSid operation request

func (*RIDToSIDRequest) MarshalNDR

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

func (*RIDToSIDRequest) UnmarshalNDR

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

type RIDToSIDResponse

type RIDToSIDResponse struct {
	// Sid: The SID of the account referenced by Rid.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	SID *dtyp.SID `idl:"name:Sid" json:"sid"`
	// Return: The SamrRidToSid return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RIDToSIDResponse structure represents the SamrRidToSid operation response

func (*RIDToSIDResponse) MarshalNDR

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

func (*RIDToSIDResponse) UnmarshalNDR

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

type RemoveMemberFromAliasRequest

type RemoveMemberFromAliasRequest struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// an alias object.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
	// MemberId: The SID of an account to remove from the alias.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	MemberID *dtyp.SID `idl:"name:MemberId" json:"member_id"`
}

RemoveMemberFromAliasRequest structure represents the SamrRemoveMemberFromAlias operation request

func (*RemoveMemberFromAliasRequest) MarshalNDR

func (*RemoveMemberFromAliasRequest) UnmarshalNDR

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

type RemoveMemberFromAliasResponse

type RemoveMemberFromAliasResponse struct {
	// Return: The SamrRemoveMemberFromAlias return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RemoveMemberFromAliasResponse structure represents the SamrRemoveMemberFromAlias operation response

func (*RemoveMemberFromAliasResponse) MarshalNDR

func (*RemoveMemberFromAliasResponse) UnmarshalNDR

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

type RemoveMemberFromForeignDomainRequest

type RemoveMemberFromForeignDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// MemberSid: The SID to remove from the membership.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	MemberSID *dtyp.SID `idl:"name:MemberSid" json:"member_sid"`
}

RemoveMemberFromForeignDomainRequest structure represents the SamrRemoveMemberFromForeignDomain operation request

func (*RemoveMemberFromForeignDomainRequest) MarshalNDR

func (*RemoveMemberFromForeignDomainRequest) UnmarshalNDR

type RemoveMemberFromForeignDomainResponse

type RemoveMemberFromForeignDomainResponse struct {
	// Return: The SamrRemoveMemberFromForeignDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RemoveMemberFromForeignDomainResponse structure represents the SamrRemoveMemberFromForeignDomain operation response

func (*RemoveMemberFromForeignDomainResponse) MarshalNDR

func (*RemoveMemberFromForeignDomainResponse) UnmarshalNDR

type RemoveMemberFromGroupRequest

type RemoveMemberFromGroupRequest struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a group object.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
	// MemberId: A RID representing an account to remove from the group's membership list.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	MemberID uint32 `idl:"name:MemberId" json:"member_id"`
}

RemoveMemberFromGroupRequest structure represents the SamrRemoveMemberFromGroup operation request

func (*RemoveMemberFromGroupRequest) MarshalNDR

func (*RemoveMemberFromGroupRequest) UnmarshalNDR

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

type RemoveMemberFromGroupResponse

type RemoveMemberFromGroupResponse struct {
	// Return: The SamrRemoveMemberFromGroup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RemoveMemberFromGroupResponse structure represents the SamrRemoveMemberFromGroup operation response

func (*RemoveMemberFromGroupResponse) MarshalNDR

func (*RemoveMemberFromGroupResponse) UnmarshalNDR

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

type RemoveMultipleMembersFromAliasRequest

type RemoveMultipleMembersFromAliasRequest struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// an alias object.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
	// MembersBuffer: A structure containing a list of SIDs to remove from the alias's membership
	// list.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	MembersBuffer *SIDArray `idl:"name:MembersBuffer" json:"members_buffer"`
}

RemoveMultipleMembersFromAliasRequest structure represents the SamrRemoveMultipleMembersFromAlias operation request

func (*RemoveMultipleMembersFromAliasRequest) MarshalNDR

func (*RemoveMultipleMembersFromAliasRequest) UnmarshalNDR

type RemoveMultipleMembersFromAliasResponse

type RemoveMultipleMembersFromAliasResponse struct {
	// Return: The SamrRemoveMultipleMembersFromAlias return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RemoveMultipleMembersFromAliasResponse structure represents the SamrRemoveMultipleMembersFromAlias operation response

func (*RemoveMultipleMembersFromAliasResponse) MarshalNDR

func (*RemoveMultipleMembersFromAliasResponse) UnmarshalNDR

type ReturnedUstringArray

type ReturnedUstringArray struct {
	// Count:  The number of elements in Element. If zero, Element MUST be ignored. If nonzero,
	// Element MUST point to at least Count * sizeof(RPC_UNICODE_STRING) bytes of memory.
	Count uint32 `idl:"name:Count" json:"count"`
	// Element:  Array of counted strings (see RPC_UNICODE_STRING in [MS-DTYP] section 2.3.10).
	// The semantic meaning is method-dependent.
	Element []*dtyp.UnicodeString `idl:"name:Element;size_is:(Count)" json:"element"`
}

ReturnedUstringArray structure represents SAMPR_RETURNED_USTRING_ARRAY RPC structure.

The SAMPR_RETURNED_USTRING_ARRAY structure holds an array of counted UTF-16 encoded strings.

func (*ReturnedUstringArray) MarshalNDR

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

func (*ReturnedUstringArray) UnmarshalNDR

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

type RevisionInfo

type RevisionInfo struct {
	// Types that are assignable to Value
	//
	// *RevisionInfo_V1
	Value is_RevisionInfo `json:"value"`
}

RevisionInfo structure represents SAMPR_REVISION_INFO RPC union.

The SAMPR_REVISION_INFO union holds revision information structures that are used in the SamrConnect5 method.

func (*RevisionInfo) GetValue

func (o *RevisionInfo) GetValue() any

func (*RevisionInfo) MarshalUnionNDR

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

func (*RevisionInfo) NDRSwitchValue

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

func (*RevisionInfo) UnmarshalUnionNDR

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

type RevisionInfoV1

type RevisionInfoV1 struct {
	// Revision:  The revision of the client or server side of this protocol (depending
	// on which side sends the structure). The value MUST be set to 3 and MUST be ignored.
	Revision uint32 `idl:"name:Revision" json:"revision"`
	// SupportedFeatures:  A bit field. When sent from the client, this field MUST be zero
	// and ignored on receipt by the server. When returned from the server, the following
	// fields are handled by the client; all other bits are ignored by the client and MUST
	// be zero when returned from the server.
	//
	//	+------------+----------------------------------------------------------------------------------+
	//	|            |                                                                                  |
	//	|   VALUE    |                                     MEANING                                      |
	//	|            |                                                                                  |
	//	+------------+----------------------------------------------------------------------------------+
	//	+------------+----------------------------------------------------------------------------------+
	//	| 0x00000001 | On receipt by the client, this value, when set, indicates that RID values        |
	//	|            | returned from the server MUST NOT be concatenated with the domain SID to create  |
	//	|            | the SID for the account referenced by the RID. Instead, the client MUST call     |
	//	|            | SamrRidToSid to obtain the SID. This field can be combined with other bits using |
	//	|            | a logical OR. See the product behavior citation at the end of this section for   |
	//	|            | more information (about Windows implementations).                                |
	//	+------------+----------------------------------------------------------------------------------+
	//	| 0x00000002 | Reserved. See the product behavior citation at the end of this section for       |
	//	|            | additional details.                                                              |
	//	+------------+----------------------------------------------------------------------------------+
	//	| 0x00000004 | Reserved. See the product behavior citation at the end of this section for       |
	//	|            | additional details.                                                              |
	//	+------------+----------------------------------------------------------------------------------+
	//	| 0x00000010 | On receipt by the client, this value, when set, indicates that the client should |
	//	|            | use AES Encryption with the SAMPR_ENCRYPTED_PASSWORD_AES structure to encrypt    |
	//	|            | password buffers when sent over the wire. See AES Cipher Usage (section 3.2.2.4) |
	//	|            | and SAMPR_ENCRYPTED_PASSWORD_AES (section 2.2.6.32).                             |
	//	+------------+----------------------------------------------------------------------------------+
	//	| 0x00000020 | On receipt of this value by the client, when set, indicates that the server      |
	//	|            | supports the validation of computer account re-use through client calls to the   |
	//	|            | SamrValidateComputerAccountReuseAttempt method.<19>                              |
	//	+------------+----------------------------------------------------------------------------------+
	//	| 0x00000040 | On receipt of this value by the client, when set, indicates that the server      |
	//	|            | supports the validation of computer account re-use through client calls to the   |
	//	|            | SamrValidateComputerAccountReuseAttempt method.<20>                              |
	//	+------------+----------------------------------------------------------------------------------+
	SupportedFeatures uint32 `idl:"name:SupportedFeatures" json:"supported_features"`
}

RevisionInfoV1 structure represents SAMPR_REVISION_INFO_V1 RPC structure.

The SAMPR_REVISION_INFO_V1 structure is used to communicate the revision and capabilities of client and server. For more information, see SamrConnect5.

func (*RevisionInfoV1) MarshalNDR

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

func (*RevisionInfoV1) UnmarshalNDR

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

type RevisionInfo_V1

type RevisionInfo_V1 struct {
	// V1:  Version 1 revision information, as described in SAMPR_REVISION_INFO_V1 (section
	// 2.2.7.15).
	V1 *RevisionInfoV1 `idl:"name:V1" json:"v1"`
}

RevisionInfo_V1 structure represents SAMPR_REVISION_INFO RPC union arm.

It has following labels: 1

func (*RevisionInfo_V1) MarshalNDR

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

func (*RevisionInfo_V1) UnmarshalNDR

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

type SAMValidateAuthenticationInputArg

type SAMValidateAuthenticationInputArg struct {
	// InputPersistedFields:  Password state.
	InputPersistedFields *SAMValidatePersistedFields `idl:"name:InputPersistedFields" json:"input_persisted_fields"`
	// PasswordMatched:  A nonzero value indicates that a valid password was presented to
	// the change-password request.
	PasswordMatched uint8 `idl:"name:PasswordMatched" json:"password_matched"`
}

SAMValidateAuthenticationInputArg structure represents SAM_VALIDATE_AUTHENTICATION_INPUT_ARG RPC structure.

The SAM_VALIDATE_AUTHENTICATION_INPUT_ARG structure holds information about an authentication request.

func (*SAMValidateAuthenticationInputArg) MarshalNDR

func (*SAMValidateAuthenticationInputArg) UnmarshalNDR

type SAMValidateInputArg

type SAMValidateInputArg struct {
	// Types that are assignable to Value
	//
	// *SAMValidateInputArg_ValidateAuthenticationInput
	// *SAMValidateInputArg_ValidatePasswordChangeInput
	// *SAMValidateInputArg_ValidatePasswordResetInput
	Value is_SAMValidateInputArg `json:"value"`
}

SAMValidateInputArg structure represents SAM_VALIDATE_INPUT_ARG RPC union.

func (*SAMValidateInputArg) GetValue

func (o *SAMValidateInputArg) GetValue() any

func (*SAMValidateInputArg) MarshalUnionNDR

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

func (*SAMValidateInputArg) NDRSwitchValue

func (o *SAMValidateInputArg) NDRSwitchValue(sw uint16) uint16

func (*SAMValidateInputArg) UnmarshalUnionNDR

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

type SAMValidateInputArg_ValidateAuthenticationInput

type SAMValidateInputArg_ValidateAuthenticationInput struct {
	ValidateAuthenticationInput *SAMValidateAuthenticationInputArg `idl:"name:ValidateAuthenticationInput" json:"validate_authentication_input"`
}

SAMValidateInputArg_ValidateAuthenticationInput structure represents SAM_VALIDATE_INPUT_ARG RPC union arm.

It has following labels: 1

func (*SAMValidateInputArg_ValidateAuthenticationInput) MarshalNDR

func (*SAMValidateInputArg_ValidateAuthenticationInput) UnmarshalNDR

type SAMValidateInputArg_ValidatePasswordChangeInput

type SAMValidateInputArg_ValidatePasswordChangeInput struct {
	ValidatePasswordChangeInput *SAMValidatePasswordChangeInputArg `idl:"name:ValidatePasswordChangeInput" json:"validate_password_change_input"`
}

SAMValidateInputArg_ValidatePasswordChangeInput structure represents SAM_VALIDATE_INPUT_ARG RPC union arm.

It has following labels: 2

func (*SAMValidateInputArg_ValidatePasswordChangeInput) MarshalNDR

func (*SAMValidateInputArg_ValidatePasswordChangeInput) UnmarshalNDR

type SAMValidateInputArg_ValidatePasswordResetInput

type SAMValidateInputArg_ValidatePasswordResetInput struct {
	ValidatePasswordResetInput *SAMValidatePasswordResetInputArg `idl:"name:ValidatePasswordResetInput" json:"validate_password_reset_input"`
}

SAMValidateInputArg_ValidatePasswordResetInput structure represents SAM_VALIDATE_INPUT_ARG RPC union arm.

It has following labels: 3

func (*SAMValidateInputArg_ValidatePasswordResetInput) MarshalNDR

func (*SAMValidateInputArg_ValidatePasswordResetInput) UnmarshalNDR

type SAMValidateOutputArg

type SAMValidateOutputArg struct {
	// Types that are assignable to Value
	//
	// *SAMValidateOutputArg_ValidateAuthenticationOutput
	// *SAMValidateOutputArg_ValidatePasswordChangeOutput
	// *SAMValidateOutputArg_ValidatePasswordResetOutput
	Value is_SAMValidateOutputArg `json:"value"`
}

SAMValidateOutputArg structure represents SAM_VALIDATE_OUTPUT_ARG RPC union.

func (*SAMValidateOutputArg) GetValue

func (o *SAMValidateOutputArg) GetValue() any

func (*SAMValidateOutputArg) MarshalUnionNDR

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

func (*SAMValidateOutputArg) NDRSwitchValue

func (o *SAMValidateOutputArg) NDRSwitchValue(sw uint16) uint16

func (*SAMValidateOutputArg) UnmarshalUnionNDR

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

type SAMValidateOutputArg_ValidateAuthenticationOutput

type SAMValidateOutputArg_ValidateAuthenticationOutput struct {
	ValidateAuthenticationOutput *SAMValidateStandardOutputArg `idl:"name:ValidateAuthenticationOutput" json:"validate_authentication_output"`
}

SAMValidateOutputArg_ValidateAuthenticationOutput structure represents SAM_VALIDATE_OUTPUT_ARG RPC union arm.

It has following labels: 1

func (*SAMValidateOutputArg_ValidateAuthenticationOutput) MarshalNDR

func (*SAMValidateOutputArg_ValidateAuthenticationOutput) UnmarshalNDR

type SAMValidateOutputArg_ValidatePasswordChangeOutput

type SAMValidateOutputArg_ValidatePasswordChangeOutput struct {
	ValidatePasswordChangeOutput *SAMValidateStandardOutputArg `idl:"name:ValidatePasswordChangeOutput" json:"validate_password_change_output"`
}

SAMValidateOutputArg_ValidatePasswordChangeOutput structure represents SAM_VALIDATE_OUTPUT_ARG RPC union arm.

It has following labels: 2

func (*SAMValidateOutputArg_ValidatePasswordChangeOutput) MarshalNDR

func (*SAMValidateOutputArg_ValidatePasswordChangeOutput) UnmarshalNDR

type SAMValidateOutputArg_ValidatePasswordResetOutput

type SAMValidateOutputArg_ValidatePasswordResetOutput struct {
	ValidatePasswordResetOutput *SAMValidateStandardOutputArg `idl:"name:ValidatePasswordResetOutput" json:"validate_password_reset_output"`
}

SAMValidateOutputArg_ValidatePasswordResetOutput structure represents SAM_VALIDATE_OUTPUT_ARG RPC union arm.

It has following labels: 3

func (*SAMValidateOutputArg_ValidatePasswordResetOutput) MarshalNDR

func (*SAMValidateOutputArg_ValidatePasswordResetOutput) UnmarshalNDR

type SAMValidatePasswordChangeInputArg

type SAMValidatePasswordChangeInputArg struct {
	// InputPersistedFields:  Password state. See section 2.2.9.2.
	InputPersistedFields *SAMValidatePersistedFields `idl:"name:InputPersistedFields" json:"input_persisted_fields"`
	// ClearPassword:  The cleartext password of the change-password operation.
	ClearPassword *dtyp.UnicodeString `idl:"name:ClearPassword" json:"clear_password"`
	// UserAccountName:  The application-specific logon name of an account performing the
	// change-password operation.
	UserAccountName *dtyp.UnicodeString `idl:"name:UserAccountName" json:"user_account_name"`
	// HashedPassword:  A binary value containing a hashed form of the value contained in
	// the ClearPassword field. The structure of this binary value is specified in section
	// 2.2.9.1. The hash function used to generate this value is chosen by the client. An
	// example hash function might be MD5 (as specified in [RFC1321]). The server implementation
	// is independent of that choice; that is, through this protocol, the server is exposed
	// to a sequence of bytes formatted per section 2.2.9.1 and is, therefore, not exposed
	// to the hash function chosen by the client. Furthermore, there is no processing by
	// the server that requires knowledge of the specific hash function chosen. Section
	// 2.2.9 contains more information about a scenario in which this field is used.
	HashedPassword *SAMValidatePasswordHash `idl:"name:HashedPassword" json:"hashed_password"`
	// PasswordMatch:  A nonzero value indicates that a valid password was presented to
	// the change-password request.
	PasswordMatch uint8 `idl:"name:PasswordMatch" json:"password_match"`
}

SAMValidatePasswordChangeInputArg structure represents SAM_VALIDATE_PASSWORD_CHANGE_INPUT_ARG RPC structure.

The SAM_VALIDATE_PASSWORD_CHANGE_INPUT_ARG structure holds information about a password change request.

func (*SAMValidatePasswordChangeInputArg) MarshalNDR

func (*SAMValidatePasswordChangeInputArg) UnmarshalNDR

type SAMValidatePasswordHash

type SAMValidatePasswordHash struct {
	// Length:  The size, in bytes, of Hash. If zero, Hash MUST be ignored.
	Length uint32 `idl:"name:Length" json:"length"`
	// Hash:  A binary value.
	Hash []byte `idl:"name:Hash;size_is:(Length);pointer:unique" json:"hash"`
}

SAMValidatePasswordHash structure represents SAM_VALIDATE_PASSWORD_HASH RPC structure.

The SAM_VALIDATE_PASSWORD_HASH structure holds a binary value that represents a cryptographic hash.

func (*SAMValidatePasswordHash) MarshalNDR

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

func (*SAMValidatePasswordHash) UnmarshalNDR

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

type SAMValidatePasswordResetInputArg

type SAMValidatePasswordResetInputArg struct {
	// InputPersistedFields:  Password state. See section 2.2.9.2.
	InputPersistedFields *SAMValidatePersistedFields `idl:"name:InputPersistedFields" json:"input_persisted_fields"`
	// ClearPassword:  The cleartext password of the reset-password operation.
	ClearPassword *dtyp.UnicodeString `idl:"name:ClearPassword" json:"clear_password"`
	// UserAccountName:  The application-specific logon name of the account performing the
	// reset-password operation.
	UserAccountName *dtyp.UnicodeString `idl:"name:UserAccountName" json:"user_account_name"`
	// HashedPassword:  See the specification for SAM_VALIDATE_PASSWORD_CHANGE_INPUT_ARG
	// (section 2.2.9.6) for the field with the same name.
	HashedPassword *SAMValidatePasswordHash `idl:"name:HashedPassword" json:"hashed_password"`
	// PasswordMustChangeAtNextLogon:  Nonzero indicates that a password change MUST occur
	// before an authentication request can succeed.
	PasswordMustChangeATNextLogon uint8 `idl:"name:PasswordMustChangeAtNextLogon" json:"password_must_change_at_next_logon"`
	// ClearLockout:  Nonzero indicates that the lockout state is to be reset.
	ClearLockout uint8 `idl:"name:ClearLockout" json:"clear_lockout"`
}

SAMValidatePasswordResetInputArg structure represents SAM_VALIDATE_PASSWORD_RESET_INPUT_ARG RPC structure.

The SAM_VALIDATE_PASSWORD_RESET_INPUT_ARG structure holds various information about a password reset request.

func (*SAMValidatePasswordResetInputArg) MarshalNDR

func (*SAMValidatePasswordResetInputArg) UnmarshalNDR

type SAMValidatePersistedFields

type SAMValidatePersistedFields struct {
	// PresentFields:  A bitmask to indicate which of the fields are valid. The following
	// table shows the defined values. If a bit is set, the corresponding field is valid;
	// if a bit is not set, the field is not valid.
	//
	//	+-------------------------------------------------+-----------------------+
	//	|                                                 |                       |
	//	|                      VALUE                      |        MEANING        |
	//	|                                                 |                       |
	//	+-------------------------------------------------+-----------------------+
	//	+-------------------------------------------------+-----------------------+
	//	| SAM_VALIDATE_PASSWORD_LAST_SET 0x00000001       | PasswordLastSet       |
	//	+-------------------------------------------------+-----------------------+
	//	| SAM_VALIDATE_BAD_PASSWORD_TIME 0x00000002       | BadPasswordTime       |
	//	+-------------------------------------------------+-----------------------+
	//	| SAM_VALIDATE_LOCKOUT_TIME 0x00000004            | LockoutTime           |
	//	+-------------------------------------------------+-----------------------+
	//	| SAM_VALIDATE_BAD_PASSWORD_COUNT 0x00000008      | BadPasswordCount      |
	//	+-------------------------------------------------+-----------------------+
	//	| SAM_VALIDATE_PASSWORD_HISTORY_LENGTH 0x00000010 | PasswordHistoryLength |
	//	+-------------------------------------------------+-----------------------+
	//	| SAM_VALIDATE_PASSWORD_HISTORY 0x00000020        | PasswordHistory       |
	//	+-------------------------------------------------+-----------------------+
	PresentFields uint32 `idl:"name:PresentFields" json:"present_fields"`
	// PasswordLastSet:  This field represents the time at which the password was last reset
	// or changed. It uses FILETIME syntax.
	PasswordLastSet *dtyp.LargeInteger `idl:"name:PasswordLastSet" json:"password_last_set"`
	// BadPasswordTime:  This field represents the time at which an invalid password was
	// presented to either a password change request or an authentication request. It uses
	// FILETIME syntax.
	BadPasswordTime *dtyp.LargeInteger `idl:"name:BadPasswordTime" json:"bad_password_time"`
	// LockoutTime:  This field represents the time at which the owner of the password data
	// was locked out. It uses FILETIME syntax.
	LockoutTime *dtyp.LargeInteger `idl:"name:LockoutTime" json:"lockout_time"`
	// BadPasswordCount:  Indicates how many invalid passwords have accumulated (see message
	// processing for details).
	BadPasswordCount uint32 `idl:"name:BadPasswordCount" json:"bad_password_count"`
	// PasswordHistoryLength:  Indicates how many previous passwords are in the PasswordHistory
	// field.
	PasswordHistoryLength uint32 `idl:"name:PasswordHistoryLength" json:"password_history_length"`
	// PasswordHistory:  An array of hash values representing the previous PasswordHistoryLength
	// passwords.
	PasswordHistory []*SAMValidatePasswordHash `idl:"name:PasswordHistory;size_is:(PasswordHistoryLength);pointer:unique" json:"password_history"`
}

SAMValidatePersistedFields structure represents SAM_VALIDATE_PERSISTED_FIELDS RPC structure.

The SAM_VALIDATE_PERSISTED_FIELDS structure holds various characteristics about password state.

func (*SAMValidatePersistedFields) MarshalNDR

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

func (*SAMValidatePersistedFields) UnmarshalNDR

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

type SAMValidateStandardOutputArg

type SAMValidateStandardOutputArg struct {
	// ChangedPersistedFields:  The password state that has changed. See section 2.2.9.2.
	ChangedPersistedFields *SAMValidatePersistedFields `idl:"name:ChangedPersistedFields" json:"changed_persisted_fields"`
	// ValidationStatus:  The result of the policy evaluation. See section 2.2.9.3.
	ValidationStatus SAMValidateValidationStatus `idl:"name:ValidationStatus" json:"validation_status"`
}

SAMValidateStandardOutputArg structure represents SAM_VALIDATE_STANDARD_OUTPUT_ARG RPC structure.

The SAM_VALIDATE_STANDARD_OUTPUT_ARG structure holds the output of SamrValidatePassword.

func (*SAMValidateStandardOutputArg) MarshalNDR

func (*SAMValidateStandardOutputArg) UnmarshalNDR

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

type SAMValidateValidationStatus

type SAMValidateValidationStatus uint16

SAMValidateValidationStatus type represents SAM_VALIDATE_VALIDATION_STATUS RPC enumeration.

The SAM_VALIDATE_VALIDATION_STATUS enumeration defines policy evaluation outcomes.

var (
	// SamValidateSuccess:  Password validation succeeded.
	SAMValidateValidationStatusSuccess SAMValidateValidationStatus = 0
	// SamValidatePasswordMustChange:  The password must be changed.
	SAMValidateValidationStatusPasswordMustChange SAMValidateValidationStatus = 1
	// SamValidateAccountLockedOut:  The account is locked out.
	SAMValidateValidationStatusAccountLockedOut SAMValidateValidationStatus = 2
	// SamValidatePasswordExpired:  The password has expired.
	SAMValidateValidationStatusPasswordExpired SAMValidateValidationStatus = 3
	// SamValidatePasswordIncorrect:  The password is incorrect.
	SAMValidateValidationStatusPasswordIncorrect SAMValidateValidationStatus = 4
	// SamValidatePasswordIsInHistory:  The password is in the password history.
	SAMValidateValidationStatusPasswordIsInHistory SAMValidateValidationStatus = 5
	// SamValidatePasswordTooShort:  The password is too short.
	SAMValidateValidationStatusPasswordTooShort SAMValidateValidationStatus = 6
	// SamValidatePasswordTooLong:  The password is too long.
	SAMValidateValidationStatusPasswordTooLong SAMValidateValidationStatus = 7
	// SamValidatePasswordNotComplexEnough:  The password is not complex enough.
	SAMValidateValidationStatusPasswordNotComplexEnough SAMValidateValidationStatus = 8
	// SamValidatePasswordTooRecent:  The password was changed recently.
	SAMValidateValidationStatusPasswordTooRecent SAMValidateValidationStatus = 9
	// SamValidatePasswordFilterError:  The password filter failed to validate the password.
	//
	// See the message processing of SamrValidatePassword (section 3.1.5.13.7) for the semantic
	// meanings of the enumeration values.
	SAMValidateValidationStatusPasswordFilterError SAMValidateValidationStatus = 10
)

func (SAMValidateValidationStatus) String

type SIDArray

type SIDArray struct {
	Count uint32            `idl:"name:Count" json:"count"`
	SIDs  []*SIDInformation `idl:"name:Sids;size_is:(Count)" json:"sids"`
}

SIDArray structure represents SAMPR_PSID_ARRAY RPC structure.

The SAMPR_SID_INFORMATION structure holds a SID pointer.

func (*SIDArray) MarshalNDR

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

func (*SIDArray) UnmarshalNDR

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

type SIDArrayOut

type SIDArrayOut struct {
	// Count:  The number of elements in Sids. If zero, Sids MUST be ignored. If nonzero,
	// Sids MUST point to at least Count * sizeof(SAMPR_SID_INFORMATION) bytes of memory.
	Count uint32 `idl:"name:Count" json:"count"`
	// Sids:  An array of pointers to SID values. For more information, see section 2.2.7.5.
	SIDs []*SIDInformation `idl:"name:Sids;size_is:(Count)" json:"sids"`
}

SIDArrayOut structure represents SAMPR_PSID_ARRAY_OUT RPC structure.

The SAMPR_PSID_ARRAY_OUT structure holds an array of SID values.

func (*SIDArrayOut) MarshalNDR

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

func (*SIDArrayOut) UnmarshalNDR

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

type SIDInformation

type SIDInformation struct {
	SIDPointer *dtyp.SID `idl:"name:SidPointer" json:"sid_pointer"`
}

SIDInformation structure represents SAMPR_SID_INFORMATION RPC structure.

The SAMPR_PSID_ARRAY structure holds an array of SID values.

func (*SIDInformation) MarshalNDR

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

func (*SIDInformation) UnmarshalNDR

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

type SIDNameUse

type SIDNameUse uint16

SIDNameUse type represents SID_NAME_USE RPC enumeration.

The SID_NAME_USE enumeration specifies the type of account that a SID references.

var (
	// SidTypeUser: Indicates a user object.
	SIDNameUseTypeUser SIDNameUse = 1
	// SidTypeGroup: Indicates a group object.
	SIDNameUseTypeGroup SIDNameUse = 2
	// SidTypeDomain: Indicates a domain object.
	SIDNameUseTypeDomain SIDNameUse = 3
	// SidTypeAlias: Indicates an alias object.
	SIDNameUseTypeAlias SIDNameUse = 4
	// SidTypeWellKnownGroup: Indicates an object whose SID is invariant.
	SIDNameUseTypeWellKnownGroup SIDNameUse = 5
	// SidTypeDeletedAccount: Indicates an object that has been deleted.
	SIDNameUseTypeDeletedAccount SIDNameUse = 6
	// SidTypeInvalid: This member is not used.
	SIDNameUseTypeInvalid SIDNameUse = 7
	// SidTypeUnknown: Indicates that the type of object could not be determined. For example,
	// no object with that SID exists.
	SIDNameUseTypeUnknown SIDNameUse = 8
	// SidTypeComputer: This member is not used.
	SIDNameUseTypeComputer SIDNameUse = 9
	// SidTypeLabel: This member is not used.
	SIDNameUseTypeLabel SIDNameUse = 10
)

func (SIDNameUse) String

func (o SIDNameUse) String() string

type SamrClient

type SamrClient interface {

	// The SamrConnect method returns a handle to a server object.
	Connect(context.Context, *ConnectRequest, ...dcerpc.CallOption) (*ConnectResponse, error)

	// The SamrCloseHandle method closes (that is, releases server-side resources used by)
	// any context handle obtained from this RPC interface.
	CloseHandle(context.Context, *CloseHandleRequest, ...dcerpc.CallOption) (*CloseHandleResponse, error)

	// The SamrSetSecurityObject method sets the access control on a server, domain, user,
	// group, or alias object.
	SetSecurityObject(context.Context, *SetSecurityObjectRequest, ...dcerpc.CallOption) (*SetSecurityObjectResponse, error)

	// The SamrQuerySecurityObject method queries the access control on a server, domain,
	// user, group, or alias object.
	QuerySecurityObject(context.Context, *QuerySecurityObjectRequest, ...dcerpc.CallOption) (*QuerySecurityObjectResponse, error)

	// The SamrLookupDomainInSamServer method obtains the SID of a domain object, given
	// the object's name.
	LookupDomainInSAMServer(context.Context, *LookupDomainInSAMServerRequest, ...dcerpc.CallOption) (*LookupDomainInSAMServerResponse, error)

	// The SamrEnumerateDomainsInSamServer method obtains a listing of all domains hosted
	// by the server side of this protocol.
	EnumerateDomainsInSAMServer(context.Context, *EnumerateDomainsInSAMServerRequest, ...dcerpc.CallOption) (*EnumerateDomainsInSAMServerResponse, error)

	// The SamrOpenDomain method obtains a handle to a domain object, given a SID.
	OpenDomain(context.Context, *OpenDomainRequest, ...dcerpc.CallOption) (*OpenDomainResponse, error)

	// The SamrQueryInformationDomain method obtains attributes from a domain object.
	//
	// See the description of SamrQueryInformationDomain2 (section 3.1.5.5.1) for details,
	// because the method interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	QueryInformationDomain(context.Context, *QueryInformationDomainRequest, ...dcerpc.CallOption) (*QueryInformationDomainResponse, error)

	// The SamrSetInformationDomain method updates attributes on a domain object.
	SetInformationDomain(context.Context, *SetInformationDomainRequest, ...dcerpc.CallOption) (*SetInformationDomainResponse, error)

	// The SamrCreateGroupInDomain method creates a group object within a domain.
	CreateGroupInDomain(context.Context, *CreateGroupInDomainRequest, ...dcerpc.CallOption) (*CreateGroupInDomainResponse, error)

	// The SamrEnumerateGroupsInDomain method enumerates all groups.
	EnumerateGroupsInDomain(context.Context, *EnumerateGroupsInDomainRequest, ...dcerpc.CallOption) (*EnumerateGroupsInDomainResponse, error)

	// The SamrCreateUserInDomain method creates a user.
	CreateUserInDomain(context.Context, *CreateUserInDomainRequest, ...dcerpc.CallOption) (*CreateUserInDomainResponse, error)

	// The SamrEnumerateUsersInDomain method enumerates all users.
	EnumerateUsersInDomain(context.Context, *EnumerateUsersInDomainRequest, ...dcerpc.CallOption) (*EnumerateUsersInDomainResponse, error)

	// The SamrCreateAliasInDomain method creates an alias.
	CreateAliasInDomain(context.Context, *CreateAliasInDomainRequest, ...dcerpc.CallOption) (*CreateAliasInDomainResponse, error)

	// The SamrEnumerateAliasesInDomain method enumerates all aliases.
	EnumerateAliasesInDomain(context.Context, *EnumerateAliasesInDomainRequest, ...dcerpc.CallOption) (*EnumerateAliasesInDomainResponse, error)

	// The SamrGetAliasMembership method obtains the union of all aliases that a given set
	// of SIDs is a member of.
	GetAliasMembership(context.Context, *GetAliasMembershipRequest, ...dcerpc.CallOption) (*GetAliasMembershipResponse, error)

	// The SamrLookupNamesInDomain method translates a set of account names into a set of
	// RIDs.
	LookupNamesInDomain(context.Context, *LookupNamesInDomainRequest, ...dcerpc.CallOption) (*LookupNamesInDomainResponse, error)

	// The SamrLookupIdsInDomain method translates a set of RIDs into account names.
	LookupIDsInDomain(context.Context, *LookupIDsInDomainRequest, ...dcerpc.CallOption) (*LookupIDsInDomainResponse, error)

	// The SamrOpenGroup method obtains a handle to a group, given a RID.
	OpenGroup(context.Context, *OpenGroupRequest, ...dcerpc.CallOption) (*OpenGroupResponse, error)

	// The SamrQueryInformationGroup method obtains attributes from a group object.
	QueryInformationGroup(context.Context, *QueryInformationGroupRequest, ...dcerpc.CallOption) (*QueryInformationGroupResponse, error)

	// The SamrSetInformationGroup method updates attributes on a group object.
	SetInformationGroup(context.Context, *SetInformationGroupRequest, ...dcerpc.CallOption) (*SetInformationGroupResponse, error)

	// The SamrAddMemberToGroup method adds a member to a group.
	AddMemberToGroup(context.Context, *AddMemberToGroupRequest, ...dcerpc.CallOption) (*AddMemberToGroupResponse, error)

	// The SamrDeleteGroup method removes a group object.
	DeleteGroup(context.Context, *DeleteGroupRequest, ...dcerpc.CallOption) (*DeleteGroupResponse, error)

	// The SamrRemoveMemberFromGroup method removes a member from a group.
	RemoveMemberFromGroup(context.Context, *RemoveMemberFromGroupRequest, ...dcerpc.CallOption) (*RemoveMemberFromGroupResponse, error)

	// The SamrGetMembersInGroup method reads the members of a group.
	GetMembersInGroup(context.Context, *GetMembersInGroupRequest, ...dcerpc.CallOption) (*GetMembersInGroupResponse, error)

	// The SamrSetMemberAttributesOfGroup method sets the attributes of a member relationship.
	SetMemberAttributesOfGroup(context.Context, *SetMemberAttributesOfGroupRequest, ...dcerpc.CallOption) (*SetMemberAttributesOfGroupResponse, error)

	// The SamrOpenAlias method obtains a handle to an alias, given a RID.
	OpenAlias(context.Context, *OpenAliasRequest, ...dcerpc.CallOption) (*OpenAliasResponse, error)

	// The SamrQueryInformationAlias method obtains attributes from an alias object.
	QueryInformationAlias(context.Context, *QueryInformationAliasRequest, ...dcerpc.CallOption) (*QueryInformationAliasResponse, error)

	// The SamrSetInformationAlias method updates attributes on an alias object.
	SetInformationAlias(context.Context, *SetInformationAliasRequest, ...dcerpc.CallOption) (*SetInformationAliasResponse, error)

	// The SamrDeleteAlias method removes an alias object.
	DeleteAlias(context.Context, *DeleteAliasRequest, ...dcerpc.CallOption) (*DeleteAliasResponse, error)

	// The SamrAddMemberToAlias method adds a member to an alias.
	AddMemberToAlias(context.Context, *AddMemberToAliasRequest, ...dcerpc.CallOption) (*AddMemberToAliasResponse, error)

	// The SamrRemoveMemberFromAlias method removes a member from an alias.
	RemoveMemberFromAlias(context.Context, *RemoveMemberFromAliasRequest, ...dcerpc.CallOption) (*RemoveMemberFromAliasResponse, error)

	// The SamrGetMembersInAlias method obtains the membership list of an alias.
	GetMembersInAlias(context.Context, *GetMembersInAliasRequest, ...dcerpc.CallOption) (*GetMembersInAliasResponse, error)

	// The SamrOpenUser method obtains a handle to a user, given a RID.
	OpenUser(context.Context, *OpenUserRequest, ...dcerpc.CallOption) (*OpenUserResponse, error)

	// The SamrDeleteUser method removes a user object.
	DeleteUser(context.Context, *DeleteUserRequest, ...dcerpc.CallOption) (*DeleteUserResponse, error)

	// The SamrQueryInformationUser method obtains attributes from a user object.
	//
	// See the description of SamrQueryInformationUser2 (section 3.1.5.5.5) for details,
	// because the method interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	QueryInformationUser(context.Context, *QueryInformationUserRequest, ...dcerpc.CallOption) (*QueryInformationUserResponse, error)

	// The SamrSetInformationUser method updates attributes on a user object.
	//
	// See the description of SamrSetInformationUser2 (section 3.1.5.6.4) for details, because
	// the method interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	SetInformationUser(context.Context, *SetInformationUserRequest, ...dcerpc.CallOption) (*SetInformationUserResponse, error)

	// The SamrChangePasswordUser method changes the password of a user object.
	ChangePasswordUser(context.Context, *ChangePasswordUserRequest, ...dcerpc.CallOption) (*ChangePasswordUserResponse, error)

	// The SamrGetGroupsForUser method obtains a listing of groups that a user is a member
	// of.
	GetGroupsForUser(context.Context, *GetGroupsForUserRequest, ...dcerpc.CallOption) (*GetGroupsForUserResponse, error)

	// The SamrQueryDisplayInformation method obtains a list of accounts in ascending name-sorted
	// order, starting at a specified index.
	//
	// See the description of SamrQueryDisplayInformation3 (section 3.1.5.3.1) for details,
	// because the method interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	QueryDisplayInformation(context.Context, *QueryDisplayInformationRequest, ...dcerpc.CallOption) (*QueryDisplayInformationResponse, error)

	// The SamrGetDisplayEnumerationIndex method obtains an index into an ascending account-name–sorted
	// list of accounts.
	//
	// See the description of SamrGetDisplayEnumerationIndex2 (section 3.1.5.3.4) for details,
	// because the method-interface arguments and processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	GetDisplayEnumerationIndex(context.Context, *GetDisplayEnumerationIndexRequest, ...dcerpc.CallOption) (*GetDisplayEnumerationIndexResponse, error)

	// The SamrGetUserDomainPasswordInformation method obtains select password policy information
	// (without requiring a domain handle).
	GetUserDomainPasswordInformation(context.Context, *GetUserDomainPasswordInformationRequest, ...dcerpc.CallOption) (*GetUserDomainPasswordInformationResponse, error)

	// The SamrRemoveMemberFromForeignDomain method removes a member from all aliases.
	RemoveMemberFromForeignDomain(context.Context, *RemoveMemberFromForeignDomainRequest, ...dcerpc.CallOption) (*RemoveMemberFromForeignDomainResponse, error)

	// The SamrQueryInformationDomain2 method obtains attributes from a domain object.
	QueryInformationDomain2(context.Context, *QueryInformationDomain2Request, ...dcerpc.CallOption) (*QueryInformationDomain2Response, error)

	// The SamrQueryInformationUser2 method obtains attributes from a user object.
	QueryInformationUser2(context.Context, *QueryInformationUser2Request, ...dcerpc.CallOption) (*QueryInformationUser2Response, error)

	// The SamrQueryDisplayInformation2 method obtains a list of accounts in ascending name-sorted
	// order, starting at a specified index.
	//
	// See the description of SamrQueryDisplayInformation3 (section 3.1.5.3.1) for details,
	// because the method-interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	QueryDisplayInformation2(context.Context, *QueryDisplayInformation2Request, ...dcerpc.CallOption) (*QueryDisplayInformation2Response, error)

	// The SamrGetDisplayEnumerationIndex2 method obtains an index into an ascending account-name–sorted
	// list of accounts, such that the index is the position in the list of the accounts
	// whose account name best matches a client-provided string.
	GetDisplayEnumerationIndex2(context.Context, *GetDisplayEnumerationIndex2Request, ...dcerpc.CallOption) (*GetDisplayEnumerationIndex2Response, error)

	// The SamrCreateUser2InDomain method creates a user.
	CreateUser2InDomain(context.Context, *CreateUser2InDomainRequest, ...dcerpc.CallOption) (*CreateUser2InDomainResponse, error)

	// The SamrQueryDisplayInformation3 method obtains a listing of accounts in ascending
	// name-sorted order, starting at a specified index.
	QueryDisplayInformation3(context.Context, *QueryDisplayInformation3Request, ...dcerpc.CallOption) (*QueryDisplayInformation3Response, error)

	// The SamrAddMultipleMembersToAlias method adds multiple members to an alias.
	AddMultipleMembersToAlias(context.Context, *AddMultipleMembersToAliasRequest, ...dcerpc.CallOption) (*AddMultipleMembersToAliasResponse, error)

	// The SamrRemoveMultipleMembersFromAlias method removes multiple members from an alias.
	RemoveMultipleMembersFromAlias(context.Context, *RemoveMultipleMembersFromAliasRequest, ...dcerpc.CallOption) (*RemoveMultipleMembersFromAliasResponse, error)

	// The SamrOemChangePasswordUser2 method changes a user's password.
	//
	// );
	OEMChangePasswordUser2(context.Context, *OEMChangePasswordUser2Request, ...dcerpc.CallOption) (*OEMChangePasswordUser2Response, error)

	// The SamrUnicodeChangePasswordUser2 method changes a user account's password.
	UnicodeChangePasswordUser2(context.Context, *UnicodeChangePasswordUser2Request, ...dcerpc.CallOption) (*UnicodeChangePasswordUser2Response, error)

	// The SamrGetDomainPasswordInformation method obtains select password policy information
	// (without authenticating to the server).
	GetDomainPasswordInformation(context.Context, *GetDomainPasswordInformationRequest, ...dcerpc.CallOption) (*GetDomainPasswordInformationResponse, error)

	// The SamrConnect2 method returns a handle to a server object.
	Connect2(context.Context, *Connect2Request, ...dcerpc.CallOption) (*Connect2Response, error)

	// The SamrSetInformationUser2 method updates attributes on a user object.
	SetInformationUser2(context.Context, *SetInformationUser2Request, ...dcerpc.CallOption) (*SetInformationUser2Response, error)

	// The SamrConnect4 method obtains a handle to a server object.
	Connect4(context.Context, *Connect4Request, ...dcerpc.CallOption) (*Connect4Response, error)

	// The SamrConnect5 method obtains a handle to a server object.
	Connect5(context.Context, *Connect5Request, ...dcerpc.CallOption) (*Connect5Response, error)

	// The SamrRidToSid method obtains the SID of an account, given a RID.
	RIDToSID(context.Context, *RIDToSIDRequest, ...dcerpc.CallOption) (*RIDToSIDResponse, error)

	// The SamrSetDSRMPassword method sets a local recovery password.
	SetDSRMPassword(context.Context, *SetDSRMPasswordRequest, ...dcerpc.CallOption) (*SetDSRMPasswordResponse, error)

	// The SamrValidatePassword method validates an application password against the locally
	// stored policy.
	ValidatePassword(context.Context, *ValidatePasswordRequest, ...dcerpc.CallOption) (*ValidatePasswordResponse, error)

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

samr interface.

func NewSamrClient

func NewSamrClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (SamrClient, error)

type SamrServer

type SamrServer interface {

	// The SamrConnect method returns a handle to a server object.
	Connect(context.Context, *ConnectRequest) (*ConnectResponse, error)

	// The SamrCloseHandle method closes (that is, releases server-side resources used by)
	// any context handle obtained from this RPC interface.
	CloseHandle(context.Context, *CloseHandleRequest) (*CloseHandleResponse, error)

	// The SamrSetSecurityObject method sets the access control on a server, domain, user,
	// group, or alias object.
	SetSecurityObject(context.Context, *SetSecurityObjectRequest) (*SetSecurityObjectResponse, error)

	// The SamrQuerySecurityObject method queries the access control on a server, domain,
	// user, group, or alias object.
	QuerySecurityObject(context.Context, *QuerySecurityObjectRequest) (*QuerySecurityObjectResponse, error)

	// The SamrLookupDomainInSamServer method obtains the SID of a domain object, given
	// the object's name.
	LookupDomainInSAMServer(context.Context, *LookupDomainInSAMServerRequest) (*LookupDomainInSAMServerResponse, error)

	// The SamrEnumerateDomainsInSamServer method obtains a listing of all domains hosted
	// by the server side of this protocol.
	EnumerateDomainsInSAMServer(context.Context, *EnumerateDomainsInSAMServerRequest) (*EnumerateDomainsInSAMServerResponse, error)

	// The SamrOpenDomain method obtains a handle to a domain object, given a SID.
	OpenDomain(context.Context, *OpenDomainRequest) (*OpenDomainResponse, error)

	// The SamrQueryInformationDomain method obtains attributes from a domain object.
	//
	// See the description of SamrQueryInformationDomain2 (section 3.1.5.5.1) for details,
	// because the method interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	QueryInformationDomain(context.Context, *QueryInformationDomainRequest) (*QueryInformationDomainResponse, error)

	// The SamrSetInformationDomain method updates attributes on a domain object.
	SetInformationDomain(context.Context, *SetInformationDomainRequest) (*SetInformationDomainResponse, error)

	// The SamrCreateGroupInDomain method creates a group object within a domain.
	CreateGroupInDomain(context.Context, *CreateGroupInDomainRequest) (*CreateGroupInDomainResponse, error)

	// The SamrEnumerateGroupsInDomain method enumerates all groups.
	EnumerateGroupsInDomain(context.Context, *EnumerateGroupsInDomainRequest) (*EnumerateGroupsInDomainResponse, error)

	// The SamrCreateUserInDomain method creates a user.
	CreateUserInDomain(context.Context, *CreateUserInDomainRequest) (*CreateUserInDomainResponse, error)

	// The SamrEnumerateUsersInDomain method enumerates all users.
	EnumerateUsersInDomain(context.Context, *EnumerateUsersInDomainRequest) (*EnumerateUsersInDomainResponse, error)

	// The SamrCreateAliasInDomain method creates an alias.
	CreateAliasInDomain(context.Context, *CreateAliasInDomainRequest) (*CreateAliasInDomainResponse, error)

	// The SamrEnumerateAliasesInDomain method enumerates all aliases.
	EnumerateAliasesInDomain(context.Context, *EnumerateAliasesInDomainRequest) (*EnumerateAliasesInDomainResponse, error)

	// The SamrGetAliasMembership method obtains the union of all aliases that a given set
	// of SIDs is a member of.
	GetAliasMembership(context.Context, *GetAliasMembershipRequest) (*GetAliasMembershipResponse, error)

	// The SamrLookupNamesInDomain method translates a set of account names into a set of
	// RIDs.
	LookupNamesInDomain(context.Context, *LookupNamesInDomainRequest) (*LookupNamesInDomainResponse, error)

	// The SamrLookupIdsInDomain method translates a set of RIDs into account names.
	LookupIDsInDomain(context.Context, *LookupIDsInDomainRequest) (*LookupIDsInDomainResponse, error)

	// The SamrOpenGroup method obtains a handle to a group, given a RID.
	OpenGroup(context.Context, *OpenGroupRequest) (*OpenGroupResponse, error)

	// The SamrQueryInformationGroup method obtains attributes from a group object.
	QueryInformationGroup(context.Context, *QueryInformationGroupRequest) (*QueryInformationGroupResponse, error)

	// The SamrSetInformationGroup method updates attributes on a group object.
	SetInformationGroup(context.Context, *SetInformationGroupRequest) (*SetInformationGroupResponse, error)

	// The SamrAddMemberToGroup method adds a member to a group.
	AddMemberToGroup(context.Context, *AddMemberToGroupRequest) (*AddMemberToGroupResponse, error)

	// The SamrDeleteGroup method removes a group object.
	DeleteGroup(context.Context, *DeleteGroupRequest) (*DeleteGroupResponse, error)

	// The SamrRemoveMemberFromGroup method removes a member from a group.
	RemoveMemberFromGroup(context.Context, *RemoveMemberFromGroupRequest) (*RemoveMemberFromGroupResponse, error)

	// The SamrGetMembersInGroup method reads the members of a group.
	GetMembersInGroup(context.Context, *GetMembersInGroupRequest) (*GetMembersInGroupResponse, error)

	// The SamrSetMemberAttributesOfGroup method sets the attributes of a member relationship.
	SetMemberAttributesOfGroup(context.Context, *SetMemberAttributesOfGroupRequest) (*SetMemberAttributesOfGroupResponse, error)

	// The SamrOpenAlias method obtains a handle to an alias, given a RID.
	OpenAlias(context.Context, *OpenAliasRequest) (*OpenAliasResponse, error)

	// The SamrQueryInformationAlias method obtains attributes from an alias object.
	QueryInformationAlias(context.Context, *QueryInformationAliasRequest) (*QueryInformationAliasResponse, error)

	// The SamrSetInformationAlias method updates attributes on an alias object.
	SetInformationAlias(context.Context, *SetInformationAliasRequest) (*SetInformationAliasResponse, error)

	// The SamrDeleteAlias method removes an alias object.
	DeleteAlias(context.Context, *DeleteAliasRequest) (*DeleteAliasResponse, error)

	// The SamrAddMemberToAlias method adds a member to an alias.
	AddMemberToAlias(context.Context, *AddMemberToAliasRequest) (*AddMemberToAliasResponse, error)

	// The SamrRemoveMemberFromAlias method removes a member from an alias.
	RemoveMemberFromAlias(context.Context, *RemoveMemberFromAliasRequest) (*RemoveMemberFromAliasResponse, error)

	// The SamrGetMembersInAlias method obtains the membership list of an alias.
	GetMembersInAlias(context.Context, *GetMembersInAliasRequest) (*GetMembersInAliasResponse, error)

	// The SamrOpenUser method obtains a handle to a user, given a RID.
	OpenUser(context.Context, *OpenUserRequest) (*OpenUserResponse, error)

	// The SamrDeleteUser method removes a user object.
	DeleteUser(context.Context, *DeleteUserRequest) (*DeleteUserResponse, error)

	// The SamrQueryInformationUser method obtains attributes from a user object.
	//
	// See the description of SamrQueryInformationUser2 (section 3.1.5.5.5) for details,
	// because the method interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	QueryInformationUser(context.Context, *QueryInformationUserRequest) (*QueryInformationUserResponse, error)

	// The SamrSetInformationUser method updates attributes on a user object.
	//
	// See the description of SamrSetInformationUser2 (section 3.1.5.6.4) for details, because
	// the method interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	SetInformationUser(context.Context, *SetInformationUserRequest) (*SetInformationUserResponse, error)

	// The SamrChangePasswordUser method changes the password of a user object.
	ChangePasswordUser(context.Context, *ChangePasswordUserRequest) (*ChangePasswordUserResponse, error)

	// The SamrGetGroupsForUser method obtains a listing of groups that a user is a member
	// of.
	GetGroupsForUser(context.Context, *GetGroupsForUserRequest) (*GetGroupsForUserResponse, error)

	// The SamrQueryDisplayInformation method obtains a list of accounts in ascending name-sorted
	// order, starting at a specified index.
	//
	// See the description of SamrQueryDisplayInformation3 (section 3.1.5.3.1) for details,
	// because the method interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	QueryDisplayInformation(context.Context, *QueryDisplayInformationRequest) (*QueryDisplayInformationResponse, error)

	// The SamrGetDisplayEnumerationIndex method obtains an index into an ascending account-name–sorted
	// list of accounts.
	//
	// See the description of SamrGetDisplayEnumerationIndex2 (section 3.1.5.3.4) for details,
	// because the method-interface arguments and processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	GetDisplayEnumerationIndex(context.Context, *GetDisplayEnumerationIndexRequest) (*GetDisplayEnumerationIndexResponse, error)

	// The SamrGetUserDomainPasswordInformation method obtains select password policy information
	// (without requiring a domain handle).
	GetUserDomainPasswordInformation(context.Context, *GetUserDomainPasswordInformationRequest) (*GetUserDomainPasswordInformationResponse, error)

	// The SamrRemoveMemberFromForeignDomain method removes a member from all aliases.
	RemoveMemberFromForeignDomain(context.Context, *RemoveMemberFromForeignDomainRequest) (*RemoveMemberFromForeignDomainResponse, error)

	// The SamrQueryInformationDomain2 method obtains attributes from a domain object.
	QueryInformationDomain2(context.Context, *QueryInformationDomain2Request) (*QueryInformationDomain2Response, error)

	// The SamrQueryInformationUser2 method obtains attributes from a user object.
	QueryInformationUser2(context.Context, *QueryInformationUser2Request) (*QueryInformationUser2Response, error)

	// The SamrQueryDisplayInformation2 method obtains a list of accounts in ascending name-sorted
	// order, starting at a specified index.
	//
	// See the description of SamrQueryDisplayInformation3 (section 3.1.5.3.1) for details,
	// because the method-interface arguments and message processing are identical.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	QueryDisplayInformation2(context.Context, *QueryDisplayInformation2Request) (*QueryDisplayInformation2Response, error)

	// The SamrGetDisplayEnumerationIndex2 method obtains an index into an ascending account-name–sorted
	// list of accounts, such that the index is the position in the list of the accounts
	// whose account name best matches a client-provided string.
	GetDisplayEnumerationIndex2(context.Context, *GetDisplayEnumerationIndex2Request) (*GetDisplayEnumerationIndex2Response, error)

	// The SamrCreateUser2InDomain method creates a user.
	CreateUser2InDomain(context.Context, *CreateUser2InDomainRequest) (*CreateUser2InDomainResponse, error)

	// The SamrQueryDisplayInformation3 method obtains a listing of accounts in ascending
	// name-sorted order, starting at a specified index.
	QueryDisplayInformation3(context.Context, *QueryDisplayInformation3Request) (*QueryDisplayInformation3Response, error)

	// The SamrAddMultipleMembersToAlias method adds multiple members to an alias.
	AddMultipleMembersToAlias(context.Context, *AddMultipleMembersToAliasRequest) (*AddMultipleMembersToAliasResponse, error)

	// The SamrRemoveMultipleMembersFromAlias method removes multiple members from an alias.
	RemoveMultipleMembersFromAlias(context.Context, *RemoveMultipleMembersFromAliasRequest) (*RemoveMultipleMembersFromAliasResponse, error)

	// The SamrOemChangePasswordUser2 method changes a user's password.
	//
	// );
	OEMChangePasswordUser2(context.Context, *OEMChangePasswordUser2Request) (*OEMChangePasswordUser2Response, error)

	// The SamrUnicodeChangePasswordUser2 method changes a user account's password.
	UnicodeChangePasswordUser2(context.Context, *UnicodeChangePasswordUser2Request) (*UnicodeChangePasswordUser2Response, error)

	// The SamrGetDomainPasswordInformation method obtains select password policy information
	// (without authenticating to the server).
	GetDomainPasswordInformation(context.Context, *GetDomainPasswordInformationRequest) (*GetDomainPasswordInformationResponse, error)

	// The SamrConnect2 method returns a handle to a server object.
	Connect2(context.Context, *Connect2Request) (*Connect2Response, error)

	// The SamrSetInformationUser2 method updates attributes on a user object.
	SetInformationUser2(context.Context, *SetInformationUser2Request) (*SetInformationUser2Response, error)

	// The SamrConnect4 method obtains a handle to a server object.
	Connect4(context.Context, *Connect4Request) (*Connect4Response, error)

	// The SamrConnect5 method obtains a handle to a server object.
	Connect5(context.Context, *Connect5Request) (*Connect5Response, error)

	// The SamrRidToSid method obtains the SID of an account, given a RID.
	RIDToSID(context.Context, *RIDToSIDRequest) (*RIDToSIDResponse, error)

	// The SamrSetDSRMPassword method sets a local recovery password.
	SetDSRMPassword(context.Context, *SetDSRMPasswordRequest) (*SetDSRMPasswordResponse, error)

	// The SamrValidatePassword method validates an application password against the locally
	// stored policy.
	ValidatePassword(context.Context, *ValidatePasswordRequest) (*ValidatePasswordResponse, error)
}

samr server interface.

type SetDSRMPasswordRequest

type SetDSRMPasswordRequest struct {
	// UserId: A RID of a user account. See the message processing later in this section
	// for details on restrictions on this value.
	UserID uint32 `idl:"name:UserId" json:"user_id"`
	// EncryptedNtOwfPassword: The NT hash of the new password (as presented by the client)
	// encrypted according to the specification of ENCRYPTED_NT_OWF_PASSWORD, where the
	// key is the UserId.
	EncryptedNTOWFPassword *EncryptedNTOWFPassword `idl:"name:EncryptedNtOwfPassword;pointer:unique" json:"encrypted_nt_owf_password"`
}

SetDSRMPasswordRequest structure represents the SamrSetDSRMPassword operation request

func (*SetDSRMPasswordRequest) MarshalNDR

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

func (*SetDSRMPasswordRequest) UnmarshalNDR

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

type SetDSRMPasswordResponse

type SetDSRMPasswordResponse struct {
	// Return: The SamrSetDSRMPassword return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetDSRMPasswordResponse structure represents the SamrSetDSRMPassword operation response

func (*SetDSRMPasswordResponse) MarshalNDR

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

func (*SetDSRMPasswordResponse) UnmarshalNDR

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

type SetInformationAliasRequest

type SetInformationAliasRequest struct {
	// AliasHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// an alias object.
	AliasHandle *Handle `idl:"name:AliasHandle" json:"alias_handle"`
	// AliasInformationClass: An enumeration indicating which attributes to update. See
	// section 2.2.5.5 for a listing of possible values.
	AliasInformationClass AliasInformationClass `idl:"name:AliasInformationClass" json:"alias_information_class"`
	// Buffer: The requested attributes and values to update. See section 2.2.5.6 for structure
	// details.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Buffer *AliasInfoBuffer `idl:"name:Buffer;switch_is:AliasInformationClass" json:"buffer"`
}

SetInformationAliasRequest structure represents the SamrSetInformationAlias operation request

func (*SetInformationAliasRequest) MarshalNDR

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

func (*SetInformationAliasRequest) UnmarshalNDR

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

type SetInformationAliasResponse

type SetInformationAliasResponse struct {
	// Return: The SamrSetInformationAlias return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetInformationAliasResponse structure represents the SamrSetInformationAlias operation response

func (*SetInformationAliasResponse) MarshalNDR

func (*SetInformationAliasResponse) UnmarshalNDR

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

type SetInformationDomainRequest

type SetInformationDomainRequest struct {
	// DomainHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a domain object.
	Domain *Handle `idl:"name:DomainHandle" json:"domain"`
	// DomainInformationClass: An enumeration indicating which attributes to update. See
	// section 2.2.3.16 for a list of possible values.
	DomainInformationClass DomainInformationClass `idl:"name:DomainInformationClass" json:"domain_information_class"`
	// DomainInformation: The requested attributes and values to update. See section 2.2.3.17
	// for structure details.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	DomainInformation *DomainInfoBuffer `idl:"name:DomainInformation;switch_is:DomainInformationClass" json:"domain_information"`
}

SetInformationDomainRequest structure represents the SamrSetInformationDomain operation request

func (*SetInformationDomainRequest) MarshalNDR

func (*SetInformationDomainRequest) UnmarshalNDR

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

type SetInformationDomainResponse

type SetInformationDomainResponse struct {
	// Return: The SamrSetInformationDomain return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetInformationDomainResponse structure represents the SamrSetInformationDomain operation response

func (*SetInformationDomainResponse) MarshalNDR

func (*SetInformationDomainResponse) UnmarshalNDR

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

type SetInformationGroupRequest

type SetInformationGroupRequest struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a group object.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
	// GroupInformationClass: An enumeration indicating which attributes to update. See
	// section 2.2.4.6 for a listing of possible values.
	GroupInformationClass GroupInformationClass `idl:"name:GroupInformationClass" json:"group_information_class"`
	// Buffer: The requested attributes and values to update. See section 2.2.4.7 for structure
	// details.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Buffer *GroupInfoBuffer `idl:"name:Buffer;switch_is:GroupInformationClass" json:"buffer"`
}

SetInformationGroupRequest structure represents the SamrSetInformationGroup operation request

func (*SetInformationGroupRequest) MarshalNDR

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

func (*SetInformationGroupRequest) UnmarshalNDR

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

type SetInformationGroupResponse

type SetInformationGroupResponse struct {
	// Return: The SamrSetInformationGroup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetInformationGroupResponse structure represents the SamrSetInformationGroup operation response

func (*SetInformationGroupResponse) MarshalNDR

func (*SetInformationGroupResponse) UnmarshalNDR

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

type SetInformationUser2Request

type SetInformationUser2Request struct {
	// UserHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a user object.
	UserHandle *Handle `idl:"name:UserHandle" json:"user_handle"`
	// UserInformationClass: An enumeration indicating which attributes to update. See section
	// 2.2.6.28 for a listing of possible values.
	UserInformationClass UserInformationClass `idl:"name:UserInformationClass" json:"user_information_class"`
	// Buffer: The requested attributes and values to update. See section 2.2.6.29 for structure
	// details.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Buffer *UserInfoBuffer `idl:"name:Buffer;switch_is:UserInformationClass" json:"buffer"`
}

SetInformationUser2Request structure represents the SamrSetInformationUser2 operation request

func (*SetInformationUser2Request) MarshalNDR

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

func (*SetInformationUser2Request) UnmarshalNDR

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

type SetInformationUser2Response

type SetInformationUser2Response struct {
	// Return: The SamrSetInformationUser2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetInformationUser2Response structure represents the SamrSetInformationUser2 operation response

func (*SetInformationUser2Response) MarshalNDR

func (*SetInformationUser2Response) UnmarshalNDR

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

type SetInformationUserRequest

type SetInformationUserRequest struct {
	UserHandle           *Handle              `idl:"name:UserHandle" json:"user_handle"`
	UserInformationClass UserInformationClass `idl:"name:UserInformationClass" json:"user_information_class"`
	Buffer               *UserInfoBuffer      `idl:"name:Buffer;switch_is:UserInformationClass" json:"buffer"`
}

SetInformationUserRequest structure represents the SamrSetInformationUser operation request

func (*SetInformationUserRequest) MarshalNDR

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

func (*SetInformationUserRequest) UnmarshalNDR

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

type SetInformationUserResponse

type SetInformationUserResponse struct {
	// Return: The SamrSetInformationUser return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetInformationUserResponse structure represents the SamrSetInformationUser operation response

func (*SetInformationUserResponse) MarshalNDR

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

func (*SetInformationUserResponse) UnmarshalNDR

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

type SetMemberAttributesOfGroupRequest

type SetMemberAttributesOfGroupRequest struct {
	// GroupHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a group object.
	GroupHandle *Handle `idl:"name:GroupHandle" json:"group_handle"`
	// MemberId: A RID that represents a member of a group (which is a user or machine account).
	MemberID uint32 `idl:"name:MemberId" json:"member_id"`
	// Attributes: The characteristics of the membership relationship. For legal values,
	// see section 2.2.1.10.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	Attributes uint32 `idl:"name:Attributes" json:"attributes"`
}

SetMemberAttributesOfGroupRequest structure represents the SamrSetMemberAttributesOfGroup operation request

func (*SetMemberAttributesOfGroupRequest) MarshalNDR

func (*SetMemberAttributesOfGroupRequest) UnmarshalNDR

type SetMemberAttributesOfGroupResponse

type SetMemberAttributesOfGroupResponse struct {
	// Return: The SamrSetMemberAttributesOfGroup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetMemberAttributesOfGroupResponse structure represents the SamrSetMemberAttributesOfGroup operation response

func (*SetMemberAttributesOfGroupResponse) MarshalNDR

func (*SetMemberAttributesOfGroupResponse) UnmarshalNDR

type SetSecurityObjectRequest

type SetSecurityObjectRequest struct {
	// ObjectHandle: An RPC context handle, as specified in section 2.2.7.2, representing
	// a server, domain, user, group, or alias object.
	Object *Handle `idl:"name:ObjectHandle" json:"object"`
	// SecurityInformation: A bit field that indicates the fields of SecurityDescriptor
	// that are requested to be set.
	//
	// The SECURITY_INFORMATION type is defined in [MS-DTYP] section 2.4.7. The following
	// bits are valid; all other bits MUST be zero when sent and ignored on receipt. If
	// none of the bits below are present, the server MUST return STATUS_INVALID_PARAMETER.
	//
	//	+---------------------------------------+-----------------------------------------------------------------------------+
	//	|                                       |                                                                             |
	//	|                 VALUE                 |                                   MEANING                                   |
	//	|                                       |                                                                             |
	//	+---------------------------------------+-----------------------------------------------------------------------------+
	//	+---------------------------------------+-----------------------------------------------------------------------------+
	//	| OWNER_SECURITY_INFORMATION 0x00000001 | Refers to the Owner member of the security descriptor.                      |
	//	+---------------------------------------+-----------------------------------------------------------------------------+
	//	| GROUP_SECURITY_INFORMATION 0x00000002 | Refers to the Group member of the security descriptor.                      |
	//	+---------------------------------------+-----------------------------------------------------------------------------+
	//	| DACL_SECURITY_INFORMATION 0x00000004  | Refers to the DACL of the security descriptor.                              |
	//	+---------------------------------------+-----------------------------------------------------------------------------+
	//	| SACL_SECURITY_INFORMATION 0x00000008  | Refers to the system access control list (SACL) of the security descriptor. |
	//	+---------------------------------------+-----------------------------------------------------------------------------+
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// SecurityDescriptor: A security descriptor expressing access that is specific to the
	// ObjectHandle.
	//
	// This protocol asks the RPC runtime, via the strict_context_handle attribute, to reject
	// the use of context handles created by a method of a different RPC interface than
	// this one, as specified in [MS-RPCE] section 3.
	SecurityDescriptor *SrSecurityDescriptor `idl:"name:SecurityDescriptor" json:"security_descriptor"`
}

SetSecurityObjectRequest structure represents the SamrSetSecurityObject operation request

func (*SetSecurityObjectRequest) MarshalNDR

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

func (*SetSecurityObjectRequest) UnmarshalNDR

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

type SetSecurityObjectResponse

type SetSecurityObjectResponse struct {
	// Return: The SamrSetSecurityObject return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetSecurityObjectResponse structure represents the SamrSetSecurityObject operation response

func (*SetSecurityObjectResponse) MarshalNDR

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

func (*SetSecurityObjectResponse) UnmarshalNDR

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

type ShortBlob

type ShortBlob struct {
	// Length:  The number of bytes of data contained in the Buffer member.
	Length uint16 `idl:"name:Length" json:"length"`
	// MaximumLength:  The length, in bytes, of the Buffer member.
	MaximumLength uint16 `idl:"name:MaximumLength" json:"maximum_length"`
	// Buffer:  A buffer containing Length/2 unsigned short values.
	Buffer []uint16 `idl:"name:Buffer;size_is:((MaximumLength/2));length_is:((Length/2))" json:"buffer"`
}

ShortBlob structure represents RPC_SHORT_BLOB RPC structure.

The RPC_SHORT_BLOB structure holds a counted array of unsigned short values.

func (*ShortBlob) MarshalNDR

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

func (*ShortBlob) UnmarshalNDR

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

type SrSecurityDescriptor

type SrSecurityDescriptor struct {
	// Length:  The size, in bytes, of SecurityDescriptor. If zero, SecurityDescriptor MUST
	// be ignored. The maximum size of 256 * 1024 is an arbitrary value chosen to limit
	// the amount of memory a client can force the server to allocate.
	Length uint32 `idl:"name:Length" json:"length"`
	// SecurityDescriptor:  A binary format per the SECURITY_DESCRIPTOR format in [MS-DTYP]
	// section 2.4.6.
	SecurityDescriptor []byte `idl:"name:SecurityDescriptor;size_is:(Length)" json:"security_descriptor"`
}

SrSecurityDescriptor structure represents SAMPR_SR_SECURITY_DESCRIPTOR RPC structure.

The SAMPR_SR_SECURITY_DESCRIPTOR structure holds a formatted security descriptor.

func (*SrSecurityDescriptor) MarshalNDR

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

func (*SrSecurityDescriptor) UnmarshalNDR

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

type String

type String struct {
	// Length:  The size, in bytes, not including a terminating null character, of the string
	// contained in Buffer.
	Length uint16 `idl:"name:Length" json:"length"`
	// MaximumLength:  The size, in bytes, of the Buffer member.
	MaximumLength uint16 `idl:"name:MaximumLength" json:"maximum_length"`
	// Buffer:  A buffer containing a string encoded in the OEM code page. The string is
	// counted (by the Length member), and therefore is not null-terminated.
	Buffer []byte `idl:"name:Buffer;size_is:(MaximumLength);length_is:(Length)" json:"buffer"`
}

String structure represents RPC_STRING RPC structure.

The RPC_STRING structure holds a counted string encoded in the OEM code page.

func (*String) MarshalNDR

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

func (*String) UnmarshalNDR

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

type Uint32Array

type Uint32Array struct {
	// Count:  The number of elements in Element. If zero, Element MUST be ignored. If nonzero,
	// Element MUST point to at least Count * sizeof(unsigned long) bytes of memory.
	Count uint32 `idl:"name:Count" json:"count"`
	// Element:  A pointer to an array of unsigned integers with Count elements. The semantic
	// meaning is dependent on the method in which the structure is being used.
	Element []uint32 `idl:"name:Element;size_is:(Count)" json:"element"`
}

Uint32Array structure represents SAMPR_ULONG_ARRAY RPC structure.

The SAMPR_ULONG_ARRAY structure holds a counted array of unsigned long values.

func (*Uint32Array) MarshalNDR

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

func (*Uint32Array) UnmarshalNDR

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

type UnicodeChangePasswordUser2Request

type UnicodeChangePasswordUser2Request struct {
	// ServerName: A null-terminated string containing the NETBIOS name of the server; this
	// parameter MAY<66> be ignored by the server.
	ServerName *dtyp.UnicodeString `idl:"name:ServerName;pointer:unique" json:"server_name"`
	// UserName: The name of the user. See the message processing later in this section
	// for details on how this value is used as a database key to locate the account that
	// is the target of this password change operation.
	UserName *dtyp.UnicodeString `idl:"name:UserName" json:"user_name"`
	// NewPasswordEncryptedWithOldNt: A cleartext password encrypted according to the specification
	// of SAMPR_ENCRYPTED_USER_PASSWORD (section 2.2.6.21), where the key is the NT hash
	// of the existing password for the target user (as presented by the client in the OldNtOwfPasswordEncryptedWithNewNt
	// parameter).
	NewPasswordEncryptedWithOldNT *EncryptedUserPassword `idl:"name:NewPasswordEncryptedWithOldNt;pointer:unique" json:"new_password_encrypted_with_old_nt"`
	// OldNtOwfPasswordEncryptedWithNewNt: The NT hash of the target user's existing password
	// (as presented by the client) encrypted according to the specification of ENCRYPTED_LM_OWF_PASSWORD
	// (section 2.2.7.3), where the key is the NT hash of the cleartext password obtained
	// from decrypting NewPasswordEncryptedWithOldNt.
	OldNTOWFPasswordEncryptedWithNewNT *EncryptedNTOWFPassword `idl:"name:OldNtOwfPasswordEncryptedWithNewNt;pointer:unique" json:"old_nt_owf_password_encrypted_with_new_nt"`
	// LmPresent: If this parameter is zero, NewPasswordEncryptedWithOldLm and OldLmOwfPasswordEncryptedWithNewNt
	// MUST be ignored; otherwise these fields MUST be processed.
	LMPresent uint8 `idl:"name:LmPresent" json:"lm_present"`
	// NewPasswordEncryptedWithOldLm: A cleartext password encrypted according to the specification
	// of SAMPR_ENCRYPTED_USER_PASSWORD, where the key is the LM hash of the existing password
	// for the target user (as presented by the client).
	NewPasswordEncryptedWithOldLM *EncryptedUserPassword `idl:"name:NewPasswordEncryptedWithOldLm;pointer:unique" json:"new_password_encrypted_with_old_lm"`
	// OldLmOwfPasswordEncryptedWithNewNt: The LM hash the target user's existing password
	// (as presented by the client) encrypted according to the specification of ENCRYPTED_LM_OWF_PASSWORD,
	// where the key is the NT hash of the cleartext password obtained from decrypting NewPasswordEncryptedWithOldNt.
	OldLMOWFPasswordEncryptedWithNewNT *EncryptedLMOWFPassword `idl:"name:OldLmOwfPasswordEncryptedWithNewNt;pointer:unique" json:"old_lm_owf_password_encrypted_with_new_nt"`
}

UnicodeChangePasswordUser2Request structure represents the SamrUnicodeChangePasswordUser2 operation request

func (*UnicodeChangePasswordUser2Request) MarshalNDR

func (*UnicodeChangePasswordUser2Request) UnmarshalNDR

type UnicodeChangePasswordUser2Response

type UnicodeChangePasswordUser2Response struct {
	// Return: The SamrUnicodeChangePasswordUser2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

UnicodeChangePasswordUser2Response structure represents the SamrUnicodeChangePasswordUser2 operation response

func (*UnicodeChangePasswordUser2Response) MarshalNDR

func (*UnicodeChangePasswordUser2Response) UnmarshalNDR

type UserANameInformation

type UserANameInformation struct {
	UserName *dtyp.UnicodeString `idl:"name:UserName" json:"user_name"`
}

UserANameInformation structure represents SAMPR_USER_A_NAME_INFORMATION RPC structure.

The SAMPR_USER_A_NAME_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserANameInformation) MarshalNDR

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

func (*UserANameInformation) UnmarshalNDR

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

type UserAccountInformation

type UserAccountInformation struct {
	UserName           *dtyp.UnicodeString `idl:"name:UserName" json:"user_name"`
	FullName           *dtyp.UnicodeString `idl:"name:FullName" json:"full_name"`
	UserID             uint32              `idl:"name:UserId" json:"user_id"`
	PrimaryGroupID     uint32              `idl:"name:PrimaryGroupId" json:"primary_group_id"`
	HomeDirectory      *dtyp.UnicodeString `idl:"name:HomeDirectory" json:"home_directory"`
	HomeDirectoryDrive *dtyp.UnicodeString `idl:"name:HomeDirectoryDrive" json:"home_directory_drive"`
	ScriptPath         *dtyp.UnicodeString `idl:"name:ScriptPath" json:"script_path"`
	ProfilePath        *dtyp.UnicodeString `idl:"name:ProfilePath" json:"profile_path"`
	AdminComment       *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
	WorkStations       *dtyp.UnicodeString `idl:"name:WorkStations" json:"work_stations"`
	LastLogon          *OldLargeInteger    `idl:"name:LastLogon" json:"last_logon"`
	LastLogoff         *OldLargeInteger    `idl:"name:LastLogoff" json:"last_logoff"`
	LogonHours         *LogonHours         `idl:"name:LogonHours" json:"logon_hours"`
	BadPasswordCount   uint16              `idl:"name:BadPasswordCount" json:"bad_password_count"`
	LogonCount         uint16              `idl:"name:LogonCount" json:"logon_count"`
	PasswordLastSet    *OldLargeInteger    `idl:"name:PasswordLastSet" json:"password_last_set"`
	AccountExpires     *OldLargeInteger    `idl:"name:AccountExpires" json:"account_expires"`
	UserAccountControl uint32              `idl:"name:UserAccountControl" json:"user_account_control"`
}

UserAccountInformation structure represents SAMPR_USER_ACCOUNT_INFORMATION RPC structure.

The SAMPR_USER_ACCOUNT_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserAccountInformation) MarshalNDR

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

func (*UserAccountInformation) UnmarshalNDR

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

type UserAdminCommentInformation

type UserAdminCommentInformation struct {
	AdminComment *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
}

UserAdminCommentInformation structure represents SAMPR_USER_ADMIN_COMMENT_INFORMATION RPC structure.

The SAMPR_USER_ADMIN_COMMENT_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserAdminCommentInformation) MarshalNDR

func (*UserAdminCommentInformation) UnmarshalNDR

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

type UserAllInformation

type UserAllInformation struct {
	LastLogon          *OldLargeInteger    `idl:"name:LastLogon" json:"last_logon"`
	LastLogoff         *OldLargeInteger    `idl:"name:LastLogoff" json:"last_logoff"`
	PasswordLastSet    *OldLargeInteger    `idl:"name:PasswordLastSet" json:"password_last_set"`
	AccountExpires     *OldLargeInteger    `idl:"name:AccountExpires" json:"account_expires"`
	PasswordCanChange  *OldLargeInteger    `idl:"name:PasswordCanChange" json:"password_can_change"`
	PasswordMustChange *OldLargeInteger    `idl:"name:PasswordMustChange" json:"password_must_change"`
	UserName           *dtyp.UnicodeString `idl:"name:UserName" json:"user_name"`
	FullName           *dtyp.UnicodeString `idl:"name:FullName" json:"full_name"`
	HomeDirectory      *dtyp.UnicodeString `idl:"name:HomeDirectory" json:"home_directory"`
	HomeDirectoryDrive *dtyp.UnicodeString `idl:"name:HomeDirectoryDrive" json:"home_directory_drive"`
	ScriptPath         *dtyp.UnicodeString `idl:"name:ScriptPath" json:"script_path"`
	ProfilePath        *dtyp.UnicodeString `idl:"name:ProfilePath" json:"profile_path"`
	AdminComment       *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
	WorkStations       *dtyp.UnicodeString `idl:"name:WorkStations" json:"work_stations"`
	UserComment        *dtyp.UnicodeString `idl:"name:UserComment" json:"user_comment"`
	Parameters         *dtyp.UnicodeString `idl:"name:Parameters" json:"parameters"`
	// LmOwfPassword:  An RPC_SHORT_BLOB structure where Length and MaximumLength MUST be
	// 16, and the Buffer MUST be formatted with an ENCRYPTED_LM_OWF_PASSWORD structure
	// with the cleartext value being an LM hash, and the encryption key being the 16-byte
	// SMB session key obtained as specified in either section 3.1.2.4 or section 3.2.2.3.
	LMOWFPassword *ShortBlob `idl:"name:LmOwfPassword" json:"lm_owf_password"`
	// NtOwfPassword:  An RPC_SHORT_BLOB structure where Length and MaximumLength MUST be
	// 16, and the Buffer MUST be formatted with an ENCRYPTED_NT_OWF_PASSWORD structure
	// with the cleartext value being an NT hash, and the encryption key being the 16-byte
	// SMB session key obtained as specified in either section 3.1.2.4 or section 3.2.2.3.
	NTOWFPassword *ShortBlob `idl:"name:NtOwfPassword" json:"nt_owf_password"`
	// PrivateData:  Not used. Ignored on receipt at the server and client. Clients MUST
	// set to zero when sent, and servers MUST set to zero on return.
	PrivateData *dtyp.UnicodeString `idl:"name:PrivateData" json:"private_data"`
	// SecurityDescriptor:  Not used. Ignored on receipt at the server and client. Clients
	// MUST set to zero when sent, and servers MUST set to zero on return.
	SecurityDescriptor *SrSecurityDescriptor `idl:"name:SecurityDescriptor" json:"security_descriptor"`
	UserID             uint32                `idl:"name:UserId" json:"user_id"`
	PrimaryGroupID     uint32                `idl:"name:PrimaryGroupId" json:"primary_group_id"`
	UserAccountControl uint32                `idl:"name:UserAccountControl" json:"user_account_control"`
	// WhichFields:  A 32-bit bit field indicating which fields within the SAMPR_USER_ALL_INFORMATION
	// structure will be processed by the server. Section 2.2.1.8 specifies the valid bits
	// and also specifies the structure field to which each bit corresponds.
	WhichFields      uint32      `idl:"name:WhichFields" json:"which_fields"`
	LogonHours       *LogonHours `idl:"name:LogonHours" json:"logon_hours"`
	BadPasswordCount uint16      `idl:"name:BadPasswordCount" json:"bad_password_count"`
	LogonCount       uint16      `idl:"name:LogonCount" json:"logon_count"`
	CountryCode      uint16      `idl:"name:CountryCode" json:"country_code"`
	CodePage         uint16      `idl:"name:CodePage" json:"code_page"`
	// LmPasswordPresent:  If zero, LmOwfPassword MUST be ignored; otherwise, LmOwfPassword
	// MUST be processed.
	LMPasswordPresent uint8 `idl:"name:LmPasswordPresent" json:"lm_password_present"`
	// NtPasswordPresent:  If zero, NtOwfPassword MUST be ignored; otherwise, NtOwfPassword
	// MUST be processed.
	NTPasswordPresent uint8 `idl:"name:NtPasswordPresent" json:"nt_password_present"`
	PasswordExpired   uint8 `idl:"name:PasswordExpired" json:"password_expired"`
	// PrivateDataSensitive:  Not used. Ignored on receipt at the server and client.
	PrivateDataSensitive uint8 `idl:"name:PrivateDataSensitive" json:"private_data_sensitive"`
}

UserAllInformation structure represents SAMPR_USER_ALL_INFORMATION RPC structure.

The SAMPR_USER_ALL_INFORMATION structure contains user attribute information. Most fields are described in section 2.2.6.1. The exceptions are described below.

func (*UserAllInformation) MarshalNDR

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

func (*UserAllInformation) UnmarshalNDR

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

type UserControlInformation

type UserControlInformation struct {
	UserAccountControl uint32 `idl:"name:UserAccountControl" json:"user_account_control"`
}

UserControlInformation structure represents USER_CONTROL_INFORMATION RPC structure.

The USER_CONTROL_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserControlInformation) MarshalNDR

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

func (*UserControlInformation) UnmarshalNDR

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

type UserDomainPasswordInformation

type UserDomainPasswordInformation struct {
	MinPasswordLength  uint16 `idl:"name:MinPasswordLength" json:"min_password_length"`
	PasswordProperties uint32 `idl:"name:PasswordProperties" json:"password_properties"`
}

UserDomainPasswordInformation structure represents USER_DOMAIN_PASSWORD_INFORMATION RPC structure.

The USER_DOMAIN_PASSWORD_INFORMATION structure contains domain fields.

For information on each field, see section 2.2.3.1.

func (*UserDomainPasswordInformation) MarshalNDR

func (*UserDomainPasswordInformation) UnmarshalNDR

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

type UserExpiresInformation

type UserExpiresInformation struct {
	AccountExpires *OldLargeInteger `idl:"name:AccountExpires" json:"account_expires"`
}

UserExpiresInformation structure represents USER_EXPIRES_INFORMATION RPC structure.

The USER_EXPIRES_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserExpiresInformation) MarshalNDR

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

func (*UserExpiresInformation) UnmarshalNDR

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

type UserFNameInformation

type UserFNameInformation struct {
	FullName *dtyp.UnicodeString `idl:"name:FullName" json:"full_name"`
}

UserFNameInformation structure represents SAMPR_USER_F_NAME_INFORMATION RPC structure.

The SAMPR_USER_F_NAME_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserFNameInformation) MarshalNDR

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

func (*UserFNameInformation) UnmarshalNDR

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

type UserGeneralInformation

type UserGeneralInformation struct {
	UserName       *dtyp.UnicodeString `idl:"name:UserName" json:"user_name"`
	FullName       *dtyp.UnicodeString `idl:"name:FullName" json:"full_name"`
	PrimaryGroupID uint32              `idl:"name:PrimaryGroupId" json:"primary_group_id"`
	AdminComment   *dtyp.UnicodeString `idl:"name:AdminComment" json:"admin_comment"`
	UserComment    *dtyp.UnicodeString `idl:"name:UserComment" json:"user_comment"`
}

UserGeneralInformation structure represents SAMPR_USER_GENERAL_INFORMATION RPC structure.

The SAMPR_USER_GENERAL_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserGeneralInformation) MarshalNDR

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

func (*UserGeneralInformation) UnmarshalNDR

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

type UserHomeInformation

type UserHomeInformation struct {
	HomeDirectory      *dtyp.UnicodeString `idl:"name:HomeDirectory" json:"home_directory"`
	HomeDirectoryDrive *dtyp.UnicodeString `idl:"name:HomeDirectoryDrive" json:"home_directory_drive"`
}

UserHomeInformation structure represents SAMPR_USER_HOME_INFORMATION RPC structure.

The SAMPR_USER_HOME_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserHomeInformation) MarshalNDR

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

func (*UserHomeInformation) UnmarshalNDR

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

type UserInfoBuffer

type UserInfoBuffer struct {
	// Types that are assignable to Value
	//
	// *UserInfoBuffer_General
	// *UserInfoBuffer_Preferences
	// *UserInfoBuffer_Logon
	// *UserInfoBuffer_LogonHours
	// *UserInfoBuffer_Account
	// *UserInfoBuffer_Name
	// *UserInfoBuffer_AccountName
	// *UserInfoBuffer_FullName
	// *UserInfoBuffer_PrimaryGroup
	// *UserInfoBuffer_Home
	// *UserInfoBuffer_Script
	// *UserInfoBuffer_Profile
	// *UserInfoBuffer_AdminComment
	// *UserInfoBuffer_WorkStations
	// *UserInfoBuffer_Control
	// *UserInfoBuffer_Expires
	// *UserInfoBuffer_Internal1
	// *UserInfoBuffer_Parameters
	// *UserInfoBuffer_All
	// *UserInfoBuffer_Internal4
	// *UserInfoBuffer_Internal5
	// *UserInfoBuffer_Internal4New
	// *UserInfoBuffer_Internal5New
	Value is_UserInfoBuffer `json:"value"`
}

UserInfoBuffer structure represents SAMPR_USER_INFO_BUFFER RPC union.

The SAMPR_USER_INFO_BUFFER union combines all possible structures used in the SamrSetInformationUser, SamrSetInformationUser2, SamrQueryInformationUser, and SamrQueryInformationUser2 methods (see sections 3.1.5.6.5, 3.1.5.6.4, 3.1.5.5.6, and 3.1.5.5.5). For details on each field, see the associated section for the field structure.

func (*UserInfoBuffer) GetValue

func (o *UserInfoBuffer) GetValue() any

func (*UserInfoBuffer) MarshalUnionNDR

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

func (*UserInfoBuffer) NDRSwitchValue

func (o *UserInfoBuffer) NDRSwitchValue(sw uint16) uint16

func (*UserInfoBuffer) UnmarshalUnionNDR

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

type UserInfoBuffer_Account

type UserInfoBuffer_Account struct {
	Account *UserAccountInformation `idl:"name:Account" json:"account"`
}

UserInfoBuffer_Account structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 5

func (*UserInfoBuffer_Account) MarshalNDR

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

func (*UserInfoBuffer_Account) UnmarshalNDR

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

type UserInfoBuffer_AccountName

type UserInfoBuffer_AccountName struct {
	AccountName *UserANameInformation `idl:"name:AccountName" json:"account_name"`
}

UserInfoBuffer_AccountName structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 7

func (*UserInfoBuffer_AccountName) MarshalNDR

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

func (*UserInfoBuffer_AccountName) UnmarshalNDR

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

type UserInfoBuffer_AdminComment

type UserInfoBuffer_AdminComment struct {
	AdminComment *UserAdminCommentInformation `idl:"name:AdminComment" json:"admin_comment"`
}

UserInfoBuffer_AdminComment structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 13

func (*UserInfoBuffer_AdminComment) MarshalNDR

func (*UserInfoBuffer_AdminComment) UnmarshalNDR

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

type UserInfoBuffer_All

type UserInfoBuffer_All struct {
	All *UserAllInformation `idl:"name:All" json:"all"`
}

UserInfoBuffer_All structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 21

func (*UserInfoBuffer_All) MarshalNDR

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

func (*UserInfoBuffer_All) UnmarshalNDR

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

type UserInfoBuffer_Control

type UserInfoBuffer_Control struct {
	Control *UserControlInformation `idl:"name:Control" json:"control"`
}

UserInfoBuffer_Control structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 16

func (*UserInfoBuffer_Control) MarshalNDR

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

func (*UserInfoBuffer_Control) UnmarshalNDR

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

type UserInfoBuffer_Expires

type UserInfoBuffer_Expires struct {
	Expires *UserExpiresInformation `idl:"name:Expires" json:"expires"`
}

UserInfoBuffer_Expires structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 17

func (*UserInfoBuffer_Expires) MarshalNDR

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

func (*UserInfoBuffer_Expires) UnmarshalNDR

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

type UserInfoBuffer_FullName

type UserInfoBuffer_FullName struct {
	FullName *UserFNameInformation `idl:"name:FullName" json:"full_name"`
}

UserInfoBuffer_FullName structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 8

func (*UserInfoBuffer_FullName) MarshalNDR

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

func (*UserInfoBuffer_FullName) UnmarshalNDR

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

type UserInfoBuffer_General

type UserInfoBuffer_General struct {
	General *UserGeneralInformation `idl:"name:General" json:"general"`
}

UserInfoBuffer_General structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 1

func (*UserInfoBuffer_General) MarshalNDR

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

func (*UserInfoBuffer_General) UnmarshalNDR

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

type UserInfoBuffer_Home

type UserInfoBuffer_Home struct {
	Home *UserHomeInformation `idl:"name:Home" json:"home"`
}

UserInfoBuffer_Home structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 10

func (*UserInfoBuffer_Home) MarshalNDR

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

func (*UserInfoBuffer_Home) UnmarshalNDR

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

type UserInfoBuffer_Internal1

type UserInfoBuffer_Internal1 struct {
	Internal1 *UserInternal1Information `idl:"name:Internal1" json:"internal1"`
}

UserInfoBuffer_Internal1 structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 18

func (*UserInfoBuffer_Internal1) MarshalNDR

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

func (*UserInfoBuffer_Internal1) UnmarshalNDR

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

type UserInfoBuffer_Internal4

type UserInfoBuffer_Internal4 struct {
	Internal4 *UserInternal4Information `idl:"name:Internal4" json:"internal4"`
}

UserInfoBuffer_Internal4 structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 23

func (*UserInfoBuffer_Internal4) MarshalNDR

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

func (*UserInfoBuffer_Internal4) UnmarshalNDR

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

type UserInfoBuffer_Internal4New

type UserInfoBuffer_Internal4New struct {
	Internal4New *UserInternal4InformationNew `idl:"name:Internal4New" json:"internal4_new"`
}

UserInfoBuffer_Internal4New structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 25

func (*UserInfoBuffer_Internal4New) MarshalNDR

func (*UserInfoBuffer_Internal4New) UnmarshalNDR

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

type UserInfoBuffer_Internal5

type UserInfoBuffer_Internal5 struct {
	Internal5 *UserInternal5Information `idl:"name:Internal5" json:"internal5"`
}

UserInfoBuffer_Internal5 structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 24

func (*UserInfoBuffer_Internal5) MarshalNDR

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

func (*UserInfoBuffer_Internal5) UnmarshalNDR

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

type UserInfoBuffer_Internal5New

type UserInfoBuffer_Internal5New struct {
	Internal5New *UserInternal5InformationNew `idl:"name:Internal5New" json:"internal5_new"`
}

UserInfoBuffer_Internal5New structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 26

func (*UserInfoBuffer_Internal5New) MarshalNDR

func (*UserInfoBuffer_Internal5New) UnmarshalNDR

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

type UserInfoBuffer_Logon

type UserInfoBuffer_Logon struct {
	Logon *UserLogonInformation `idl:"name:Logon" json:"logon"`
}

UserInfoBuffer_Logon structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 3

func (*UserInfoBuffer_Logon) MarshalNDR

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

func (*UserInfoBuffer_Logon) UnmarshalNDR

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

type UserInfoBuffer_LogonHours

type UserInfoBuffer_LogonHours struct {
	LogonHours *UserLogonHoursInformation `idl:"name:LogonHours" json:"logon_hours"`
}

UserInfoBuffer_LogonHours structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 4

func (*UserInfoBuffer_LogonHours) MarshalNDR

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

func (*UserInfoBuffer_LogonHours) UnmarshalNDR

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

type UserInfoBuffer_Name

type UserInfoBuffer_Name struct {
	Name *UserNameInformation `idl:"name:Name" json:"name"`
}

UserInfoBuffer_Name structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 6

func (*UserInfoBuffer_Name) MarshalNDR

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

func (*UserInfoBuffer_Name) UnmarshalNDR

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

type UserInfoBuffer_Parameters

type UserInfoBuffer_Parameters struct {
	Parameters *UserParametersInformation `idl:"name:Parameters" json:"parameters"`
}

UserInfoBuffer_Parameters structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 20

func (*UserInfoBuffer_Parameters) MarshalNDR

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

func (*UserInfoBuffer_Parameters) UnmarshalNDR

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

type UserInfoBuffer_Preferences

type UserInfoBuffer_Preferences struct {
	Preferences *UserPreferencesInformation `idl:"name:Preferences" json:"preferences"`
}

UserInfoBuffer_Preferences structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 2

func (*UserInfoBuffer_Preferences) MarshalNDR

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

func (*UserInfoBuffer_Preferences) UnmarshalNDR

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

type UserInfoBuffer_PrimaryGroup

type UserInfoBuffer_PrimaryGroup struct {
	PrimaryGroup *UserPrimaryGroupInformation `idl:"name:PrimaryGroup" json:"primary_group"`
}

UserInfoBuffer_PrimaryGroup structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 9

func (*UserInfoBuffer_PrimaryGroup) MarshalNDR

func (*UserInfoBuffer_PrimaryGroup) UnmarshalNDR

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

type UserInfoBuffer_Profile

type UserInfoBuffer_Profile struct {
	Profile *UserProfileInformation `idl:"name:Profile" json:"profile"`
}

UserInfoBuffer_Profile structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 12

func (*UserInfoBuffer_Profile) MarshalNDR

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

func (*UserInfoBuffer_Profile) UnmarshalNDR

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

type UserInfoBuffer_Script

type UserInfoBuffer_Script struct {
	Script *UserScriptInformation `idl:"name:Script" json:"script"`
}

UserInfoBuffer_Script structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 11

func (*UserInfoBuffer_Script) MarshalNDR

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

func (*UserInfoBuffer_Script) UnmarshalNDR

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

type UserInfoBuffer_WorkStations

type UserInfoBuffer_WorkStations struct {
	WorkStations *UserWorkstationsInformation `idl:"name:WorkStations" json:"work_stations"`
}

UserInfoBuffer_WorkStations structure represents SAMPR_USER_INFO_BUFFER RPC union arm.

It has following labels: 14

func (*UserInfoBuffer_WorkStations) MarshalNDR

func (*UserInfoBuffer_WorkStations) UnmarshalNDR

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

type UserInformationClass

type UserInformationClass uint16

UserInformationClass type represents USER_INFORMATION_CLASS RPC enumeration.

The USER_INFORMATION_CLASS enumeration indicates how to interpret the Buffer parameter for SamrSetInformationUser, SamrQueryInformationUser, SamrSetInformationUser2, and SamrQueryInformationUser2. For a list of associated structures, see section 2.2.6.29.

var (
	// UserGeneralInformation:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_USER_GENERAL_INFORMATION structure (see section 2.2.6.7).
	UserInformationClassGeneralInformation UserInformationClass = 1
	// UserPreferencesInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_USER_PREFERENCES_INFORMATION structure (see section 2.2.6.8).
	UserInformationClassPreferencesInformation UserInformationClass = 2
	// UserLogonInformation:  Indicates the Buffer parameter is to be interpreted as a
	// SAMPR_USER_LOGON_INFORMATION structure (see section 2.2.6.10).
	UserInformationClassLogonInformation UserInformationClass = 3
	// UserLogonHoursInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_USER_LOGON_HOURS_INFORMATION structure (see section 2.2.6.20).
	UserInformationClassLogonHoursInformation UserInformationClass = 4
	// UserAccountInformation:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_USER_ACCOUNT_INFORMATION structure (see section 2.2.6.11).
	UserInformationClassAccountInformation UserInformationClass = 5
	// UserNameInformation:  Indicates the Buffer parameter is to be interpreted as a SAMPR_USER_NAME_INFORMATION
	// structure (see section 2.2.6.14).
	UserInformationClassNameInformation UserInformationClass = 6
	// UserAccountNameInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_USER_A_NAME_INFORMATION structure (see section 2.2.6.12).
	UserInformationClassAccountNameInformation UserInformationClass = 7
	// UserFullNameInformation:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_USER_F_NAME_INFORMATION structure (see section 2.2.6.13).
	UserInformationClassFullNameInformation UserInformationClass = 8
	// UserPrimaryGroupInformation:  Indicates the Buffer parameter is to be interpreted
	// as a USER_PRIMARY_GROUP_INFORMATION structure (see section 2.2.6.2).
	UserInformationClassPrimaryGroupInformation UserInformationClass = 9
	// UserHomeInformation:  Indicates the Buffer parameter is to be interpreted as a SAMPR_USER_HOME_INFORMATION
	// structure (see section 2.2.6.15).
	UserInformationClassHomeInformation UserInformationClass = 10
	// UserScriptInformation:  Indicates the Buffer parameter is to be interpreted as a
	// SAMPR_USER_SCRIPT_INFORMATION structure (see section 2.2.6.16).
	UserInformationClassScriptInformation UserInformationClass = 11
	// UserProfileInformation:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_USER_PROFILE_INFORMATION structure (see section 2.2.6.17).
	UserInformationClassProfileInformation UserInformationClass = 12
	// UserAdminCommentInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_USER_ADMIN_COMMENT_INFORMATION structure (see section 2.2.6.18).
	UserInformationClassAdminCommentInformation UserInformationClass = 13
	// UserWorkStationsInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_USER_WORKSTATIONS_INFORMATION structure (see section 2.2.6.19).
	UserInformationClassWorkStationsInformation UserInformationClass = 14
	// UserControlInformation:  Indicates the Buffer parameter is to be interpreted as
	// a USER_CONTROL_INFORMATION structure (see section 2.2.6.3).
	UserInformationClassControlInformation UserInformationClass = 16
	// UserExpiresInformation:  Indicates the Buffer parameter is to be interpreted as
	// a USER_EXPIRES_INFORMATION structure (see section 2.2.6.4).
	UserInformationClassExpiresInformation UserInformationClass = 17
	// UserInternal1Information:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_USER_INTERNAL1_INFORMATION structure (see section 2.2.6.23).
	UserInformationClassInternal1Information UserInformationClass = 18
	// UserParametersInformation:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_USER_PARAMETERS_INFORMATION structure (see section 2.2.6.9).
	UserInformationClassParametersInformation UserInformationClass = 20
	// UserAllInformation:  Indicates the Buffer parameter is to be interpreted as a SAMPR_USER_ALL_INFORMATION
	// structure (see section 2.2.6.6).
	UserInformationClassAllInformation UserInformationClass = 21
	// UserInternal4Information:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_USER_INTERNAL4_INFORMATION structure (see section 2.2.6.24).
	UserInformationClassInternal4Information UserInformationClass = 23
	// UserInternal5Information:  Indicates the Buffer parameter is to be interpreted as
	// a SAMPR_USER_INTERNAL5_INFORMATION structure (see section 2.2.6.26).
	UserInformationClassInternal5Information UserInformationClass = 24
	// UserInternal4InformationNew:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_USER_INTERNAL4_INFORMATION_NEW structure (see section 2.2.6.25).
	UserInformationClassInternal4InformationNew UserInformationClass = 25
	// UserInternal5InformationNew:  Indicates the Buffer parameter is to be interpreted
	// as a SAMPR_USER_INTERNAL5_INFORMATION_NEW structure (see section 2.2.6.27).
	UserInformationClassInternal5InformationNew UserInformationClass = 26
)

func (UserInformationClass) String

func (o UserInformationClass) String() string

type UserInternal1Information

type UserInternal1Information struct {
	// EncryptedNtOwfPassword:  An NT hash encrypted with the 16-byte SMB session key obtained
	// as specified in either section 3.1.2.4 or section 3.2.2.3.
	EncryptedNTOWFPassword *EncryptedNTOWFPassword `idl:"name:EncryptedNtOwfPassword" json:"encrypted_nt_owf_password"`
	// EncryptedLmOwfPassword:  An LM hash encrypted with the 16-byte SMB session key obtained
	// as specified in either section 3.1.2.4 or section 3.2.2.3.
	EncryptedLMOWFPassword *EncryptedLMOWFPassword `idl:"name:EncryptedLmOwfPassword" json:"encrypted_lm_owf_password"`
	// NtPasswordPresent:  If nonzero, indicates that the EncryptedNtOwfPassword value is
	// valid; otherwise, EncryptedNtOwfPassword MUST be ignored.
	NTPasswordPresent uint8 `idl:"name:NtPasswordPresent" json:"nt_password_present"`
	// LmPasswordPresent:  If nonzero, indicates that the EncryptedLmOwfPassword value is
	// valid; otherwise, EncryptedLmOwfPassword MUST be ignored.
	LMPasswordPresent uint8 `idl:"name:LmPasswordPresent" json:"lm_password_present"`
	// PasswordExpired:  See section 2.2.6.1.
	PasswordExpired uint8 `idl:"name:PasswordExpired" json:"password_expired"`
}

UserInternal1Information structure represents SAMPR_USER_INTERNAL1_INFORMATION RPC structure.

The SAMPR_USER_INTERNAL1_INFORMATION structure holds the hashed form of a cleartext password.

func (*UserInternal1Information) MarshalNDR

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

func (*UserInternal1Information) UnmarshalNDR

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

type UserInternal4Information

type UserInternal4Information struct {
	// I1:  See section 2.2.6.6.
	I1 *UserAllInformation `idl:"name:I1" json:"i1"`
	// UserPassword:  See section 2.2.6.21.
	UserPassword *EncryptedUserPassword `idl:"name:UserPassword" json:"user_password"`
}

UserInternal4Information structure represents SAMPR_USER_INTERNAL4_INFORMATION RPC structure.

The SAMPR_USER_INTERNAL4_INFORMATION structure holds all attributes of a user, along with an encrypted password.

func (*UserInternal4Information) MarshalNDR

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

func (*UserInternal4Information) UnmarshalNDR

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

type UserInternal4InformationNew

type UserInternal4InformationNew struct {
	// I1:  See section 2.2.6.6.
	I1 *UserAllInformation `idl:"name:I1" json:"i1"`
	// UserPassword:  See section 2.2.6.22.
	UserPassword *EncryptedUserPasswordNew `idl:"name:UserPassword" json:"user_password"`
}

UserInternal4InformationNew structure represents SAMPR_USER_INTERNAL4_INFORMATION_NEW RPC structure.

The SAMPR_USER_INTERNAL4_INFORMATION_NEW structure holds all attributes of a user, along with an encrypted password. The encrypted password uses a salt to improve the encryption algorithm. See the specification for SAMPR_ENCRYPTED_USER_PASSWORD_NEW (section 2.2.6.22) for details on salt value selection.

func (*UserInternal4InformationNew) MarshalNDR

func (*UserInternal4InformationNew) UnmarshalNDR

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

type UserInternal5Information

type UserInternal5Information struct {
	// UserPassword:  A cleartext password, encrypted according to the specification for
	// SAMPR_ENCRYPTED_USER_PASSWORD, with the encryption key being the 16-byte SMB session
	// key obtained as specified in either section 3.1.2.4 or section 3.2.2.3.
	UserPassword *EncryptedUserPassword `idl:"name:UserPassword" json:"user_password"`
	// PasswordExpired:  See section 2.2.6.1.
	PasswordExpired uint8 `idl:"name:PasswordExpired" json:"password_expired"`
}

UserInternal5Information structure represents SAMPR_USER_INTERNAL5_INFORMATION RPC structure.

The SAMPR_USER_INTERNAL5_INFORMATION structure holds an encrypted password.

This structure is used to carry a new password for a particular account from the client to the server, encrypted in a way that protects it from disclosure or tampering while in transit.

func (*UserInternal5Information) MarshalNDR

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

func (*UserInternal5Information) UnmarshalNDR

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

type UserInternal5InformationNew

type UserInternal5InformationNew struct {
	// UserPassword:  A password, encrypted according to the specification for SAMPR_ENCRYPTED_USER_PASSWORD_NEW,
	// with the encryption key being the 16-byte SMB session key obtained as specified in
	// either section 3.1.2.4 or section 3.2.2.3.
	UserPassword *EncryptedUserPasswordNew `idl:"name:UserPassword" json:"user_password"`
	// PasswordExpired:  See section 2.2.6.1.
	PasswordExpired uint8 `idl:"name:PasswordExpired" json:"password_expired"`
}

UserInternal5InformationNew structure represents SAMPR_USER_INTERNAL5_INFORMATION_NEW RPC structure.

The SAMPR_USER_INTERNAL5_INFORMATION_NEW structure communicates an encrypted password. The encrypted password uses a salt to improve the encryption algorithm. See the specification for SAMPR_ENCRYPTED_USER_PASSWORD_NEW (section 2.2.6.22) for details on salt value selection.

This structure is used to carry a new password for a particular account from the client to the server, encrypted in a way that protects it from disclosure or tampering while in transit. A random value, a salt, is used by the client to seed the encryption routine; see section 2.2.6.22 for details.

func (*UserInternal5InformationNew) MarshalNDR

func (*UserInternal5InformationNew) UnmarshalNDR

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

type UserLogonHoursInformation

type UserLogonHoursInformation struct {
	LogonHours *LogonHours `idl:"name:LogonHours" json:"logon_hours"`
}

UserLogonHoursInformation structure represents SAMPR_USER_LOGON_HOURS_INFORMATION RPC structure.

The SAMPR_USER_LOGON_HOURS_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserLogonHoursInformation) MarshalNDR

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

func (*UserLogonHoursInformation) UnmarshalNDR

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

type UserLogonInformation

type UserLogonInformation struct {
	UserName           *dtyp.UnicodeString `idl:"name:UserName" json:"user_name"`
	FullName           *dtyp.UnicodeString `idl:"name:FullName" json:"full_name"`
	UserID             uint32              `idl:"name:UserId" json:"user_id"`
	PrimaryGroupID     uint32              `idl:"name:PrimaryGroupId" json:"primary_group_id"`
	HomeDirectory      *dtyp.UnicodeString `idl:"name:HomeDirectory" json:"home_directory"`
	HomeDirectoryDrive *dtyp.UnicodeString `idl:"name:HomeDirectoryDrive" json:"home_directory_drive"`
	ScriptPath         *dtyp.UnicodeString `idl:"name:ScriptPath" json:"script_path"`
	ProfilePath        *dtyp.UnicodeString `idl:"name:ProfilePath" json:"profile_path"`
	WorkStations       *dtyp.UnicodeString `idl:"name:WorkStations" json:"work_stations"`
	LastLogon          *OldLargeInteger    `idl:"name:LastLogon" json:"last_logon"`
	LastLogoff         *OldLargeInteger    `idl:"name:LastLogoff" json:"last_logoff"`
	PasswordLastSet    *OldLargeInteger    `idl:"name:PasswordLastSet" json:"password_last_set"`
	PasswordCanChange  *OldLargeInteger    `idl:"name:PasswordCanChange" json:"password_can_change"`
	PasswordMustChange *OldLargeInteger    `idl:"name:PasswordMustChange" json:"password_must_change"`
	LogonHours         *LogonHours         `idl:"name:LogonHours" json:"logon_hours"`
	BadPasswordCount   uint16              `idl:"name:BadPasswordCount" json:"bad_password_count"`
	LogonCount         uint16              `idl:"name:LogonCount" json:"logon_count"`
	UserAccountControl uint32              `idl:"name:UserAccountControl" json:"user_account_control"`
}

UserLogonInformation structure represents SAMPR_USER_LOGON_INFORMATION RPC structure.

The SAMPR_USER_LOGON_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserLogonInformation) MarshalNDR

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

func (*UserLogonInformation) UnmarshalNDR

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

type UserNameInformation

type UserNameInformation struct {
	UserName *dtyp.UnicodeString `idl:"name:UserName" json:"user_name"`
	FullName *dtyp.UnicodeString `idl:"name:FullName" json:"full_name"`
}

UserNameInformation structure represents SAMPR_USER_NAME_INFORMATION RPC structure.

The SAMPR_USER_NAME_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserNameInformation) MarshalNDR

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

func (*UserNameInformation) UnmarshalNDR

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

type UserParametersInformation

type UserParametersInformation struct {
	Parameters *dtyp.UnicodeString `idl:"name:Parameters" json:"parameters"`
}

UserParametersInformation structure represents SAMPR_USER_PARAMETERS_INFORMATION RPC structure.

The SAMPR_USER_PARAMETERS_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserParametersInformation) MarshalNDR

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

func (*UserParametersInformation) UnmarshalNDR

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

type UserPreferencesInformation

type UserPreferencesInformation struct {
	UserComment *dtyp.UnicodeString `idl:"name:UserComment" json:"user_comment"`

	CountryCode uint16 `idl:"name:CountryCode" json:"country_code"`
	CodePage    uint16 `idl:"name:CodePage" json:"code_page"`
	// contains filtered or unexported fields
}

UserPreferencesInformation structure represents SAMPR_USER_PREFERENCES_INFORMATION RPC structure.

The SAMPR_USER_PREFERENCES_INFORMATION structure contains user fields.

func (*UserPreferencesInformation) MarshalNDR

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

func (*UserPreferencesInformation) UnmarshalNDR

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

type UserPrimaryGroupInformation

type UserPrimaryGroupInformation struct {
	PrimaryGroupID uint32 `idl:"name:PrimaryGroupId" json:"primary_group_id"`
}

UserPrimaryGroupInformation structure represents USER_PRIMARY_GROUP_INFORMATION RPC structure.

The USER_PRIMARY_GROUP_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserPrimaryGroupInformation) MarshalNDR

func (*UserPrimaryGroupInformation) UnmarshalNDR

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

type UserProfileInformation

type UserProfileInformation struct {
	ProfilePath *dtyp.UnicodeString `idl:"name:ProfilePath" json:"profile_path"`
}

UserProfileInformation structure represents SAMPR_USER_PROFILE_INFORMATION RPC structure.

The SAMPR_USER_PROFILE_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserProfileInformation) MarshalNDR

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

func (*UserProfileInformation) UnmarshalNDR

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

type UserScriptInformation

type UserScriptInformation struct {
	ScriptPath *dtyp.UnicodeString `idl:"name:ScriptPath" json:"script_path"`
}

UserScriptInformation structure represents SAMPR_USER_SCRIPT_INFORMATION RPC structure.

The SAMPR_USER_SCRIPT_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserScriptInformation) MarshalNDR

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

func (*UserScriptInformation) UnmarshalNDR

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

type UserWorkstationsInformation

type UserWorkstationsInformation struct {
	WorkStations *dtyp.UnicodeString `idl:"name:WorkStations" json:"work_stations"`
}

UserWorkstationsInformation structure represents SAMPR_USER_WORKSTATIONS_INFORMATION RPC structure.

The SAMPR_USER_WORKSTATIONS_INFORMATION structure contains user fields.

For information on each field, see section 2.2.6.1.

func (*UserWorkstationsInformation) MarshalNDR

func (*UserWorkstationsInformation) UnmarshalNDR

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

type ValidatePasswordRequest

type ValidatePasswordRequest struct {
	// ValidationType: The password policy validation requested.
	ValidationType PasswordPolicyValidationType `idl:"name:ValidationType" json:"validation_type"`
	// InputArg: The password-related material to validate.
	InputArg *SAMValidateInputArg `idl:"name:InputArg;switch_is:ValidationType" json:"input_arg"`
}

ValidatePasswordRequest structure represents the SamrValidatePassword operation request

func (*ValidatePasswordRequest) MarshalNDR

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

func (*ValidatePasswordRequest) UnmarshalNDR

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

type ValidatePasswordResponse

type ValidatePasswordResponse struct {
	// OutputArg: The result of the validation.
	OutputArg *SAMValidateOutputArg `idl:"name:OutputArg;switch_is:ValidationType" json:"output_arg"`
	// Return: The SamrValidatePassword return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ValidatePasswordResponse structure represents the SamrValidatePassword operation response

func (*ValidatePasswordResponse) MarshalNDR

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

func (*ValidatePasswordResponse) UnmarshalNDR

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

Jump to

Keyboard shortcuts

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