drsuapi

package
v1.1.6 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const AddReference = 0x00000004

AddReference represents the DRS_ADD_REF RPC constant

View Source
const AsyncOperation = 0x00000001

AsyncOperation represents the DRS_ASYNC_OP RPC constant

View Source
const AsyncReplication = 0x00000100

AsyncReplication represents the DRS_ASYNC_REPLICATION RPC constant

View Source
const CriticalOnly = 0x00000400

CriticalOnly represents the DRS_CRITICAL_ONLY RPC constant

View Source
const DeleteReference = 0x00000008

DeleteReference represents the DRS_DEL_REF RPC constant

View Source
const DisableAutoSync = 0x04000000

DisableAutoSync represents the DRS_DISABLE_AUTO_SYNC RPC constant

View Source
const DisablePeriodicSync = 0x08000000

DisablePeriodicSync represents the DRS_DISABLE_PERIODIC_SYNC RPC constant

View Source
const ExtAddEntry = 0x00000080

ExtAddEntry represents the DRS_EXT_ADDENTRY RPC constant

View Source
const ExtAddEntryV2 = 0x00000200

ExtAddEntryV2 represents the DRS_EXT_ADDENTRY_V2 RPC constant

View Source
const ExtAddSIDHistory = 0x00040000

ExtAddSIDHistory represents the DRS_EXT_ADD_SID_HISTORY RPC constant

View Source
const ExtAsyncReply = 0x00000002

ExtAsyncReply represents the DRS_EXT_ASYNCREPL RPC constant

View Source
const ExtBase = 0x00000001

ExtBase represents the DRS_EXT_BASE RPC constant

View Source
const ExtCryptoBind = 0x00002000

ExtCryptoBind represents the DRS_EXT_CRYPTO_BIND RPC constant

View Source
const ExtDCInfoV1 = 0x00000020

ExtDCInfoV1 represents the DRS_EXT_DCINFO_V1 RPC constant

View Source
const ExtDCInfoV2 = 0x00000800

ExtDCInfoV2 represents the DRS_EXT_DCINFO_V2 RPC constant

View Source
const ExtDCInfoVQ = 0x00010000

ExtDCInfoVQ represents the DRS_EXT_DCINFO_VFFFFFFFF RPC constant

View Source
const ExtGetMemberships2 = 0x00200000

ExtGetMemberships2 represents the DRS_EXT_GETMEMBERSHIPS2 RPC constant

View Source
const ExtGetNCChangesDeflate = 0x00000010

ExtGetNCChangesDeflate represents the DRS_EXT_GETCHG_DEFLATE RPC constant

View Source
const ExtGetNCChangesReplyV5 = 0x02000000

ExtGetNCChangesReplyV5 represents the DRS_EXT_GETCHGREPLY_V5 RPC constant

View Source
const ExtGetNCChangesReplyV6 = 0x04000000

ExtGetNCChangesReplyV6 represents the DRS_EXT_GETCHGREPLY_V6 RPC constant

View Source
const ExtGetNCChangesRequestV10 = 0x20000000

ExtGetNCChangesRequestV10 represents the DRS_EXT_GETCHGREQ_V10 RPC constant

View Source
const ExtGetNCChangesRequestV5 = 0x00100000

ExtGetNCChangesRequestV5 represents the DRS_EXT_GETCHGREQ_V5 RPC constant

View Source
const ExtGetNCChangesRequestV6 = 0x00400000

ExtGetNCChangesRequestV6 represents the DRS_EXT_GETCHGREQ_V6 RPC constant

View Source
const ExtGetNCChangesRequestV8 = 0x01000000

ExtGetNCChangesRequestV8 represents the DRS_EXT_GETCHGREQ_V8 RPC constant

View Source
const ExtGetReplicationInfo = 0x00004000

ExtGetReplicationInfo represents the DRS_EXT_GET_REPL_INFO RPC constant

View Source
const ExtInstanceTypeNotRequestOnModify = 0x00001000

ExtInstanceTypeNotRequestOnModify represents the DRS_EXT_INSTANCE_TYPE_NOT_REQ_ON_MOD RPC constant

View Source
const ExtKCCExecute = 0x00000100

ExtKCCExecute represents the DRS_EXT_KCC_EXECUTE RPC constant

View Source
const ExtLinkedValueReplication = 0x00000400

ExtLinkedValueReplication represents the DRS_EXT_LINKED_VALUE_REPLICATION RPC constant

View Source
const ExtMoveRequestV2 = 0x00000008

ExtMoveRequestV2 represents the DRS_EXT_MOVEREQ_V2 RPC constant

View Source
const ExtNonDomainNCs = 0x00800000

ExtNonDomainNCs represents the DRS_EXT_NONDOMAIN_NCS RPC constant

View Source
const ExtPostBeta3 = 0x00080000

ExtPostBeta3 represents the DRS_EXT_POST_BETA3 RPC constant

View Source
const ExtRemoveAPI = 0x00000004

ExtRemoveAPI represents the DRS_EXT_REMOVEAPI RPC constant

View Source
const ExtReservedForWin2KOrNETPart2 = 0x40000000

ExtReservedForWin2KOrNETPart2 represents the DRS_EXT_RESERVED_FOR_WIN2K_OR_DOTNET_PART2 RPC constant

View Source
const ExtReservedForWin2KOrNETPart3 = 0x80000000

ExtReservedForWin2KOrNETPart3 represents the DRS_EXT_RESERVED_FOR_WIN2K_OR_DOTNET_PART3 RPC constant

View Source
const ExtRestoreUSNOptimization = 0x00000040

ExtRestoreUSNOptimization represents the DRS_EXT_RESTORE_USN_OPTIMIZATION RPC constant

View Source
const ExtStrongEncryption = 0x00008000

ExtStrongEncryption represents the DRS_EXT_STRONG_ENCRYPTION RPC constant

View Source
const ExtTransitiveMembership = 0x00020000

ExtTransitiveMembership represents the DRS_EXT_TRANSITIVE_MEMBERSHIP RPC constant

View Source
const ExtW2K3Deflate = 0x10000000

ExtW2K3Deflate represents the DRS_EXT_W2K3_DEFLATE RPC constant

View Source
const ExtWhistlerBeta3 = 0x08000000

ExtWhistlerBeta3 represents the DRS_EXT_WHISTLER_BETA3 RPC constant

View Source
const ExtendedOperationFSMOAbandonRole = 0x00000005

ExtendedOperationFSMOAbandonRole represents the EXOP_FSMO_ABANDON_ROLE RPC constant

View Source
const ExtendedOperationFSMORIDRequestRole = 0x00000003

ExtendedOperationFSMORIDRequestRole represents the EXOP_FSMO_RID_REQ_ROLE RPC constant

View Source
const ExtendedOperationFSMORequestPDC = 0x00000004

ExtendedOperationFSMORequestPDC represents the EXOP_FSMO_REQ_PDC RPC constant

View Source
const ExtendedOperationFSMORequestRIDAlloc = 0x00000002

ExtendedOperationFSMORequestRIDAlloc represents the EXOP_FSMO_REQ_RID_ALLOC RPC constant

View Source
const ExtendedOperationFSMORequestRole = 0x00000001

ExtendedOperationFSMORequestRole represents the EXOP_FSMO_REQ_ROLE RPC constant

View Source
const ExtendedOperationReplicationObject = 0x00000006

ExtendedOperationReplicationObject represents the EXOP_REPL_OBJ RPC constant

View Source
const ExtendedOperationReplicationSecrets = 0x00000007

ExtendedOperationReplicationSecrets represents the EXOP_REPL_SECRETS RPC constant

View Source
const FullSyncInProgress = 0x00010000

FullSyncInProgress represents the DRS_FULL_SYNC_IN_PROGRESS RPC constant

View Source
const FullSyncNow = 0x00008000

FullSyncNow represents the DRS_FULL_SYNC_NOW RPC constant

View Source
const FullSyncPacket = 0x00020000

FullSyncPacket represents the DRS_FULL_SYNC_PACKET RPC constant

View Source
const GetAllGroupMembership = 0x80000000

GetAllGroupMembership represents the DRS_GET_ALL_GROUP_MEMBERSHIP RPC constant

View Source
const GetAncestor = 0x00000800

GetAncestor represents the DRS_GET_ANCESTOR RPC constant

View Source
const GetNCChangesCheck = 0x00000002

GetNCChangesCheck represents the DRS_GETCHG_CHECK RPC constant

View Source
const GetNCSize = 0x00001000

GetNCSize represents the DRS_GET_NC_SIZE RPC constant

View Source
const IgnoreError = 0x00000100

IgnoreError represents the DRS_IGNORE_ERROR RPC constant

View Source
const InitSync = 0x00000020

InitSync represents the DRS_INIT_SYNC RPC constant

View Source
const InitSyncNow = 0x00800000

InitSyncNow represents the DRS_INIT_SYNC_NOW RPC constant

View Source
const LocalOnly = 0x00001000

LocalOnly represents the DRS_LOCAL_ONLY RPC constant

View Source
const MailReplication = 0x00000080

MailReplication represents the DRS_MAIL_REPLICATION RPC constant

View Source
const NeverNotify = 0x20000000

NeverNotify represents the DRS_NEVER_NOTIFY RPC constant

View Source
const NeverSynced = 0x00200000

NeverSynced represents the DRS_NEVER_SYNCED RPC constant

View Source
const NoDiscard = 0x00100000

NoDiscard represents the DRS_NO_DISCARD RPC constant

View Source
const NoSource = 0x00008000

NoSource represents the DRS_NO_SOURCE RPC constant

View Source
const NonGCReadOnlyReplica = 0x00002000

NonGCReadOnlyReplica represents the DRS_NON_GC_RO_REPLICA RPC constant

View Source
const PeriodicalSync = 0x00000040

PeriodicalSync represents the DRS_PERIODICAL_SYNC RPC constant

View Source
const Preempted = 0x01000000

Preempted represents the DRS_PREEMPTED RPC constant

View Source
const ReferenceGCSPN = 0x00100000

ReferenceGCSPN represents the DRS_REF_GC_SPN RPC constant

View Source
const ReferenceOK = 0x00004000

ReferenceOK represents the DRS_REF_OK RPC constant

View Source
const SpecialSecretProcessing = 0x00400000

SpecialSecretProcessing represents the DRS_SPECIAL_SECRET_PROCESSING RPC constant

View Source
const SyncAll = 0x00000004

SyncAll represents the DRS_SYNC_ALL RPC constant

View Source
const SyncByName = 0x00004000

SyncByName represents the DRS_SYNC_BY_NAME RPC constant

View Source
const SyncForced = 0x02000000

SyncForced represents the DRS_SYNC_FORCED RPC constant

View Source
const SyncPartialAttributes = 0x40000000

SyncPartialAttributes represents the DRS_SYNC_PARTIAL_ATTRIBUTES RPC constant

View Source
const SyncRequeue = 0x00040000

SyncRequeue represents the DRS_SYNC_REQUEUE RPC constant

View Source
const SyncUrgent = 0x00080000

SyncUrgent represents the DRS_SYNC_URGENT RPC constant

View Source
const TwoWaySync = 0x00000200

TwoWaySync represents the DRS_TWO_WAY_SYNC RPC constant

View Source
const UpdateNotification = 0x00000002

UpdateNotification represents the DRS_UPDATE_NOTIFICATION RPC constant

View Source
const UseCompression = 0x10000000

UseCompression represents the DRS_USE_COMPRESSION RPC constant

View Source
const WritableReplica = 0x00000010

WritableReplica represents the DRS_WRITABLE_REPLICA RPC constant

Variables

View Source
var (
	// Syntax UUID
	DrsuapiSyntaxUUID = &uuid.UUID{TimeLow: 0xe3514235, TimeMid: 0x4b06, TimeHiAndVersion: 0x11d1, ClockSeqHiAndReserved: 0xab, ClockSeqLow: 0x4, Node: [6]uint8{0x0, 0xc0, 0x4f, 0xc2, 0xdc, 0xd2}}
	// Syntax ID
	DrsuapiSyntaxV4_0 = &dcerpc.SyntaxID{IfUUID: DrsuapiSyntaxUUID, IfVersionMajor: 4, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "drsr"
)

Functions

func DecryptData added in v1.0.2

func DecryptData(ctx context.Context, b []byte) ([]byte, error)

DecryptData decrypts the data using the session key from the context.

func DecryptDataWithKey added in v1.0.2

func DecryptDataWithKey(ctx context.Context, key []byte, b []byte) ([]byte, error)

DecryptDataWithKey decrypts the data using the provided key.

func DecryptHash added in v1.0.2

func DecryptHash(ctx context.Context, rid uint32, b []byte) ([]byte, error)

DecryptHash decrypts the hash using the session key from context and rid.

func DecryptHashWithKey added in v1.1.2

func DecryptHashWithKey(ctx context.Context, key []byte, rid uint32, b []byte) ([]byte, error)

DecryptHashWithKey decrypts the hash using the provided key and rid.

func DrsuapiServerHandle

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

func NewDrsuapiServerHandle

func NewDrsuapiServerHandle(o DrsuapiServer) dcerpc.ServerHandle

func RawPrefixToOID added in v1.0.2

func RawPrefixToOID(b []byte) (asn1.ObjectIdentifier, error)

func RegisterDrsuapiServer

func RegisterDrsuapiServer(conn dcerpc.Conn, o DrsuapiServer, opts ...dcerpc.Option)

Types

type AddCloneDCRequest

type AddCloneDCRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageAddCloneDCRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

AddCloneDCRequest structure represents the IDL_DRSAddCloneDC operation request

func (*AddCloneDCRequest) MarshalNDR

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

func (*AddCloneDCRequest) UnmarshalNDR

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

type AddCloneDCResponse

type AddCloneDCResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageAddCloneDCReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSAddCloneDC return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddCloneDCResponse structure represents the IDL_DRSAddCloneDC operation response

func (*AddCloneDCResponse) MarshalNDR

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

func (*AddCloneDCResponse) UnmarshalNDR

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

type AddEntryReplyInfo

type AddEntryReplyInfo struct {
	// objGuid:  The objectGUID of the added object.
	ObjectGUID *dtyp.GUID `idl:"name:objGuid" json:"object_guid"`
	// objSid:  The objectSid of the added object.
	ObjectSID *NT4SID `idl:"name:objSid" json:"object_sid"`
}

AddEntryReplyInfo structure represents ADDENTRY_REPLY_INFO RPC structure.

The ADDENTRY_REPLY_INFO structure defines the identity of an object added by the IDL_DRSAddEntry method.

func (*AddEntryReplyInfo) MarshalNDR

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

func (*AddEntryReplyInfo) UnmarshalNDR

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

type AddEntryRequest

type AddEntryRequest struct {
	// hDrs: The RPC context handle that is returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageAddEntryRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

AddEntryRequest structure represents the IDL_DRSAddEntry operation request

func (*AddEntryRequest) MarshalNDR

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

func (*AddEntryRequest) UnmarshalNDR

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

type AddEntryResponse

type AddEntryResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageAddEntryReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSAddEntry return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddEntryResponse structure represents the IDL_DRSAddEntry operation response

func (*AddEntryResponse) MarshalNDR

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

func (*AddEntryResponse) UnmarshalNDR

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

type AddReplicaRequest

type AddReplicaRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwVersion: The version of the request message.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// pmsgAdd: A pointer to the request message.
	Add *MessageAddReplica `idl:"name:pmsgAdd;switch_is:dwVersion;pointer:ref" json:"add"`
}

AddReplicaRequest structure represents the IDL_DRSReplicaAdd operation request

func (*AddReplicaRequest) MarshalNDR

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

func (*AddReplicaRequest) UnmarshalNDR

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

type AddReplicaResponse

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

AddReplicaResponse structure represents the IDL_DRSReplicaAdd operation response

func (*AddReplicaResponse) MarshalNDR

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

func (*AddReplicaResponse) UnmarshalNDR

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

type AddSIDHistoryRequest

type AddSIDHistoryRequest struct {
	// hDrs: RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: Version of the request message. Must be set to 1, because no other version
	// is supported.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: Pointer to the request message.
	In *MessageAddSIDHistoryRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

AddSIDHistoryRequest structure represents the IDL_DRSAddSidHistory operation request

func (*AddSIDHistoryRequest) MarshalNDR

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

func (*AddSIDHistoryRequest) UnmarshalNDR

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

type AddSIDHistoryResponse

type AddSIDHistoryResponse struct {
	// pdwOutVersion: Pointer to the version of the response message. The value must be
	// 1, because no other version is supported.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: Pointer to the response message.
	Out *MessageAddSIDHistoryReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSAddSidHistory return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddSIDHistoryResponse structure represents the IDL_DRSAddSidHistory operation response

func (*AddSIDHistoryResponse) MarshalNDR

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

func (*AddSIDHistoryResponse) UnmarshalNDR

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

type AddressList

type AddressList struct {
	// pNextAddress:  Null, or the next element in the linked list.
	NextAddress *AddressList `idl:"name:pNextAddress" json:"next_address"`
	// pAddress:  Network name of the DC to which the referral is directed.
	Address *dtyp.UnicodeString `idl:"name:pAddress" json:"address"`
}

AddressList structure represents DSA_ADDRESS_LIST_DRS_WIRE_V1 RPC structure.

The DSA_ADDRESS_LIST_DRS_WIRE_V1 structure defines a linked list entry for a referral network name.

func (*AddressList) MarshalNDR

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

func (*AddressList) UnmarshalNDR

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

type Attribute

type Attribute struct {
	// attrTyp:  An attribute.
	AttributeType uint32 `idl:"name:attrTyp" json:"attribute_type"`
	// AttrVal:  The sequence of values for this attribute.
	AttributeValue *AttributeValueBlock `idl:"name:AttrVal" json:"attribute_value"`
}

Attribute structure represents ATTR RPC structure.

The ATTR structure defines a concrete type for the identity and values of an attribute.

func (*Attribute) MarshalNDR

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

func (*Attribute) UnmarshalNDR

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

type AttributeBlock

type AttributeBlock struct {
	// attrCount:  The number of items in the pAttr array.
	AttributeCount uint32 `idl:"name:attrCount" json:"attribute_count"`
	// pAttr:  An array of attributes and their values.
	Attribute []*Attribute `idl:"name:pAttr;size_is:(attrCount)" json:"attribute"`
}

AttributeBlock structure represents ATTRBLOCK RPC structure.

The ATTRBLOCK structure defines a concrete type for a set of attributes and their values.

func (*AttributeBlock) MarshalNDR

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

func (*AttributeBlock) UnmarshalNDR

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

type AttributeError

type AttributeError struct {
	// pObject:  The identity of the object being processed when the error occurred.
	Object *DSName `idl:"name:pObject" json:"object"`
	// count:  The count of items in the FirstProblem linked list.
	Count uint32 `idl:"name:count" json:"count"`
	// FirstProblem:  The first element in the linked list of attribute errors.
	FirstProblem *ProblemList `idl:"name:FirstProblem" json:"first_problem"`
}

AttributeError structure represents ATRERR_DRS_WIRE_V1 RPC structure.

The ATRERR_DRS_WIRE_V1 structure defines attribute errors.

func (*AttributeError) MarshalNDR

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

func (*AttributeError) UnmarshalNDR

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

type AttributeProblem

type AttributeProblem struct {
	// dsid:  The implementation-specific diagnostic code.
	DSID uint32 `idl:"name:dsid" json:"dsid"`
	// extendedErr:  0, STATUS code, or Windows error code.
	ExtendedError uint32 `idl:"name:extendedErr" json:"extended_error"`
	// extendedData:  The implementation-specific diagnostic code.
	ExtendedData uint32 `idl:"name:extendedData" json:"extended_data"`
	// problem:  0 or PROBLEM error code (section 4.1.1.1.26).
	Problem uint16 `idl:"name:problem" json:"problem"`
	// type:  The attribute that was being processed when the error occurred.
	Type uint32 `idl:"name:type" json:"type"`
	// valReturned:  If true, the offending value is returned in the Val member.
	ValueReturned bool `idl:"name:valReturned" json:"value_returned"`
	// Val:  The offending value.
	Value *AttributeValue `idl:"name:Val" json:"value"`
}

AttributeProblem structure represents INTFORMPROB_DRS_WIRE_V1 RPC structure.

The INTFORMPROB_DRS_WIRE_V1 structure defines an attribute error.

func (*AttributeProblem) MarshalNDR

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

func (*AttributeProblem) UnmarshalNDR

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

type AttributeValue

type AttributeValue struct {
	// valLen:  The size, in bytes, of the pVal array.
	ValueLength uint32 `idl:"name:valLen" json:"value_length"`
	// pVal:  The value of the attribute. The encoding of the attribute varies by syntax,
	// as described in the following sections.
	Value []byte `idl:"name:pVal;size_is:(valLen)" json:"value"`
}

AttributeValue structure represents ATTRVAL RPC structure.

The ATTRVAL structure defines a concrete type for the value of a single attribute.

func (*AttributeValue) MarshalNDR

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

func (*AttributeValue) UnmarshalNDR

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

type AttributeValueBlock

type AttributeValueBlock struct {
	// valCount:  The number of items in the pAVal array.
	ValueCount uint32 `idl:"name:valCount" json:"value_count"`
	// pAVal:  The sequence of attribute values.
	Values []*AttributeValue `idl:"name:pAVal;size_is:(valCount)" json:"values"`
}

AttributeValueBlock structure represents ATTRVALBLOCK RPC structure.

The ATTRVALBLOCK structure defines a concrete type for a sequence of attribute values.

func (*AttributeValueBlock) MarshalNDR

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

func (*AttributeValueBlock) UnmarshalNDR

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

type BindRequest

type BindRequest struct {
	// puuidClientDsa: A pointer to a GUID that identifies the caller.
	ClientDSA *dtyp.UUID `idl:"name:puuidClientDsa;pointer:unique" json:"client_dsa"`
	// pextClient: A pointer to client capabilities, for use in version negotiation.
	Client *Extensions `idl:"name:pextClient;pointer:unique" json:"client"`
}

BindRequest structure represents the IDL_DRSBind operation request

func (*BindRequest) MarshalNDR

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

func (*BindRequest) UnmarshalNDR

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

type BindResponse

type BindResponse struct {
	// ppextServer: A pointer to a pointer to server capabilities, for use in version negotiation.
	Server *Extensions `idl:"name:ppextServer" json:"server"`
	// phDrs: A pointer to an RPC context handle (as specified in [C706]), which can be
	// used in calls to other methods in this interface.
	DRS *Handle `idl:"name:phDrs;pointer:ref" json:"drs"`
	// Return: The IDL_DRSBind return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

BindResponse structure represents the IDL_DRSBind operation response

func (*BindResponse) MarshalNDR

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

func (*BindResponse) UnmarshalNDR

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

type CompAlgorithmType

type CompAlgorithmType uint16

CompAlgorithmType type represents DRS_COMP_ALG_TYPE RPC enumeration.

The DRS_COMP_ALG_TYPE enumeration is a concrete type for identifying a compression algorithm.

var (
	// DRS_COMP_ALG_NONE:  No compression.
	CompressionAlgorithmTypeNone CompAlgorithmType = 0
	// DRS_COMP_ALG_UNUSED:  Unused. MUST not be used.
	CompressionAlgorithmTypeUnused CompAlgorithmType = 1
	// DRS_COMP_ALG_MSZIP:  MSZIP algorithm.
	CompressionAlgorithmTypeMSZIP CompAlgorithmType = 2
	// DRS_COMP_ALG_WIN2K3:  Windows Server 2003 operating system compression.
	CompressionAlgorithmTypeWIN2K3 CompAlgorithmType = 3
)

func (CompAlgorithmType) String

func (o CompAlgorithmType) String() string

type CompressedBlob

type CompressedBlob struct {
	// cbUncompressedSize:  Size in bytes of the uncompressed byte stream.
	UncompressedLength uint32 `idl:"name:cbUncompressedSize" json:"uncompressed_length"`
	// cbCompressedSize:  Size in bytes of the pbCompressedData array.<29>
	CompressedLength uint32 `idl:"name:cbCompressedSize" json:"compressed_length"`
	// pbCompressedData:  Compressed byte stream.
	CompressedData []byte `idl:"name:pbCompressedData;size_is:(cbCompressedSize)" json:"compressed_data"`
}

CompressedBlob structure represents DRS_COMPRESSED_BLOB RPC structure.

The DRS_COMPRESSED_BLOB structure defines a concrete type that results from marshaling a data structure into a byte stream by using RPC and compressing that byte stream.

func (*CompressedBlob) MarshalNDR

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

func (*CompressedBlob) UnmarshalNDR

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

type ContinuationReferral

type ContinuationReferral struct {
	// pTarget:  The object to which the referral is directed.
	Target *DSName `idl:"name:pTarget" json:"target"`
	// OpState:  The operation state.
	OperationState *NameResolutionOperation `idl:"name:OpState" json:"operation_state"`
	// aliasRDN:  Unused. MUST be 0 and ignored.
	AliasRDN uint16 `idl:"name:aliasRDN" json:"alias_rdn"`
	// RDNsInternal:  Unused. MUST be 0 and ignored.
	RDNsInternal uint16 `idl:"name:RDNsInternal" json:"rdns_internal"`
	// refType:  The type of referral. This field MUST be one of the following values.
	//
	//	+-------------------------------+---------------------------------------------------------------------------------+
	//	|                               |                                                                                 |
	//	|             VALUE             |                                     MEANING                                     |
	//	|                               |                                                                                 |
	//	+-------------------------------+---------------------------------------------------------------------------------+
	//	+-------------------------------+---------------------------------------------------------------------------------+
	//	| CH_REFTYPE_SUPERIOR 0x0000    | A referral to a superior DC.                                                    |
	//	+-------------------------------+---------------------------------------------------------------------------------+
	//	| CH_REFTYPE_SUBORDINATE 0x0001 | A referral to a subordinate DC (for example, to a child domain).                |
	//	+-------------------------------+---------------------------------------------------------------------------------+
	//	| CH_REFTYPE_NSSR 0x0002        | Not in use.                                                                     |
	//	+-------------------------------+---------------------------------------------------------------------------------+
	//	| CH_REFTYPE_CROSS 0x0003       | A referral to an external crossRef object. See [MS-ADTS] section 6.1.1.2.1.1.1. |
	//	+-------------------------------+---------------------------------------------------------------------------------+
	Type uint16 `idl:"name:refType" json:"type"`
	// count:  The count of items in the pDAL linked list.
	Count uint16 `idl:"name:count" json:"count"`
	// pDAL:  A list of network names of the DCs to which the referral is directed.
	AddressList *AddressList `idl:"name:pDAL" json:"address_list"`
	// pNextContRef:  Null, or the next item in the linked list.
	NextContinuationReferral *ContinuationReferral `idl:"name:pNextContRef" json:"next_continuation_referral"`
	// bNewChoice:  True if and only if a new choice is specified.
	NewChoice bool `idl:"name:bNewChoice" json:"new_choice"`
	// choice:  The choice to use in the continuation referral. This field MUST be one of
	// the following values:
	//
	//	+------------------------------+----------------------------------------+
	//	|                              |                                        |
	//	|            VALUE             |                MEANING                 |
	//	|                              |                                        |
	//	+------------------------------+----------------------------------------+
	//	+------------------------------+----------------------------------------+
	//	| SE_CHOICE_BASE_ONLY 0x00     | A base search is to be performed.      |
	//	+------------------------------+----------------------------------------+
	//	| SE_CHOICE_IMMED_CHLDRN 0x01  | A one-level search is to be performed. |
	//	+------------------------------+----------------------------------------+
	//	| SE_CHOICE_WHOLE_SUBTREE 0x02 | A subtree search is to be performed.   |
	//	+------------------------------+----------------------------------------+
	Choice uint8 `idl:"name:choice" json:"choice"`
}

ContinuationReferral structure represents CONTREF_DRS_WIRE_V1 RPC structure.

The CONTREF_DRS_WIRE_V1 structure defines a linked list entry for a continuation referral.

func (*ContinuationReferral) MarshalNDR

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

func (*ContinuationReferral) UnmarshalNDR

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

type CrackNamesRequest

type CrackNamesRequest struct {
	// hDrs: RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: Version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: Pointer to the request message.
	In *MessageCrackNamesRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

CrackNamesRequest structure represents the IDL_DRSCrackNames operation request

func (*CrackNamesRequest) MarshalNDR

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

func (*CrackNamesRequest) UnmarshalNDR

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

type CrackNamesResponse

type CrackNamesResponse struct {
	// pdwOutVersion: Pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: Pointer to the response message.
	Out *MessageCrackNamesReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSCrackNames return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

CrackNamesResponse structure represents the IDL_DRSCrackNames operation response

func (*CrackNamesResponse) MarshalNDR

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

func (*CrackNamesResponse) UnmarshalNDR

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

type DSDomainControllerInfoV1

type DSDomainControllerInfoV1 struct {
	// NetbiosName:  NetBIOS name of the DC.
	NetBIOSName string `idl:"name:NetbiosName;string;pointer:unique" json:"netbios_name"`
	// DnsHostName:  DNS host name of the DC.
	DNSHostName string `idl:"name:DnsHostName;string;pointer:unique" json:"dns_host_name"`
	// SiteName:  RDN of the site object.
	SiteName string `idl:"name:SiteName;string;pointer:unique" json:"site_name"`
	// ComputerObjectName:  DN of the computer object that corresponds to the DC.
	ComputerObjectName string `idl:"name:ComputerObjectName;string;pointer:unique" json:"computer_object_name"`
	// ServerObjectName:  DN of the server object that corresponds to the DC.
	ServerObjectName string `idl:"name:ServerObjectName;string;pointer:unique" json:"server_object_name"`
	// fIsPdc:  True if and only if the DC is the PDC FSMO role owner.
	IsPDC bool `idl:"name:fIsPdc" json:"is_pdc"`
	// fDsEnabled:  A Boolean value that indicates whether or not the machine is a domain
	// controller. This value MUST be TRUE.
	DSEnabled bool `idl:"name:fDsEnabled" json:"ds_enabled"`
}

DSDomainControllerInfoV1 structure represents DS_DOMAIN_CONTROLLER_INFO_1W RPC structure.

The DS_DOMAIN_CONTROLLER_INFO_1W structure defines DC information that is returned as a part of the response to an InfoLevel = 1 request. The struct contains information about a single DC in the domain.

func (*DSDomainControllerInfoV1) MarshalNDR

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

func (*DSDomainControllerInfoV1) UnmarshalNDR

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

type DSDomainControllerInfoV2

type DSDomainControllerInfoV2 struct {
	// NetbiosName:  NetBIOS name of the DC.
	NetBIOSName string `idl:"name:NetbiosName;string;pointer:unique" json:"netbios_name"`
	// DnsHostName:  DNS host name of the DC.
	DNSHostName string `idl:"name:DnsHostName;string;pointer:unique" json:"dns_host_name"`
	// SiteName:  RDN of the site object.
	SiteName string `idl:"name:SiteName;string;pointer:unique" json:"site_name"`
	// SiteObjectName:  DN of the site object.
	SiteObjectName string `idl:"name:SiteObjectName;string;pointer:unique" json:"site_object_name"`
	// ComputerObjectName:  DN of the computer object that corresponds to the DC.
	ComputerObjectName string `idl:"name:ComputerObjectName;string;pointer:unique" json:"computer_object_name"`
	// ServerObjectName:  DN of the server object that corresponds to the DC.
	ServerObjectName string `idl:"name:ServerObjectName;string;pointer:unique" json:"server_object_name"`
	// NtdsDsaObjectName:  DN of the nTDSDSA object that corresponds to the DC.
	NTDSDSAObjectName string `idl:"name:NtdsDsaObjectName;string;pointer:unique" json:"ntds_dsa_object_name"`
	// fIsPdc:  True if and only if the DC is the PDC FSMO role owner.
	IsPDC bool `idl:"name:fIsPdc" json:"is_pdc"`
	// fDsEnabled:  A Boolean value that indicates whether or not the machine is a domain
	// controller. This value MUST be TRUE.
	DSEnabled bool `idl:"name:fDsEnabled" json:"ds_enabled"`
	// fIsGc:  True if and only if the DC is also a GC.
	IsGC bool `idl:"name:fIsGc" json:"is_gc"`
	// SiteObjectGuid:  The objectGUID attribute of the site object.
	SiteObjectGUID *dtyp.GUID `idl:"name:SiteObjectGuid" json:"site_object_guid"`
	// ComputerObjectGuid:  The objectGUID attribute of the computer object that corresponds
	// to the DC.
	ComputerObjectGUID *dtyp.GUID `idl:"name:ComputerObjectGuid" json:"computer_object_guid"`
	// ServerObjectGuid:  The objectGUID attribute of the server object that corresponds
	// to the DC.
	ServerObjectGUID *dtyp.GUID `idl:"name:ServerObjectGuid" json:"server_object_guid"`
	// NtdsDsaObjectGuid:  The objectGUID attribute of the nTDSDSA object that corresponds
	// to the DC.
	NTDSDSAObjectGUID *dtyp.GUID `idl:"name:NtdsDsaObjectGuid" json:"ntds_dsa_object_guid"`
}

DSDomainControllerInfoV2 structure represents DS_DOMAIN_CONTROLLER_INFO_2W RPC structure.

The DS_DOMAIN_CONTROLLER_INFO_2W structure defines DC information that is returned as a part of the response to an InfoLevel = 2 request. The struct contains information about a single DC in the domain.

func (*DSDomainControllerInfoV2) MarshalNDR

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

func (*DSDomainControllerInfoV2) UnmarshalNDR

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

type DSDomainControllerInfoV3

type DSDomainControllerInfoV3 struct {
	// NetbiosName:  NetBIOS name of the DC.
	NetBIOSName string `idl:"name:NetbiosName;string;pointer:unique" json:"netbios_name"`
	// DnsHostName:  DNS host name of the DC.
	DNSHostName string `idl:"name:DnsHostName;string;pointer:unique" json:"dns_host_name"`
	// SiteName:  RDN of the site object.
	SiteName string `idl:"name:SiteName;string;pointer:unique" json:"site_name"`
	// SiteObjectName:  DN of the site object.
	SiteObjectName string `idl:"name:SiteObjectName;string;pointer:unique" json:"site_object_name"`
	// ComputerObjectName:  DN of the computer object that corresponds to the DC.
	ComputerObjectName string `idl:"name:ComputerObjectName;string;pointer:unique" json:"computer_object_name"`
	// ServerObjectName:  DN of the server object that corresponds to the DC.
	ServerObjectName string `idl:"name:ServerObjectName;string;pointer:unique" json:"server_object_name"`
	// NtdsDsaObjectName:  DN of the nTDSDSA object that corresponds to the DC.
	NTDSDSAObjectName string `idl:"name:NtdsDsaObjectName;string;pointer:unique" json:"ntds_dsa_object_name"`
	// fIsPdc:  True if and only if the DC is the PDC FSMO role owner.
	IsPDC bool `idl:"name:fIsPdc" json:"is_pdc"`
	// fDsEnabled:  A Boolean value that indicates whether or not the machine is a domain
	// controller. This value MUST be TRUE.
	DSEnabled bool `idl:"name:fDsEnabled" json:"ds_enabled"`
	// fIsGc:  True if and only if the DC is also a GC.
	IsGC bool `idl:"name:fIsGc" json:"is_gc"`
	// fIsRodc:  True if and only if the DC is an RODC.
	IsReadOnlyDC bool `idl:"name:fIsRodc" json:"is_read_only_dc"`
	// SiteObjectGuid:  objectGUID of the site object.
	SiteObjectGUID *dtyp.GUID `idl:"name:SiteObjectGuid" json:"site_object_guid"`
	// ComputerObjectGuid:  objectGUID of the computer object that corresponds to the DC.
	ComputerObjectGUID *dtyp.GUID `idl:"name:ComputerObjectGuid" json:"computer_object_guid"`
	// ServerObjectGuid:  objectGUID of the server object that corresponds to the DC.
	ServerObjectGUID *dtyp.GUID `idl:"name:ServerObjectGuid" json:"server_object_guid"`
	// NtdsDsaObjectGuid:  objectGUID of the nTDSDSA object that corresponds to the DC.
	NTDSDSAObjectGUID *dtyp.GUID `idl:"name:NtdsDsaObjectGuid" json:"ntds_dsa_object_guid"`
}

DSDomainControllerInfoV3 structure represents DS_DOMAIN_CONTROLLER_INFO_3W RPC structure.

The DS_DOMAIN_CONTROLLER_INFO_3W structure defines DC information that is returned as a part of the response to an InfoLevel = 3 request. The struct contains information about a single DC in the domain.

func (*DSDomainControllerInfoV3) MarshalNDR

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

func (*DSDomainControllerInfoV3) UnmarshalNDR

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

type DSDomainControllerInfoVQ

type DSDomainControllerInfoVQ struct {
	// IPAddress:  The IPv4 address of the client that established the LDAP connection to
	// the server. If the client is connected with IPv6, this field MUST be zero.
	IPAddress uint32 `idl:"name:IPAddress" json:"ip_address"`
	// NotificationCount:  Number of LDAP notifications enabled on the server.
	NotificationCount uint32 `idl:"name:NotificationCount" json:"notification_count"`
	// secTimeConnected:  Total time in number of seconds that the connection is established.
	SecurityTimeConnected uint32 `idl:"name:secTimeConnected" json:"security_time_connected"`
	// Flags:  Zero or more of the bit flags from LDAP_CONN_PROPERTIES indicating the properties
	// of this connection.
	Flags uint32 `idl:"name:Flags" json:"flags"`
	// TotalRequests:  Total number of LDAP requests made on this LDAP connection.
	TotalRequests uint32 `idl:"name:TotalRequests" json:"total_requests"`

	// UserName:  Name of the security principal that established the LDAP connection.
	UserName string `idl:"name:UserName;string;pointer:unique" json:"user_name"`
	// contains filtered or unexported fields
}

DSDomainControllerInfoVQ structure represents DS_DOMAIN_CONTROLLER_INFO_FFFFFFFFW RPC structure.

The DS_DOMAIN_CONTROLLER_INFO_FFFFFFFFW structure defines DC information that is returned as a part of the response to an InfoLevel = 0xFFFFFFFF request. The struct contains information about a single LDAP connection to the current server.

func (*DSDomainControllerInfoVQ) MarshalNDR

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

func (*DSDomainControllerInfoVQ) UnmarshalNDR

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

type DSName

type DSName struct {
	// structLen:  The length, in bytes, of the entire data structure.
	Length uint32 `idl:"name:structLen" json:"length"`
	// SidLen:  The number of bytes in the Sid field used to represent the object's objectSid
	// attribute value. Zero indicates that the DSNAME does not identify the objectSid value
	// of the directory object.
	SIDLength uint32 `idl:"name:SidLen" json:"sid_length"`
	// Guid:  The value of the object's objectGUID attribute specified as a GUID structure,
	// which is defined in [MS-DTYP] section 2.3.4. If the values for all fields in the
	// GUID structure are zero, this indicates that the DSNAME does not identify the objectGUID
	// value of the directory object.
	GUID *dtyp.GUID `idl:"name:Guid" json:"guid"`
	// Sid:  The value of the object's objectSid attribute, its security identifier, specified
	// as a SID structure, which is defined in [MS-DTYP] section 2.4.2. The size of this
	// field is exactly 28 bytes, regardless of the value of SidLen, which specifies how
	// many bytes in this field are used. Note that this is smaller than the theoretical
	// size limit of a SID, which is 68 bytes. While Windows publishes a general SID format,
	// Windows never uses that format in its full generality. 28 bytes is sufficient for
	// a Windows SID.
	SID *NT4SID `idl:"name:Sid" json:"sid"`
	// NameLen:  The number of characters in the StringName field, not including the terminating
	// null character, used to represent the object's distinguishedName attribute value.
	// Zero indicates that the DSNAME does not identify the distinguishedName value of the
	// directory object.
	NameLength uint32 `idl:"name:NameLen" json:"name_length"`
	// StringName:  A null-terminated Unicode value of the object's distinguishedName attribute,
	// as specified in [MS-ADTS] section 3.1.1.1.4. This field always contains at least
	// one character: the terminating null character. Each Unicode value is encoded as 2
	// bytes. The byte ordering is little-endian.<48>
	//
	// The following table shows an alternative representation of this structure.
	//
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| structLen                                                                                                                     |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| SidLen                                                                                                                        |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| Guid.Data1                                                                                                                    |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| Guid.Data2                                                    | Guid.Data3                                                    |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| Guid.Data4...                                                                                                                 |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| ...Guid.Data4                                                                                                                 |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| Sid...                                                                                                                        |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| ...Sid...                                                                                                                     |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| ...Sid...                                                                                                                     |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| ...Sid...                                                                                                                     |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| ...Sid...                                                                                                                     |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| ...Sid...                                                                                                                     |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| ...Sid                                                                                                                        |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| NameLen                                                                                                                       |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| StringName (Variable Length) ...                                                                                              |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//
	// Note  All fields have little-endian byte ordering.
	StringName string `idl:"name:StringName;size_is:((NameLen+1))" json:"string_name"`
}

DSName structure represents DSNAME RPC structure.

DSNAME is a concrete type for representing a DSName, identifying a directory object using the values of one or more of its LDAP attributes: objectGUID, objectSid, or distinguishedName.

func (*DSName) MarshalNDR

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

func (*DSName) NDRSizeInfo

func (o *DSName) NDRSizeInfo() []uint64

func (*DSName) UnmarshalNDR

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

type DSNameError added in v1.0.2

type DSNameError uint32

DSNameError type represents DS_NAME_ERROR RPC enumeration.

var (
	DSNameErrorNoError                DSNameError = 0
	DSNameErrorResolving              DSNameError = 1
	DSNameErrorNotFound               DSNameError = 2
	DSNameErrorNotUnique              DSNameError = 3
	DSNameErrorNoMapping              DSNameError = 4
	DSNameErrorDomainOnly             DSNameError = 5
	DSNameErrorNoSyntacticalMapping   DSNameError = 6
	DSNameErrorTrustReferral          DSNameError = 7
	DSNameErrorIsSIDHistoryUnknown    DSNameError = 4294967282
	DSNameErrorIsSIDHistoryAlias      DSNameError = 4294967283
	DSNameErrorIsSIDHistoryGroup      DSNameError = 4294967284
	DSNameErrorIsSIDHistoryUser       DSNameError = 4294967285
	DSNameErrorIsSIDUnknown           DSNameError = 4294967286
	DSNameErrorIsSIDAlias             DSNameError = 4294967287
	DSNameErrorIsSIDGroup             DSNameError = 4294967288
	DSNameErrorIsSIDUser              DSNameError = 4294967289
	DSNameErrorSchemaGUIDControlRight DSNameError = 4294967290
	DSNameErrorSchemaGUIDClass        DSNameError = 4294967291
	DSNameErrorSchemaGUIDAttributeSet DSNameError = 4294967292
	DSNameErrorSchemaGUIDAttribute    DSNameError = 4294967293
	DSNameErrorSchemaGUIDNotFound     DSNameError = 4294967294
	DSNameErrorIsFPO                  DSNameError = 4294967295
)

func (DSNameError) String added in v1.0.2

func (o DSNameError) String() string

type DSNameFormat added in v1.0.3

type DSNameFormat uint32

DSNameFormat type represents DS_NAME_FORMAT RPC enumeration.

The DS_NAME_FORMAT enumeration describes the format of a name sent to or received from the IDL_DRSCrackNames method.

var (
	// DS_UNKNOWN_NAME:  The server looks up the name by using the algorithm specified
	// in the LookupUnknownName procedure.
	DSNameFormatUnknownName DSNameFormat = 0
	// DS_FQDN_1779_NAME:  A distinguished name.
	DSNameFormatFQDN1779Name DSNameFormat = 1
	// DS_NT4_ACCOUNT_NAME:  Windows NT 4.0 operating system (and prior) name format. The
	// account name is in the format domain\user and the domain-only name is in the format
	// domain\.
	DSNameFormatNT4AccountName DSNameFormat = 2
	// DS_DISPLAY_NAME:  A user-friendly display name.
	DSNameFormatDisplayName DSNameFormat = 3
	// DS_UNIQUE_ID_NAME:  Curly braced string representation of an objectGUID. The format
	// of the string representation is specified in [MS-DTYP] section 2.3.4.3.
	DSNameFormatUniqueIDName DSNameFormat = 6
	// DS_CANONICAL_NAME:  A canonical name.
	DSNameFormatCanonicalName DSNameFormat = 7
	// DS_USER_PRINCIPAL_NAME:  User principal name.
	DSNameFormatUserPrincipalName DSNameFormat = 8
	// DS_CANONICAL_NAME_EX:  Same as DS_CANONICAL_NAME except that the rightmost forward
	// slash (/) is replaced with a newline character (\n).
	DSNameFormatCanonicalNameEx DSNameFormat = 9
	// DS_SERVICE_PRINCIPAL_NAME:  Service principal name (SPN).
	DSNameFormatServicePrincipalName DSNameFormat = 10
	// DS_SID_OR_SID_HISTORY_NAME:  String representation of a SID (as specified in [MS-DTYP]
	// section 2.4.2).
	DSNameFormatSIDOrSIDHistoryName DSNameFormat = 11
	// DS_DNS_DOMAIN_NAME:  Not supported.
	DSNameFormatDNSDomainName                     DSNameFormat = 12
	DSNameFormatListSites                         DSNameFormat = 4294967295
	DSNameFormatListServersInSite                 DSNameFormat = 4294967294
	DSNameFormatListDomainsInSite                 DSNameFormat = 4294967293
	DSNameFormatListServersForDomainInSite        DSNameFormat = 4294967292
	DSNameFormatListInfoForServer                 DSNameFormat = 4294967291
	DSNameFormatListRoles                         DSNameFormat = 4294967290
	DSNameFormatNT4AccountNameSANSDomain          DSNameFormat = 4294967289
	DSNameFormatMapSchemaGUID                     DSNameFormat = 4294967288
	DSNameFormatListDomains                       DSNameFormat = 4294967287
	DSNameFormatListNCS                           DSNameFormat = 4294967286
	DSNameFormatLtSecurityIdentitiesName          DSNameFormat = 4294967285
	DSNameFormatStringSIDName                     DSNameFormat = 4294967284
	DSNameFormatListServersWithDCSInSite          DSNameFormat = 4294967283
	DSNameFormatListGlobalCatalogServers          DSNameFormat = 4294967281
	DSNameFormatNT4AccountNameSANSDomainEx        DSNameFormat = 4294967280
	DSNameFormatUserPrincipalNameAndAltSecurityID DSNameFormat = 4294967279
	DSNameFormatUserPrincipalNameForLogon         DSNameFormat = 4294967282
)

func (DSNameFormat) String added in v1.0.3

func (o DSNameFormat) String() string

type DSNameResult

type DSNameResult struct {
	// cItems:  The count of items in the rItems array.
	ItemsCount uint32 `idl:"name:cItems" json:"items_count"`
	// rItems:  Translated names that correspond one-to-one with the elements in the rpNames
	// field of the request.
	Items []*DSNameResultItem `idl:"name:rItems;size_is:(cItems)" json:"items"`
}

DSNameResult structure represents DS_NAME_RESULTW RPC structure.

The DS_NAME_RESULTW structure defines the translated names returned by the IDL_DRSCrackNames method.

func (*DSNameResult) MarshalNDR

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

func (*DSNameResult) UnmarshalNDR

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

type DSNameResultItem

type DSNameResultItem struct {
	// status:  Status of the crack name operation for the corresponding element of the
	// rpNames field in the request. The status is one of the values from the enumeration
	// DS_NAME_ERROR.
	Status uint32 `idl:"name:status" json:"status"`
	// pDomain:  DNS domain name of the domain in which the named object resides.
	Domain string `idl:"name:pDomain;string;pointer:unique" json:"domain"`
	// pName:  Object name in the requested format.
	Name string `idl:"name:pName;string;pointer:unique" json:"name"`
}

DSNameResultItem structure represents DS_NAME_RESULT_ITEMW RPC structure.

The DS_NAME_RESULT_ITEMW structure defines the translated name returned by the IDL_DRSCrackNames method.

func (*DSNameResultItem) MarshalNDR

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

func (*DSNameResultItem) UnmarshalNDR

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

type DSReplicationAttributeMetadata

type DSReplicationAttributeMetadata struct {
	// pszAttributeName:  The lDAPDisplayName of the attribute to which the stamp corresponds.
	AttributeName string `idl:"name:pszAttributeName;string" json:"attribute_name"`
	// dwVersion:  The stamp version.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// ftimeLastOriginatingChange:  The date and time at which the last originating update
	// was made.
	LastOriginatingChange *dtyp.Filetime `idl:"name:ftimeLastOriginatingChange" json:"last_originating_change"`
	// uuidLastOriginatingDsaInvocationID:  The invocation ID of the DC that performed the
	// last originating update.
	LastOriginatingDSAInvocationID *dtyp.UUID `idl:"name:uuidLastOriginatingDsaInvocationID" json:"last_originating_dsa_invocation_id"`
	// usnOriginatingChange:  The USN assigned to the last originating update by the DC
	// that performed it.
	OriginatingChange int64 `idl:"name:usnOriginatingChange" json:"originating_change"`
	// usnLocalChange:  An implementation-specific value.
	LocalChange int64 `idl:"name:usnLocalChange" json:"local_change"`
}

DSReplicationAttributeMetadata structure represents DS_REPL_ATTR_META_DATA RPC structure.

The DS_REPL_ATTR_META_DATA structure defines an attribute stamp for a given object. This structure is a concrete representation of an AttributeStamp.

func (*DSReplicationAttributeMetadata) MarshalNDR

func (*DSReplicationAttributeMetadata) UnmarshalNDR

type DSReplicationAttributeMetadata2

type DSReplicationAttributeMetadata2 struct {
	// pszAttributeName:  The lDAPDisplayName of the attribute to which the stamp corresponds.
	AttributeName string `idl:"name:pszAttributeName;string" json:"attribute_name"`
	// dwVersion:  The stamp version.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// ftimeLastOriginatingChange:  The date and time at which the last originating update
	// was made.
	LastOriginatingChange *dtyp.Filetime `idl:"name:ftimeLastOriginatingChange" json:"last_originating_change"`
	// uuidLastOriginatingDsaInvocationID:  The invocation ID of the DC that performed the
	// last originating update.
	LastOriginatingDSAInvocationID *dtyp.UUID `idl:"name:uuidLastOriginatingDsaInvocationID" json:"last_originating_dsa_invocation_id"`
	// usnOriginatingChange:  The USN assigned to the last originating update by the DC
	// that performed it.
	OriginatingChange int64 `idl:"name:usnOriginatingChange" json:"originating_change"`
	// usnLocalChange:  An implementation-specific value.
	LocalChange int64 `idl:"name:usnLocalChange" json:"local_change"`
	// pszLastOriginatingDsaDN:  The DN of the nTDSDSA object with an invocationId of uuidLastOriginatingDsaInvocationID.
	LastOriginatingDSADN string `idl:"name:pszLastOriginatingDsaDN;string" json:"last_originating_dsa_dn"`
}

DSReplicationAttributeMetadata2 structure represents DS_REPL_ATTR_META_DATA_2 RPC structure.

The DS_REPL_ATTR_META_DATA_2 structure defines an attribute stamp for a given object. This structure is a concrete representation of an AttributeStamp; it is a superset of DS_REPL_ATTR_META_DATA.

func (*DSReplicationAttributeMetadata2) MarshalNDR

func (*DSReplicationAttributeMetadata2) UnmarshalNDR

type DSReplicationAttributeValueMetadata

type DSReplicationAttributeValueMetadata struct {
	// cNumEntries:  The number of items in rgMetaData array.
	EntriesCount uint32 `idl:"name:cNumEntries" json:"entries_count"`
	// dwEnumerationContext:  The value a client uses to populate the dwEnumerationContext
	// field of the request on a future call to IDL_DRSGetReplInfo to retrieve additional
	// results.  For an informative description of the sequencing issues associated with
	// this field, see section 1.3.2.
	EnumerationContext uint32 `idl:"name:dwEnumerationContext" json:"enumeration_context"`
	// rgMetaData:  The sequence of link value stamps.
	Metadata []*DSReplicationValueMetadata `idl:"name:rgMetaData;size_is:(cNumEntries)" json:"metadata"`
}

DSReplicationAttributeValueMetadata structure represents DS_REPL_ATTR_VALUE_META_DATA RPC structure.

The DS_REPL_ATTR_VALUE_META_DATA structure defines a sequence of link value stamps. This structure is a concrete representation of a sequence of LinkValueStamp values.

func (*DSReplicationAttributeValueMetadata) MarshalNDR

func (*DSReplicationAttributeValueMetadata) NDRSizeInfo

func (o *DSReplicationAttributeValueMetadata) NDRSizeInfo() []uint64

func (*DSReplicationAttributeValueMetadata) UnmarshalNDR

type DSReplicationAttributeValueMetadata2

type DSReplicationAttributeValueMetadata2 struct {
	// cNumEntries:  The number of items in the rgMetaData array.
	EntriesCount uint32 `idl:"name:cNumEntries" json:"entries_count"`
	// dwEnumerationContext:  The value a client uses to populate the dwEnumerationContext
	// field of the request on a future call to IDL_DRSGetReplInfo to retrieve additional
	// results. For an informative description of the sequencing issues associated with
	// this field, see section 1.3.2.
	EnumerationContext uint32 `idl:"name:dwEnumerationContext" json:"enumeration_context"`
	// rgMetaData:  The sequence of link value stamps.
	Metadata []*DSReplicationValueMetadata2 `idl:"name:rgMetaData;size_is:(cNumEntries)" json:"metadata"`
}

DSReplicationAttributeValueMetadata2 structure represents DS_REPL_ATTR_VALUE_META_DATA_2 RPC structure.

The DS_REPL_ATTR_VALUE_META_DATA_2 structure defines a sequence of link value stamps. This structure is a concrete representation of a sequence of LinkValueStamp values; it is a superset of DS_REPL_ATTR_VALUE_META_DATA.

func (*DSReplicationAttributeValueMetadata2) MarshalNDR

func (*DSReplicationAttributeValueMetadata2) NDRSizeInfo

func (o *DSReplicationAttributeValueMetadata2) NDRSizeInfo() []uint64

func (*DSReplicationAttributeValueMetadata2) UnmarshalNDR

type DSReplicationClientContext

type DSReplicationClientContext struct {
	// hCtx:  The unique ID of the client context.
	Context uint64 `idl:"name:hCtx" json:"context"`
	// lReferenceCount:  The number of references to the context.
	ReferenceCount int32 `idl:"name:lReferenceCount" json:"reference_count"`
	// fIsBound:  True if and only if the context has not yet been closed by the IDL_DRSUnbind
	// method.
	IsBound bool `idl:"name:fIsBound" json:"is_bound"`
	// uuidClient:  Zeros, or the value pointed to by the puuidClientDsa parameter to IDL_DRSBind.
	Client *dtyp.UUID `idl:"name:uuidClient" json:"client"`
	// timeLastUsed:  The date and time at which this context was last used in an RPC method
	// call.
	TimeLastUsed int64 `idl:"name:timeLastUsed" json:"time_last_used"`
	// IPAddr:  The IPv4 address of the client. If the client is connected with IPv6, this
	// field MUST be 0.
	IPAddr uint32 `idl:"name:IPAddr" json:"ip_addr"`
	// pid:  The process ID specified by the client in the pextClient parameter to IDL_DRSBind.
	PID int32 `idl:"name:pid" json:"pid"`
}

DSReplicationClientContext structure represents DS_REPL_CLIENT_CONTEXT RPC structure.

The DS_REPL_CLIENT_CONTEXT structure defines an active RPC client connection. This structure is a concrete representation of a tuple in an RPCClientContexts sequence.

func (*DSReplicationClientContext) MarshalNDR

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

func (*DSReplicationClientContext) UnmarshalNDR

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

type DSReplicationClientContexts

type DSReplicationClientContexts struct {
	// cNumContexts:  The number of items in the rgContext array.
	ContextsCount uint32 `idl:"name:cNumContexts" json:"contexts_count"`

	// rgContext:  A set of active RPC client connections.
	Context []*DSReplicationClientContext `idl:"name:rgContext;size_is:(cNumContexts)" json:"context"`
	// contains filtered or unexported fields
}

DSReplicationClientContexts structure represents DS_REPL_CLIENT_CONTEXTS RPC structure.

The DS_REPL_CLIENT_CONTEXTS structure defines a set of active RPC client connections. This structure is a concrete representation of RPCClientContexts.

func (*DSReplicationClientContexts) MarshalNDR

func (*DSReplicationClientContexts) NDRSizeInfo

func (o *DSReplicationClientContexts) NDRSizeInfo() []uint64

func (*DSReplicationClientContexts) UnmarshalNDR

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

type DSReplicationCursor

type DSReplicationCursor struct {
	// uuidSourceDsaInvocationID:  The invocation ID of a DC.
	SourceDSAInvocationID *dtyp.UUID `idl:"name:uuidSourceDsaInvocationID" json:"source_dsa_invocation_id"`
	// usnAttributeFilter:  The update sequence number (USN) at which an update was applied
	// on the DC.
	AttributeFilter int64 `idl:"name:usnAttributeFilter" json:"attribute_filter"`
}

DSReplicationCursor structure represents DS_REPL_CURSOR RPC structure.

The DS_REPL_CURSOR structure defines a replication cursor for a given NC replica. This structure is a concrete representation of a ReplUpToDateVector value.

func (*DSReplicationCursor) MarshalNDR

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

func (*DSReplicationCursor) UnmarshalNDR

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

type DSReplicationCursor2

type DSReplicationCursor2 struct {
	// uuidSourceDsaInvocationID:  The invocation ID of a DC.
	SourceDSAInvocationID *dtyp.UUID `idl:"name:uuidSourceDsaInvocationID" json:"source_dsa_invocation_id"`
	// usnAttributeFilter:  The USN at which an update was applied on the DC.
	AttributeFilter int64 `idl:"name:usnAttributeFilter" json:"attribute_filter"`
	// ftimeLastSyncSuccess:  The time at which the last successful replication occurred
	// from the DC identified by uuidDsa. Used for replication latency reporting only.
	LastSyncSuccess *dtyp.Filetime `idl:"name:ftimeLastSyncSuccess" json:"last_sync_success"`
}

DSReplicationCursor2 structure represents DS_REPL_CURSOR_2 RPC structure.

The DS_REPL_CURSOR_2 structure defines a replication cursor for a given NC replica. This structure is a concrete representation of a ReplUpToDateVector value; it is a superset of DS_REPL_CURSOR.

func (*DSReplicationCursor2) MarshalNDR

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

func (*DSReplicationCursor2) UnmarshalNDR

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

type DSReplicationCursorV3

type DSReplicationCursorV3 struct {
	// uuidSourceDsaInvocationID:  The invocation ID of a DC.
	SourceDSAInvocationID *dtyp.UUID `idl:"name:uuidSourceDsaInvocationID" json:"source_dsa_invocation_id"`
	// usnAttributeFilter:  The USN at which an update was applied on the DC.
	AttributeFilter int64 `idl:"name:usnAttributeFilter" json:"attribute_filter"`
	// ftimeLastSyncSuccess:  The time at which the last successful replication occurred
	// from the DC identified by uuidDsa. Used for replication latency reporting only.
	LastSyncSuccess *dtyp.Filetime `idl:"name:ftimeLastSyncSuccess" json:"last_sync_success"`
	// pszSourceDsaDN:  The DN of the nTDSDSA object with an invocationId of uuidSourceDsaInvocationID.
	SourceDSADN string `idl:"name:pszSourceDsaDN;string" json:"source_dsa_dn"`
}

DSReplicationCursorV3 structure represents DS_REPL_CURSOR_3W RPC structure.

The DS_REPL_CURSOR_3W structure defines a replication cursor for a given NC replica. This structure is a concrete representation of a ReplUpToDateVector value; it is a superset of DS_REPL_CURSOR_2.

func (*DSReplicationCursorV3) MarshalNDR

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

func (*DSReplicationCursorV3) UnmarshalNDR

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

type DSReplicationCursors

type DSReplicationCursors struct {
	// cNumCursors:  The count of items in the rgCursor array.
	CursorsCount uint32 `idl:"name:cNumCursors" json:"cursors_count"`

	// rgCursor:  A set of replication cursors.
	Cursor []*DSReplicationCursor `idl:"name:rgCursor;size_is:(cNumCursors)" json:"cursor"`
	// contains filtered or unexported fields
}

DSReplicationCursors structure represents DS_REPL_CURSORS RPC structure.

The DS_REPL_CURSORS structure defines a set of replication cursors for a given NC replica. This structure is a concrete representation of a sequence of ReplUpToDateVector values.

func (*DSReplicationCursors) MarshalNDR

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

func (*DSReplicationCursors) NDRSizeInfo

func (o *DSReplicationCursors) NDRSizeInfo() []uint64

func (*DSReplicationCursors) UnmarshalNDR

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

type DSReplicationCursors2

type DSReplicationCursors2 struct {
	// cNumCursors:  The count of items in the rgCursor array.
	CursorsCount uint32 `idl:"name:cNumCursors" json:"cursors_count"`
	// dwEnumerationContext:  The value a client uses to populate the dwEnumerationContext
	// field of the request on a future call to IDL_DRSGetReplInfo to retrieve additional
	// results.  For an informative description of the sequencing issues associated with
	// this field, see section 1.3.2.
	EnumerationContext uint32 `idl:"name:dwEnumerationContext" json:"enumeration_context"`
	// rgCursor:  A set of replication cursors.
	Cursor []*DSReplicationCursor2 `idl:"name:rgCursor;size_is:(cNumCursors)" json:"cursor"`
}

DSReplicationCursors2 structure represents DS_REPL_CURSORS_2 RPC structure.

The DS_REPL_CURSORS_2 structure defines a set of replication cursors for a given NC replica. This structure is a concrete representation of a sequence of ReplUpToDateVector values; it is a superset of DS_REPL_CURSORS.

func (*DSReplicationCursors2) MarshalNDR

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

func (*DSReplicationCursors2) NDRSizeInfo

func (o *DSReplicationCursors2) NDRSizeInfo() []uint64

func (*DSReplicationCursors2) UnmarshalNDR

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

type DSReplicationCursorsV3

type DSReplicationCursorsV3 struct {
	// cNumCursors:  The count of items in the rgCursor array.
	CursorsCount uint32 `idl:"name:cNumCursors" json:"cursors_count"`
	// dwEnumerationContext:  The value a client uses to populate the dwEnumerationContext
	// field of the request on a future call to IDL_DRSGetReplInfo to retrieve additional
	// results.  For an informative description of the sequencing issues associated with
	// this field, see section 1.3.2.
	EnumerationContext uint32 `idl:"name:dwEnumerationContext" json:"enumeration_context"`
	// rgCursor:  A set of replication cursors.
	Cursor []*DSReplicationCursorV3 `idl:"name:rgCursor;size_is:(cNumCursors)" json:"cursor"`
}

DSReplicationCursorsV3 structure represents DS_REPL_CURSORS_3W RPC structure.

The DS_REPL_CURSORS_3W structure defines a replication cursor for a given NC replica. This structure is a concrete representation of a sequence of ReplUpToDateVector values; it is a superset of DS_REPL_CURSORS_2.

func (*DSReplicationCursorsV3) MarshalNDR

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

func (*DSReplicationCursorsV3) NDRSizeInfo

func (o *DSReplicationCursorsV3) NDRSizeInfo() []uint64

func (*DSReplicationCursorsV3) UnmarshalNDR

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

type DSReplicationKCCDSAFailure

type DSReplicationKCCDSAFailure struct {
	// pszDsaDN:  The DN of the nTDSDSA object corresponding to the DC.
	DSADN string `idl:"name:pszDsaDN;string" json:"dsa_dn"`
	// uuidDsaObjGuid:  The DSA GUID of the DC.
	DSAObjectGUID *dtyp.UUID `idl:"name:uuidDsaObjGuid" json:"dsa_object_guid"`
	// ftimeFirstFailure:  The date and time at which the DC entered an error state.
	FirstFailure *dtyp.Filetime `idl:"name:ftimeFirstFailure" json:"first_failure"`
	// cNumFailures:  The number of errors that have occurred.
	FailuresCount uint32 `idl:"name:cNumFailures" json:"failures_count"`
	// dwLastResult:  The Windows error code, as specified in [MS-ERREF] section 2.2, for
	// the last error.
	LastResult uint32 `idl:"name:dwLastResult" json:"last_result"`
}

DSReplicationKCCDSAFailure structure represents DS_REPL_KCC_DSA_FAILUREW RPC structure.

The DS_REPL_KCC_DSA_FAILUREW structure defines a DC that is in a replication error state. This structure is a concrete representation of a tuple in a KCCFailedConnections or KCCFailedLinks sequence.

func (*DSReplicationKCCDSAFailure) MarshalNDR

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

func (*DSReplicationKCCDSAFailure) UnmarshalNDR

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

type DSReplicationKCCDSAFailures

type DSReplicationKCCDSAFailures struct {
	// cNumEntries:  The count of items in the rgDsaFailure array.
	EntriesCount uint32 `idl:"name:cNumEntries" json:"entries_count"`

	// rgDsaFailure:  An array of DS_REPL_KCC_DSA_FAILUREW structures.
	DSAFailure []*DSReplicationKCCDSAFailure `idl:"name:rgDsaFailure;size_is:(cNumEntries)" json:"dsa_failure"`
	// contains filtered or unexported fields
}

DSReplicationKCCDSAFailures structure represents DS_REPL_KCC_DSA_FAILURESW RPC structure.

The DS_REPL_KCC_DSA_FAILURESW structure defines a set of DCs that are in an error state with respect to replication. This structure is a concrete representation of KCCFailedConnections and KCCFailedLinks.

func (*DSReplicationKCCDSAFailures) MarshalNDR

func (*DSReplicationKCCDSAFailures) NDRSizeInfo

func (o *DSReplicationKCCDSAFailures) NDRSizeInfo() []uint64

func (*DSReplicationKCCDSAFailures) UnmarshalNDR

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

type DSReplicationNeighbor

type DSReplicationNeighbor struct {
	// pszNamingContext:  The NC root of the NC replica.
	NamingContext string `idl:"name:pszNamingContext;string" json:"naming_context"`
	// pszSourceDsaDN:  The DN of the server DC nTDSDSA object.
	SourceDSADN string `idl:"name:pszSourceDsaDN;string" json:"source_dsa_dn"`
	// pszSourceDsaAddress:  The NetworkAddress of the server DC.
	SourceDSAAddress string `idl:"name:pszSourceDsaAddress;string" json:"source_dsa_address"`
	// pszAsyncIntersiteTransportDN:  The DN of the interSiteTransport object corresponding
	// to the transport used to communicate with the server DC.
	AsyncIntersiteTransportDN string `idl:"name:pszAsyncIntersiteTransportDN;string" json:"async_intersite_transport_dn"`
	// dwReplicaFlags:  The DRS_OPTIONS flags.
	ReplicaFlags uint32 `idl:"name:dwReplicaFlags" json:"replica_flags"`

	// uuidNamingContextObjGuid:  The objectGUID of the NC root.
	NamingContextObjectGUID *dtyp.UUID `idl:"name:uuidNamingContextObjGuid" json:"naming_context_object_guid"`
	// uuidSourceDsaObjGuid:  The DSA GUID of the server DC.
	SourceDSAObjectGUID *dtyp.UUID `idl:"name:uuidSourceDsaObjGuid" json:"source_dsa_object_guid"`
	// uuidSourceDsaInvocationID:  The invocation ID associated with the server DC.
	SourceDSAInvocationID *dtyp.UUID `idl:"name:uuidSourceDsaInvocationID" json:"source_dsa_invocation_id"`
	// uuidAsyncIntersiteTransportObjGuid:  The objectGUID of the interSiteTransport object
	// corresponding to the transport used to communicate with the server DC.
	AsyncIntersiteTransportObjectGUID *dtyp.UUID `idl:"name:uuidAsyncIntersiteTransportObjGuid" json:"async_intersite_transport_object_guid"`
	// usnLastObjChangeSynced:  An implementation-specific value.
	LastObjectChangeSynced int64 `idl:"name:usnLastObjChangeSynced" json:"last_object_change_synced"`
	// usnAttributeFilter:  An implementation-specific value.
	AttributeFilter int64 `idl:"name:usnAttributeFilter" json:"attribute_filter"`
	// ftimeLastSyncSuccess:  The time of the last successful replication from the server
	// DC.
	LastSyncSuccess *dtyp.Filetime `idl:"name:ftimeLastSyncSuccess" json:"last_sync_success"`
	// ftimeLastSyncAttempt:  The time of the last attempt to replicate from the server
	// DC.
	LastSyncAttempt *dtyp.Filetime `idl:"name:ftimeLastSyncAttempt" json:"last_sync_attempt"`
	// dwLastSyncResult:  0, or the Windows error code, as specified in [MS-ERREF] section
	// 2.2, resulting from the last sync attempt.
	LastSyncResult uint32 `idl:"name:dwLastSyncResult" json:"last_sync_result"`
	// cNumConsecutiveSyncFailures:  The number of consecutive failures to replicate from
	// the server DC.
	ConsecutiveSyncFailuresCount uint32 `idl:"name:cNumConsecutiveSyncFailures" json:"consecutive_sync_failures_count"`
	// contains filtered or unexported fields
}

DSReplicationNeighbor structure represents DS_REPL_NEIGHBORW RPC structure.

The DS_REPL_NEIGHBORW structure defines a replication neighbor. This structure is a concrete representation of a RepsFrom or RepsTo value.

func (*DSReplicationNeighbor) MarshalNDR

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

func (*DSReplicationNeighbor) UnmarshalNDR

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

type DSReplicationNeighbors

type DSReplicationNeighbors struct {
	// cNumNeighbors:  The count of items in the rgNeighbor array.
	NeighborsCount uint32 `idl:"name:cNumNeighbors" json:"neighbors_count"`

	// rgNeighbor:  A set of replication neighbors.
	Neighbor []*DSReplicationNeighbor `idl:"name:rgNeighbor;size_is:(cNumNeighbors)" json:"neighbor"`
	// contains filtered or unexported fields
}

DSReplicationNeighbors structure represents DS_REPL_NEIGHBORSW RPC structure.

The DS_REPL_NEIGHBORSW structure defines a set of replication neighbors. This structure is a concrete representation of a sequence of RepsFrom or RepsTo values.

func (*DSReplicationNeighbors) MarshalNDR

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

func (*DSReplicationNeighbors) NDRSizeInfo

func (o *DSReplicationNeighbors) NDRSizeInfo() []uint64

func (*DSReplicationNeighbors) UnmarshalNDR

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

type DSReplicationObjectMetadata

type DSReplicationObjectMetadata struct {
	// cNumEntries:  The count of items in the rgMetaData array.
	EntriesCount uint32 `idl:"name:cNumEntries" json:"entries_count"`

	// rgMetaData:  A set of attribute stamps.
	Metadata []*DSReplicationAttributeMetadata `idl:"name:rgMetaData;size_is:(cNumEntries)" json:"metadata"`
	// contains filtered or unexported fields
}

DSReplicationObjectMetadata structure represents DS_REPL_OBJ_META_DATA RPC structure.

The DS_REPL_OBJ_META_DATA structure defines a set of attribute stamps for a given object. This structure is a concrete representation of the sequence of AttributeStamp values for all attributes of a given object.

func (*DSReplicationObjectMetadata) MarshalNDR

func (*DSReplicationObjectMetadata) NDRSizeInfo

func (o *DSReplicationObjectMetadata) NDRSizeInfo() []uint64

func (*DSReplicationObjectMetadata) UnmarshalNDR

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

type DSReplicationObjectMetadata2

type DSReplicationObjectMetadata2 struct {
	// cNumEntries:  The count of items in the rgMetaData array.
	EntriesCount uint32 `idl:"name:cNumEntries" json:"entries_count"`

	// rgMetaData:  A set of attribute stamps.
	Metadata []*DSReplicationAttributeMetadata2 `idl:"name:rgMetaData;size_is:(cNumEntries)" json:"metadata"`
	// contains filtered or unexported fields
}

DSReplicationObjectMetadata2 structure represents DS_REPL_OBJ_META_DATA_2 RPC structure.

The DS_REPL_OBJ_META_DATA_2 structure defines a set of attribute stamps for a given object. This structure is a concrete representation of the sequence of AttributeStamp values for all attributes of a given object; it is a superset of DS_REPL_OBJ_META_DATA.

func (*DSReplicationObjectMetadata2) MarshalNDR

func (*DSReplicationObjectMetadata2) NDRSizeInfo

func (o *DSReplicationObjectMetadata2) NDRSizeInfo() []uint64

func (*DSReplicationObjectMetadata2) UnmarshalNDR

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

type DSReplicationOperation

type DSReplicationOperation struct {
	// ftimeEnqueued:  The date and time at which the operation was requested.
	Enqueued *dtyp.Filetime `idl:"name:ftimeEnqueued" json:"enqueued"`
	// ulSerialNumber:  The unique ID associated with the operation.
	SerialNumber uint32 `idl:"name:ulSerialNumber" json:"serial_number"`
	// ulPriority:  A ULONG specifying the priority value of this operation. Tasks with
	// a higher priority value are executed first. The priority is calculated by the server
	// based on the type of operation and its parameters.
	Priority uint32 `idl:"name:ulPriority" json:"priority"`
	// OpType:  An integer that indicates the type of operation, as defined in DS_REPL_OP_TYPE
	// (section 5.46).
	OperationType DSReplicationOperationType `idl:"name:OpType" json:"operation_type"`
	// ulOptions:  The DRS_OPTIONS flags.
	Options uint32 `idl:"name:ulOptions" json:"options"`
	// pszNamingContext:  The NC root of the relevant NC replica.
	NamingContext string `idl:"name:pszNamingContext;string" json:"naming_context"`
	// pszDsaDN:  The DN of the relevant DC's nTDSDSA object.
	DSADN string `idl:"name:pszDsaDN;string" json:"dsa_dn"`
	// pszDsaAddress:  The NetworkAddress of the relevant DC.
	DSAAddress string `idl:"name:pszDsaAddress;string" json:"dsa_address"`
	// uuidNamingContextObjGuid:  The objectGUID of the NC root of the relevant NC replica.
	NamingContextObjectGUID *dtyp.UUID `idl:"name:uuidNamingContextObjGuid" json:"naming_context_object_guid"`
	// uuidDsaObjGuid:  The DSA GUID of the DC.
	DSAObjectGUID *dtyp.UUID `idl:"name:uuidDsaObjGuid" json:"dsa_object_guid"`
}

DSReplicationOperation structure represents DS_REPL_OPW RPC structure.

The DS_REPL_OPW structure defines a replication operation to be processed by a DC. This structure is a concrete representation of a tuple in a ReplicationQueue sequence.

func (*DSReplicationOperation) MarshalNDR

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

func (*DSReplicationOperation) UnmarshalNDR

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

type DSReplicationOperationType

type DSReplicationOperationType uint16

DSReplicationOperationType type represents DS_REPL_OP_TYPE RPC enumeration.

DS_REPL_OP_TYPE is a concrete type for the replication operation type.

var (
	// DS_REPL_OP_TYPE_SYNC:  Sync NC replica from server DC.
	DSReplicationOperationTypeSync DSReplicationOperationType = 0
	// DS_REPL_OP_TYPE_ADD:  Add NC replica server DC.
	DSReplicationOperationTypeAdd DSReplicationOperationType = 1
	// DS_REPL_OP_TYPE_DELETE:  Remove NC replica server DC.
	DSReplicationOperationTypeDelete DSReplicationOperationType = 2
	// DS_REPL_OP_TYPE_MODIFY:  Modify NC replica server DC.
	DSReplicationOperationTypeModify DSReplicationOperationType = 3
	// DS_REPL_OP_TYPE_UPDATE_REFS:  Update NC replica client DC.
	DSReplicationOperationTypeUpdateReferences DSReplicationOperationType = 4
)

func (DSReplicationOperationType) String

type DSReplicationPendingOperations

type DSReplicationPendingOperations struct {
	// ftimeCurrentOpStarted:  The time when the current operation started.
	CurrentOperationStarted *dtyp.Filetime `idl:"name:ftimeCurrentOpStarted" json:"current_operation_started"`
	// cNumPendingOps:  The number of items in the rgPendingOp array.
	PendingOperationsCount uint32 `idl:"name:cNumPendingOps" json:"pending_operations_count"`
	// rgPendingOp:  The sequence of replication operations to be performed.
	PendingOperation []*DSReplicationOperation `idl:"name:rgPendingOp;size_is:(cNumPendingOps)" json:"pending_operation"`
}

DSReplicationPendingOperations structure represents DS_REPL_PENDING_OPSW RPC structure.

The DS_REPL_PENDING_OPSW structure defines a sequence of replication operations to be processed by a DC. This structure is a concrete representation of ReplicationQueue.

func (*DSReplicationPendingOperations) MarshalNDR

func (*DSReplicationPendingOperations) NDRSizeInfo

func (o *DSReplicationPendingOperations) NDRSizeInfo() []uint64

func (*DSReplicationPendingOperations) UnmarshalNDR

type DSReplicationServerOutgoingCall

type DSReplicationServerOutgoingCall struct {
	// pszServerName:  The NetworkAddress of the server.
	ServerName string `idl:"name:pszServerName;string" json:"server_name"`
	// fIsHandleBound:  True if and only if the IDL_DRSBind method has completed and the
	// IDL_DRSUnbind method has not yet been called.
	IsHandleBound bool `idl:"name:fIsHandleBound" json:"is_handle_bound"`
	// fIsHandleFromCache:  True if and only if the context handle used was retrieved from
	// the cache.
	IsHandleFromCache bool `idl:"name:fIsHandleFromCache" json:"is_handle_from_cache"`
	// fIsHandleInCache:  True if and only if the context handle is still in the cache.
	IsHandleInCache bool `idl:"name:fIsHandleInCache" json:"is_handle_in_cache"`
	// dwThreadId:  The thread ID of the thread that is using the context.
	ThreadID uint32 `idl:"name:dwThreadId" json:"thread_id"`
	// dwBindingTimeoutMins:  If the context is set to be canceled, the time-out in minutes.
	BindingTimeoutMins uint32 `idl:"name:dwBindingTimeoutMins" json:"binding_timeout_mins"`
	// dstimeCreated:  The date and time when the context was created.
	Created int64 `idl:"name:dstimeCreated" json:"created"`
	// dwCallType:  The call that the client is waiting on. MUST be one of the values in
	// the following table.
	//
	//	+-------+---------------------------+
	//	|       |                           |
	//	| VALUE |          MEANING          |
	//	|       |                           |
	//	+-------+---------------------------+
	//	+-------+---------------------------+
	//	|     2 | IDL_DRSBind               |
	//	+-------+---------------------------+
	//	|     3 | IDL_DRSUnbind             |
	//	+-------+---------------------------+
	//	|     4 | IDL_DRSReplicaSync        |
	//	+-------+---------------------------+
	//	|     5 | IDL_DRSGetNCChanges       |
	//	+-------+---------------------------+
	//	|     6 | IDL_DRSUpdateRefs         |
	//	+-------+---------------------------+
	//	|     7 | IDL_DRSReplicaAdd         |
	//	+-------+---------------------------+
	//	|     8 | IDL_DRSReplicaDel         |
	//	+-------+---------------------------+
	//	|     9 | IDL_DRSVerifyNames        |
	//	+-------+---------------------------+
	//	|    10 | IDL_DRSGetMemberships     |
	//	+-------+---------------------------+
	//	|    11 | IDL_DRSInterDomainMove    |
	//	+-------+---------------------------+
	//	|    12 | IDL_DRSGetNT4ChangeLog    |
	//	+-------+---------------------------+
	//	|    13 | IDL_DRSCrackNames         |
	//	+-------+---------------------------+
	//	|    14 | IDL_DRSAddEntry           |
	//	+-------+---------------------------+
	//	|    15 | IDL_DRSGetMemberships2    |
	//	+-------+---------------------------+
	//	|    16 | IDL_DRSGetObjectExistence |
	//	+-------+---------------------------+
	//	|    17 | IDL_DRSGetReplInfo        |
	//	+-------+---------------------------+
	//	|    18 | IDL_DRSWriteSPN           |
	//	+-------+---------------------------+
	CallType uint32 `idl:"name:dwCallType" json:"call_type"`
}

DSReplicationServerOutgoingCall structure represents DS_REPL_SERVER_OUTGOING_CALL RPC structure.

The DS_REPL_SERVER_OUTGOING_CALL structure defines an outstanding request from this DC to another DC. This structure is a concrete representation of a tuple from an RPCOutgoingContexts sequence.

func (*DSReplicationServerOutgoingCall) MarshalNDR

func (*DSReplicationServerOutgoingCall) UnmarshalNDR

type DSReplicationServerOutgoingCalls

type DSReplicationServerOutgoingCalls struct {
	// cNumCalls:  The number of items in the rgCall array.
	CallsCount uint32 `idl:"name:cNumCalls" json:"calls_count"`

	// rgCall:  A set of outstanding requests from this DC to other DCs.
	Call []*DSReplicationServerOutgoingCall `idl:"name:rgCall;size_is:(cNumCalls)" json:"call"`
	// contains filtered or unexported fields
}

DSReplicationServerOutgoingCalls structure represents DS_REPL_SERVER_OUTGOING_CALLS RPC structure.

The DS_REPL_SERVER_OUTGOING_CALLS structure defines a set of outstanding requests from this DC to other DCs. This structure is a concrete representation of RPCOutgoingContexts.

func (*DSReplicationServerOutgoingCalls) MarshalNDR

func (*DSReplicationServerOutgoingCalls) NDRSizeInfo

func (o *DSReplicationServerOutgoingCalls) NDRSizeInfo() []uint64

func (*DSReplicationServerOutgoingCalls) UnmarshalNDR

type DSReplicationValueMetadata

type DSReplicationValueMetadata struct {
	// pszAttributeName:  The lDAPDisplayName of the attribute.
	AttributeName string `idl:"name:pszAttributeName;string" json:"attribute_name"`
	// pszObjectDn:  The DN of the object.
	ObjectDN string `idl:"name:pszObjectDn;string" json:"object_dn"`
	// cbData:  The size, in bytes, of the pbData array.
	DataLength uint32 `idl:"name:cbData" json:"data_length"`
	// pbData:  The binary_value portion of the attribute value if the attribute is of syntax
	// Object(DN-Binary), or the string_value portion of the attribute value if the attribute
	// is of syntax Object(DN-String); null otherwise.
	Data []byte `idl:"name:pbData;size_is:(cbData);pointer:ptr" json:"data"`
	// ftimeDeleted:  The date and time at which the last replicated update was made that
	// deleted the value, or 0 if the value is not currently deleted.
	Deleted *dtyp.Filetime `idl:"name:ftimeDeleted" json:"deleted"`
	// ftimeCreated:  The date and time at which the first originating update was made.
	Created *dtyp.Filetime `idl:"name:ftimeCreated" json:"created"`
	// dwVersion:  The stamp version.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// ftimeLastOriginatingChange:  The date and time at which the last originating update
	// was made.
	LastOriginatingChange *dtyp.Filetime `idl:"name:ftimeLastOriginatingChange" json:"last_originating_change"`
	// uuidLastOriginatingDsaInvocationID:  The invocation ID of the DC that performed the
	// last originating update.
	LastOriginatingDSAInvocationID *dtyp.UUID `idl:"name:uuidLastOriginatingDsaInvocationID" json:"last_originating_dsa_invocation_id"`
	// usnOriginatingChange:  The USN assigned to the last originating update by the DC
	// that performed the update.
	OriginatingChange int64 `idl:"name:usnOriginatingChange" json:"originating_change"`
	// usnLocalChange:  An implementation-specific value.
	LocalChange int64 `idl:"name:usnLocalChange" json:"local_change"`
}

DSReplicationValueMetadata structure represents DS_REPL_VALUE_META_DATA RPC structure.

The DS_REPL_VALUE_META_DATA structure defines a link value stamp. This structure is a concrete representation of a LinkValueStamp.

func (*DSReplicationValueMetadata) MarshalNDR

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

func (*DSReplicationValueMetadata) UnmarshalNDR

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

type DSReplicationValueMetadata2

type DSReplicationValueMetadata2 struct {
	// pszAttributeName:  The lDAPDisplayName of the attribute.
	AttributeName string `idl:"name:pszAttributeName;string" json:"attribute_name"`
	// pszObjectDn:  The DN of the object.
	ObjectDN string `idl:"name:pszObjectDn;string" json:"object_dn"`
	// cbData:  The size, in bytes, of the pbData array.
	DataLength uint32 `idl:"name:cbData" json:"data_length"`
	// pbData:  The binary_value portion of the attribute value if the attribute is of syntax
	// Object(DN-Binary), or the string_value portion of the attribute value if the attribute
	// is of syntax Object(DN-String); null otherwise.
	Data []byte `idl:"name:pbData;size_is:(cbData);pointer:ptr" json:"data"`
	// ftimeDeleted:  The date and time at which the last replicated update was made that
	// deleted the value, or 0 if the value is not currently deleted.
	Deleted *dtyp.Filetime `idl:"name:ftimeDeleted" json:"deleted"`
	// ftimeCreated:  The date and time at which the first originating update was made.
	Created *dtyp.Filetime `idl:"name:ftimeCreated" json:"created"`
	// dwVersion:  The stamp version.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// ftimeLastOriginatingChange:  The date and time at which the last originating update
	// was made.
	LastOriginatingChange *dtyp.Filetime `idl:"name:ftimeLastOriginatingChange" json:"last_originating_change"`
	// uuidLastOriginatingDsaInvocationID:  The invocation ID of the DC that performed the
	// last originating update.
	LastOriginatingDSAInvocationID *dtyp.UUID `idl:"name:uuidLastOriginatingDsaInvocationID" json:"last_originating_dsa_invocation_id"`
	// usnOriginatingChange:  The USN assigned to the last originating update by the DC
	// that performed the update.
	OriginatingChange int64 `idl:"name:usnOriginatingChange" json:"originating_change"`
	// usnLocalChange:  An implementation-specific value.
	LocalChange int64 `idl:"name:usnLocalChange" json:"local_change"`
	// pszLastOriginatingDsaDN:  The DN of the nTDSDSA object with an invocationId of uuidLastOriginatingDsaInvocationID.
	LastOriginatingDSADN string `idl:"name:pszLastOriginatingDsaDN;string" json:"last_originating_dsa_dn"`
}

DSReplicationValueMetadata2 structure represents DS_REPL_VALUE_META_DATA_2 RPC structure.

The DS_REPL_VALUE_META_DATA_2 structure defines a link value stamp. This structure is a concrete representation of LinkValueStamp; it is a superset of DS_REPL_VALUE_META_DATA.

func (*DSReplicationValueMetadata2) MarshalNDR

func (*DSReplicationValueMetadata2) UnmarshalNDR

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

type DeleteReplicaRequest

type DeleteReplicaRequest struct {
	// hDrs: The RPC context handle returned by IDL_DRSBind.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwVersion: The version of the request message.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// pmsgDel: A pointer to the request message.
	Delete *MessageDeleteReplica `idl:"name:pmsgDel;switch_is:dwVersion;pointer:ref" json:"delete"`
}

DeleteReplicaRequest structure represents the IDL_DRSReplicaDel operation request

func (*DeleteReplicaRequest) MarshalNDR

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

func (*DeleteReplicaRequest) UnmarshalNDR

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

type DeleteReplicaResponse

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

DeleteReplicaResponse structure represents the IDL_DRSReplicaDel operation response

func (*DeleteReplicaResponse) MarshalNDR

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

func (*DeleteReplicaResponse) UnmarshalNDR

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

type DemotionReplicaRequest

type DemotionReplicaRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageReplicaDemotionRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

DemotionReplicaRequest structure represents the IDL_DRSReplicaDemotion operation request

func (*DemotionReplicaRequest) MarshalNDR

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

func (*DemotionReplicaRequest) UnmarshalNDR

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

type DemotionReplicaResponse

type DemotionReplicaResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageReplicaDemotionReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSReplicaDemotion return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DemotionReplicaResponse structure represents the IDL_DRSReplicaDemotion operation response

func (*DemotionReplicaResponse) MarshalNDR

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

func (*DemotionReplicaResponse) UnmarshalNDR

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

type DirectoryError

type DirectoryError struct {
	// Types that are assignable to Value
	//
	// *DirectoryError_AttributeError
	// *DirectoryError_NameError
	// *DirectoryError_ReferralError
	// *DirectoryError_SecurityError
	// *DirectoryError_ServiceError
	// *DirectoryError_UpdateError
	// *DirectoryError_SystemError
	Value is_DirectoryError `json:"value"`
}

DirectoryError structure represents DIRERR_DRS_WIRE_V1 RPC union.

The DIRERR_DRS_WIRE_V1 union defines the error that occurred during processing of a request sent to the IDL_DRSAddEntry method.

func (*DirectoryError) GetValue

func (o *DirectoryError) GetValue() any

func (*DirectoryError) MarshalUnionNDR

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

func (*DirectoryError) NDRSwitchValue

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

func (*DirectoryError) UnmarshalUnionNDR

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

type DirectoryError_AttributeError

type DirectoryError_AttributeError struct {
	// AtrErr:  Attribute errors.
	AttributeError *AttributeError `idl:"name:AtrErr" json:"attribute_error"`
}

DirectoryError_AttributeError structure represents DIRERR_DRS_WIRE_V1 RPC union arm.

It has following labels: 1

func (*DirectoryError_AttributeError) MarshalNDR

func (*DirectoryError_AttributeError) UnmarshalNDR

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

type DirectoryError_NameError

type DirectoryError_NameError struct {
	// NamErr:  Name resolution error.
	NameError *NameError `idl:"name:NamErr" json:"name_error"`
}

DirectoryError_NameError structure represents DIRERR_DRS_WIRE_V1 RPC union arm.

It has following labels: 2

func (*DirectoryError_NameError) MarshalNDR

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

func (*DirectoryError_NameError) UnmarshalNDR

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

type DirectoryError_ReferralError

type DirectoryError_ReferralError struct {
	// RefErr:  Referral.
	ReferralError *ReferralError `idl:"name:RefErr" json:"referral_error"`
}

DirectoryError_ReferralError structure represents DIRERR_DRS_WIRE_V1 RPC union arm.

It has following labels: 3

func (*DirectoryError_ReferralError) MarshalNDR

func (*DirectoryError_ReferralError) UnmarshalNDR

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

type DirectoryError_SecurityError

type DirectoryError_SecurityError struct {
	// SecErr:  Security error.
	SecurityError *SecurityError `idl:"name:SecErr" json:"security_error"`
}

DirectoryError_SecurityError structure represents DIRERR_DRS_WIRE_V1 RPC union arm.

It has following labels: 4

func (*DirectoryError_SecurityError) MarshalNDR

func (*DirectoryError_SecurityError) UnmarshalNDR

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

type DirectoryError_ServiceError

type DirectoryError_ServiceError struct {
	// SvcErr:  Service error.
	ServiceError *ServiceError `idl:"name:SvcErr" json:"service_error"`
}

DirectoryError_ServiceError structure represents DIRERR_DRS_WIRE_V1 RPC union arm.

It has following labels: 5

func (*DirectoryError_ServiceError) MarshalNDR

func (*DirectoryError_ServiceError) UnmarshalNDR

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

type DirectoryError_SystemError

type DirectoryError_SystemError struct {
	// SysErr:  System error.
	SystemError *SystemError `idl:"name:SysErr" json:"system_error"`
}

DirectoryError_SystemError structure represents DIRERR_DRS_WIRE_V1 RPC union arm.

It has following labels: 7

func (*DirectoryError_SystemError) MarshalNDR

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

func (*DirectoryError_SystemError) UnmarshalNDR

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

type DirectoryError_UpdateError

type DirectoryError_UpdateError struct {
	// UpdErr:  Update error.
	UpdateError *UpdateError `idl:"name:UpdErr" json:"update_error"`
}

DirectoryError_UpdateError structure represents DIRERR_DRS_WIRE_V1 RPC union arm.

It has following labels: 6

func (*DirectoryError_UpdateError) MarshalNDR

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

func (*DirectoryError_UpdateError) UnmarshalNDR

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

type DomainControllerInfoRequest

type DomainControllerInfoRequest struct {
	// hDrs: RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: Version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: Pointer to the request message.
	In *MessageDCInfoRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

DomainControllerInfoRequest structure represents the IDL_DRSDomainControllerInfo operation request

func (*DomainControllerInfoRequest) MarshalNDR

func (*DomainControllerInfoRequest) UnmarshalNDR

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

type DomainControllerInfoResponse

type DomainControllerInfoResponse struct {
	// pdwOutVersion: Pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: Pointer to the response message.
	Out *MessageDCInfoReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSDomainControllerInfo return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DomainControllerInfoResponse structure represents the IDL_DRSDomainControllerInfo operation response

func (*DomainControllerInfoResponse) MarshalNDR

func (*DomainControllerInfoResponse) UnmarshalNDR

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

type DrsuapiClient

type DrsuapiClient interface {

	// The IDL_DRSBind method creates a context handle that is necessary to call any other
	// method in this interface.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method does not throw exceptions beyond those thrown by the
	// underlying RPC protocol.
	Bind(context.Context, *BindRequest, ...dcerpc.CallOption) (*BindResponse, error)

	// The IDL_DRSUnbind method destroys a context handle previously created by the IDL_DRSBind
	// method.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exception beyond those thrown
	// by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE.
	Unbind(context.Context, *UnbindRequest, ...dcerpc.CallOption) (*UnbindResponse, error)

	// The IDL_DRSReplicaSync method triggers replication from another DC.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	SyncReplica(context.Context, *SyncReplicaRequest, ...dcerpc.CallOption) (*SyncReplicaResponse, error)

	// The IDL_DRSGetNCChanges method replicates updates from an NC replica on the server.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetNCChanges(context.Context, *GetNCChangesRequest, ...dcerpc.CallOption) (*GetNCChangesResponse, error)

	// The IDL_DRSUpdateRefs method adds or deletes a value from the repsTo of a specified
	// NC replica.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	UpdateReferences(context.Context, *UpdateReferencesRequest, ...dcerpc.CallOption) (*UpdateReferencesResponse, error)

	// The IDL_DRSReplicaAdd method adds a replication source reference for the specified
	// NC.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	AddReplica(context.Context, *AddReplicaRequest, ...dcerpc.CallOption) (*AddReplicaResponse, error)

	// The IDL_DRSReplicaDel method deletes a replication source reference for the specified
	// NC.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	DeleteReplica(context.Context, *DeleteReplicaRequest, ...dcerpc.CallOption) (*DeleteReplicaResponse, error)

	// The IDL_DRSReplicaModify method updates the value for repsFrom for the NC replica.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	ModifyReplica(context.Context, *ModifyReplicaRequest, ...dcerpc.CallOption) (*ModifyReplicaResponse, error)

	// The IDL_DRSVerifyNames method resolves a sequence of object identities.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	VerifyNames(context.Context, *VerifyNamesRequest, ...dcerpc.CallOption) (*VerifyNamesResponse, error)

	// The IDL_DRSGetMemberships method retrieves group membership for an object.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetMemberships(context.Context, *GetMembershipsRequest, ...dcerpc.CallOption) (*GetMembershipsResponse, error)

	// The IDL_DRSInterDomainMove method is a helper method used in a cross-NC move LDAP
	// operation.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	InterdomainMove(context.Context, *InterdomainMoveRequest, ...dcerpc.CallOption) (*InterdomainMoveResponse, error)

	// If the server is the PDC emulator FSMO role owner, the IDL_DRSGetNT4ChangeLog method
	// returns either a sequence of PDC change log entries or the NT4 replication state,
	// or both, as requested by the client.
	//
	// Return Values: 0 or ERROR_MORE_DATA if successful; another Windows error code if
	// a failure occurred.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetNT4ChangeLog(context.Context, *GetNT4ChangeLogRequest, ...dcerpc.CallOption) (*GetNT4ChangeLogResponse, error)

	// The IDL_DRSCrackNames method looks up each of a set of objects in the directory and
	// returns it to the caller in the requested format.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	CrackNames(context.Context, *CrackNamesRequest, ...dcerpc.CallOption) (*CrackNamesResponse, error)

	// The IDL_DRSWriteSPN method updates the set of SPNs on an object.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	WriteSPN(context.Context, *WriteSPNRequest, ...dcerpc.CallOption) (*WriteSPNResponse, error)

	// The IDL_DRSRemoveDsServer method removes the representation (also known as metadata)
	// of a DC from the directory.
	//
	// Return Values: 0 if successful or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	RemoveDSServer(context.Context, *RemoveDSServerRequest, ...dcerpc.CallOption) (*RemoveDSServerResponse, error)

	// The IDL_DRSRemoveDsDomain method removes the representation (also known as metadata)
	// of a domain from the directory.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	RemoveDSDomain(context.Context, *RemoveDSDomainRequest, ...dcerpc.CallOption) (*RemoveDSDomainResponse, error)

	// The IDL_DRSDomainControllerInfo method retrieves information about DCs in a given
	// domain.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	DomainControllerInfo(context.Context, *DomainControllerInfoRequest, ...dcerpc.CallOption) (*DomainControllerInfoResponse, error)

	// The IDL_DRSAddEntry method adds one or more objects.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	AddEntry(context.Context, *AddEntryRequest, ...dcerpc.CallOption) (*AddEntryResponse, error)

	// The IDL_DRSExecuteKCC method validates the replication interconnections of DCs and
	// updates them if necessary.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and ERROR_INVALID_PARAMETER.
	ExecuteKCC(context.Context, *ExecuteKCCRequest, ...dcerpc.CallOption) (*ExecuteKCCResponse, error)

	// The IDL_DRSGetReplInfo method retrieves the replication state of the server.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetReplicationInfo(context.Context, *GetReplicationInfoRequest, ...dcerpc.CallOption) (*GetReplicationInfoResponse, error)

	// The IDL_DRSAddSidHistory method adds one or more SIDs to the sIDHistory attribute
	// of a given object.
	//
	// Return Values: 0 or one of the following Windows error codes: ERROR_DS_MUST_RUN_ON_DST_DC
	// or ERROR_INVALID_PARAMETER.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and ERROR_INVALID_PARAMETER.
	AddSIDHistory(context.Context, *AddSIDHistoryRequest, ...dcerpc.CallOption) (*AddSIDHistoryResponse, error)

	// The IDL_DRSGetMemberships2 method retrieves group memberships for a sequence of objects.
	//
	// Return Values: 0 if successful; otherwise, a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetMemberships2(context.Context, *GetMemberships2Request, ...dcerpc.CallOption) (*GetMemberships2Response, error)

	// The IDL_DRSReplicaVerifyObjects method verifies the existence of objects in an NC
	// replica by comparing against a replica of the same NC on a reference DC, optionally
	// deleting any objects that do not exist on the reference DC.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	VerifyObjectsReplica(context.Context, *VerifyObjectsReplicaRequest, ...dcerpc.CallOption) (*VerifyObjectsReplicaResponse, error)

	// The IDL_DRSGetObjectExistence method helps the client check the consistency of object
	// existence between its replica of an NC and the server's replica of the same NC. Checking
	// the consistency of object existence means identifying objects that have replicated
	// to both replicas and that exist in one replica but not in the other. For the purposes
	// of this method, an object exists within a NC replica if it is either an object or
	// a tombstone.
	//
	// See IDL_DRSReplicaVerifyObjects for a use of this method.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetObjectExistence(context.Context, *GetObjectExistenceRequest, ...dcerpc.CallOption) (*GetObjectExistenceResponse, error)

	// The IDL_DRSQuerySitesByCost method determines the communication cost from a "from"
	// site to one or more "to" sites.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	QuerySitesByCost(context.Context, *QuerySitesByCostRequest, ...dcerpc.CallOption) (*QuerySitesByCostResponse, error)

	// The IDL_DRSInitDemotion method performs the first phase of the removal of a DC from
	// an AD LDS forest. This method is supported only by AD LDS.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	InitDemotion(context.Context, *InitDemotionRequest, ...dcerpc.CallOption) (*InitDemotionResponse, error)

	// The IDL_DRSReplicaDemotion method replicates off all changes to the specified NC
	// and moves any FSMOs held to another server.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	DemotionReplica(context.Context, *DemotionReplicaRequest, ...dcerpc.CallOption) (*DemotionReplicaResponse, error)

	// The IDL_DRSFinishDemotion method either performs one or more steps toward the complete
	// removal of a DC from an AD LDS forest, or it undoes the effects of the first phase
	// of removal (performed by IDL_DRSInitDemotion). This method is supported by AD LDS
	// only.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	FinishDemotion(context.Context, *FinishDemotionRequest, ...dcerpc.CallOption) (*FinishDemotionResponse, error)

	// The IDL_DRSAddCloneDC method is used to create a new DC object by copying attributes
	// from an existing DC object.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, and ERROR_INVALID_PARAMETER.
	AddCloneDC(context.Context, *AddCloneDCRequest, ...dcerpc.CallOption) (*AddCloneDCResponse, error)

	// IDL_DRSWriteNgcKey operation.
	WriteNGCKey(context.Context, *WriteNGCKeyRequest, ...dcerpc.CallOption) (*WriteNGCKeyResponse, error)

	// IDL_DRSReadNgcKey operation.
	ReadNGCKey(context.Context, *ReadNGCKeyRequest, ...dcerpc.CallOption) (*ReadNGCKeyResponse, error)

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

	// Conn returns the client connection (unsafe)
	Conn() dcerpc.Conn
}

drsuapi interface.

func NewDrsuapiClient

func NewDrsuapiClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (DrsuapiClient, error)

type DrsuapiServer

type DrsuapiServer interface {

	// The IDL_DRSBind method creates a context handle that is necessary to call any other
	// method in this interface.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method does not throw exceptions beyond those thrown by the
	// underlying RPC protocol.
	Bind(context.Context, *BindRequest) (*BindResponse, error)

	// The IDL_DRSUnbind method destroys a context handle previously created by the IDL_DRSBind
	// method.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exception beyond those thrown
	// by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE.
	Unbind(context.Context, *UnbindRequest) (*UnbindResponse, error)

	// The IDL_DRSReplicaSync method triggers replication from another DC.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	SyncReplica(context.Context, *SyncReplicaRequest) (*SyncReplicaResponse, error)

	// The IDL_DRSGetNCChanges method replicates updates from an NC replica on the server.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetNCChanges(context.Context, *GetNCChangesRequest) (*GetNCChangesResponse, error)

	// The IDL_DRSUpdateRefs method adds or deletes a value from the repsTo of a specified
	// NC replica.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	UpdateReferences(context.Context, *UpdateReferencesRequest) (*UpdateReferencesResponse, error)

	// The IDL_DRSReplicaAdd method adds a replication source reference for the specified
	// NC.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	AddReplica(context.Context, *AddReplicaRequest) (*AddReplicaResponse, error)

	// The IDL_DRSReplicaDel method deletes a replication source reference for the specified
	// NC.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	DeleteReplica(context.Context, *DeleteReplicaRequest) (*DeleteReplicaResponse, error)

	// The IDL_DRSReplicaModify method updates the value for repsFrom for the NC replica.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	ModifyReplica(context.Context, *ModifyReplicaRequest) (*ModifyReplicaResponse, error)

	// The IDL_DRSVerifyNames method resolves a sequence of object identities.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	VerifyNames(context.Context, *VerifyNamesRequest) (*VerifyNamesResponse, error)

	// The IDL_DRSGetMemberships method retrieves group membership for an object.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetMemberships(context.Context, *GetMembershipsRequest) (*GetMembershipsResponse, error)

	// The IDL_DRSInterDomainMove method is a helper method used in a cross-NC move LDAP
	// operation.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	InterdomainMove(context.Context, *InterdomainMoveRequest) (*InterdomainMoveResponse, error)

	// If the server is the PDC emulator FSMO role owner, the IDL_DRSGetNT4ChangeLog method
	// returns either a sequence of PDC change log entries or the NT4 replication state,
	// or both, as requested by the client.
	//
	// Return Values: 0 or ERROR_MORE_DATA if successful; another Windows error code if
	// a failure occurred.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetNT4ChangeLog(context.Context, *GetNT4ChangeLogRequest) (*GetNT4ChangeLogResponse, error)

	// The IDL_DRSCrackNames method looks up each of a set of objects in the directory and
	// returns it to the caller in the requested format.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	CrackNames(context.Context, *CrackNamesRequest) (*CrackNamesResponse, error)

	// The IDL_DRSWriteSPN method updates the set of SPNs on an object.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	WriteSPN(context.Context, *WriteSPNRequest) (*WriteSPNResponse, error)

	// The IDL_DRSRemoveDsServer method removes the representation (also known as metadata)
	// of a DC from the directory.
	//
	// Return Values: 0 if successful or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	RemoveDSServer(context.Context, *RemoveDSServerRequest) (*RemoveDSServerResponse, error)

	// The IDL_DRSRemoveDsDomain method removes the representation (also known as metadata)
	// of a domain from the directory.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	RemoveDSDomain(context.Context, *RemoveDSDomainRequest) (*RemoveDSDomainResponse, error)

	// The IDL_DRSDomainControllerInfo method retrieves information about DCs in a given
	// domain.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	DomainControllerInfo(context.Context, *DomainControllerInfoRequest) (*DomainControllerInfoResponse, error)

	// The IDL_DRSAddEntry method adds one or more objects.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	AddEntry(context.Context, *AddEntryRequest) (*AddEntryResponse, error)

	// The IDL_DRSExecuteKCC method validates the replication interconnections of DCs and
	// updates them if necessary.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and ERROR_INVALID_PARAMETER.
	ExecuteKCC(context.Context, *ExecuteKCCRequest) (*ExecuteKCCResponse, error)

	// The IDL_DRSGetReplInfo method retrieves the replication state of the server.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetReplicationInfo(context.Context, *GetReplicationInfoRequest) (*GetReplicationInfoResponse, error)

	// The IDL_DRSAddSidHistory method adds one or more SIDs to the sIDHistory attribute
	// of a given object.
	//
	// Return Values: 0 or one of the following Windows error codes: ERROR_DS_MUST_RUN_ON_DST_DC
	// or ERROR_INVALID_PARAMETER.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and ERROR_INVALID_PARAMETER.
	AddSIDHistory(context.Context, *AddSIDHistoryRequest) (*AddSIDHistoryResponse, error)

	// The IDL_DRSGetMemberships2 method retrieves group memberships for a sequence of objects.
	//
	// Return Values: 0 if successful; otherwise, a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetMemberships2(context.Context, *GetMemberships2Request) (*GetMemberships2Response, error)

	// The IDL_DRSReplicaVerifyObjects method verifies the existence of objects in an NC
	// replica by comparing against a replica of the same NC on a reference DC, optionally
	// deleting any objects that do not exist on the reference DC.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	VerifyObjectsReplica(context.Context, *VerifyObjectsReplicaRequest) (*VerifyObjectsReplicaResponse, error)

	// The IDL_DRSGetObjectExistence method helps the client check the consistency of object
	// existence between its replica of an NC and the server's replica of the same NC. Checking
	// the consistency of object existence means identifying objects that have replicated
	// to both replicas and that exist in one replica but not in the other. For the purposes
	// of this method, an object exists within a NC replica if it is either an object or
	// a tombstone.
	//
	// See IDL_DRSReplicaVerifyObjects for a use of this method.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	GetObjectExistence(context.Context, *GetObjectExistenceRequest) (*GetObjectExistenceResponse, error)

	// The IDL_DRSQuerySitesByCost method determines the communication cost from a "from"
	// site to one or more "to" sites.
	//
	// Return Values: 0 if successful, or a Windows error code if a failure occurs.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	QuerySitesByCost(context.Context, *QuerySitesByCostRequest) (*QuerySitesByCostResponse, error)

	// The IDL_DRSInitDemotion method performs the first phase of the removal of a DC from
	// an AD LDS forest. This method is supported only by AD LDS.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	InitDemotion(context.Context, *InitDemotionRequest) (*InitDemotionResponse, error)

	// The IDL_DRSReplicaDemotion method replicates off all changes to the specified NC
	// and moves any FSMOs held to another server.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	DemotionReplica(context.Context, *DemotionReplicaRequest) (*DemotionReplicaResponse, error)

	// The IDL_DRSFinishDemotion method either performs one or more steps toward the complete
	// removal of a DC from an AD LDS forest, or it undoes the effects of the first phase
	// of removal (performed by IDL_DRSInitDemotion). This method is supported by AD LDS
	// only.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, ERROR_DS_DIFFERENT_REPL_EPOCHS, and  ERROR_INVALID_PARAMETER.
	FinishDemotion(context.Context, *FinishDemotionRequest) (*FinishDemotionResponse, error)

	// The IDL_DRSAddCloneDC method is used to create a new DC object by copying attributes
	// from an existing DC object.
	//
	// Return Values: 0 if successful, otherwise a Windows error code.
	//
	// Exceptions Thrown: This method might throw the following exceptions beyond those
	// thrown by the underlying RPC protocol (as specified in [MS-RPCE]): ERROR_INVALID_HANDLE,
	// ERROR_DS_DRS_EXTENSIONS_CHANGED, and ERROR_INVALID_PARAMETER.
	AddCloneDC(context.Context, *AddCloneDCRequest) (*AddCloneDCResponse, error)

	// IDL_DRSWriteNgcKey operation.
	WriteNGCKey(context.Context, *WriteNGCKeyRequest) (*WriteNGCKeyResponse, error)

	// IDL_DRSReadNgcKey operation.
	ReadNGCKey(context.Context, *ReadNGCKeyRequest) (*ReadNGCKeyResponse, error)
}

drsuapi server interface.

type EncryptedPayload added in v1.0.2

type EncryptedPayload struct {
	// Salt (16 bytes): A 128-bit randomly generated value.
	Salt []byte `idl:"name:Salt" json:"salt"`
	// CheckSum (4 bytes): A 32-bit CRC32 checksum of the data that is encrypted along with
	// the data.
	CheckSum uint32 `idl:"name:CheckSum" json:"check_sum"`
	// EncryptedData (variable): A variable-length byte array that represents the encrypted
	// value.
	EncryptedData []byte `idl:"name:EncryptedData" json:"encrypted_data"`
}

EncryptedPayload structure represents ENCRYPTED_PAYLOAD RPC structure.

The ENCRYPTED_PAYLOAD packet is the concrete type for a value of an encrypted attribute.

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
|   |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| Salt (16 bytes)                                                                                                               |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ...                                                                                                                           |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ...                                                                                                                           |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| CheckSum                                                                                                                      |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| EncryptedData (variable)                                                                                                      |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ...                                                                                                                           |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

func (*EncryptedPayload) MarshalNDR added in v1.0.2

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

func (*EncryptedPayload) UnmarshalNDR added in v1.0.2

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

type EntityInfo

type EntityInfo struct {
	// pName:  The identity of the object.
	Name *DSName `idl:"name:pName" json:"name"`
	// ulFlags:  A flags field that supports the following flags, which are presented in
	// little-endian byte order.
	//
	//	+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 | 5 |  6  | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 |  3  | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |   |     |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |     |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+
	//	| X | X | X | X | X | X | D O | M | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | R M | X | X | X | X | X | X | X | X |
	//	+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero and ignored.
	//
	// M (ENTINF_FROM_MASTER, 0x00000001): Retrieved from a full replica.
	//
	// DO (ENTINF_DYNAMIC_OBJECT, 0x00000002): A dynamic object.
	Flags uint32 `idl:"name:ulFlags" json:"flags"`
	// AttrBlock:  Some of all of the attributes for this object, as determined by the particular
	// method. See section 1.3.3 for an overview of methods using type ENTINF.
	AttributeBlock *AttributeBlock `idl:"name:AttrBlock" json:"attribute_block"`
}

EntityInfo structure represents ENTINF RPC structure.

ENTINF is a concrete type for the identity and attributes (some or all) of a given object.

func (*EntityInfo) MarshalNDR

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

func (*EntityInfo) UnmarshalNDR

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

type EntityInfoList

type EntityInfoList struct {
	// pNextEntInf:  The next ENTINFLIST in the sequence, or null.
	NextEntityInfo *EntityInfoList `idl:"name:pNextEntInf" json:"next_entity_info"`
	// Entinf:  An ENTINF entry.
	EntityInfo *EntityInfo `idl:"name:Entinf" json:"entity_info"`
}

EntityInfoList structure represents ENTINFLIST RPC structure.

ENTINFLIST is a concrete type for a list of ENTINF entries.

func (*EntityInfoList) MarshalNDR

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

func (*EntityInfoList) UnmarshalNDR

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

type ErrorData

type ErrorData struct {
	// Types that are assignable to Value
	//
	// *ErrorData_V1
	Value is_ErrorData `json:"value"`
}

ErrorData structure represents DRS_ERROR_DATA RPC union.

The DRS_ERROR_DATA union defines the error responses that are received from the IDL_DRSAddEntry method.

func (*ErrorData) GetValue

func (o *ErrorData) GetValue() any

func (*ErrorData) MarshalUnionNDR

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

func (*ErrorData) NDRSwitchValue

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

func (*ErrorData) UnmarshalUnionNDR

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

type ErrorDataV1

type ErrorDataV1 struct {
	// dwRepError:  0 or a Windows error code.
	RepError uint32 `idl:"name:dwRepError" json:"rep_error"`
	// errCode:  A DIRERR code (section 4.1.1.1.25) that specifies the error category.
	ErrorCode uint32 `idl:"name:errCode" json:"error_code"`
	// pErrInfo:  Category-specific error information.
	ErrorInfo *DirectoryError `idl:"name:pErrInfo;switch_is:errCode" json:"error_info"`
}

ErrorDataV1 structure represents DRS_ERROR_DATA_V1 RPC structure.

The DRS_ERROR_DATA_V1 structure defines the error response received from the IDL_DRSAddEntry method.

func (*ErrorDataV1) MarshalNDR

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

func (*ErrorDataV1) UnmarshalNDR

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

type ErrorData_V1

type ErrorData_V1 struct {
	// V1:  Version 1 response.
	V1 *ErrorDataV1 `idl:"name:V1" json:"v1"`
}

ErrorData_V1 structure represents DRS_ERROR_DATA RPC union arm.

It has following labels: 1

func (*ErrorData_V1) MarshalNDR

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

func (*ErrorData_V1) UnmarshalNDR

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

type ExecuteKCCRequest

type ExecuteKCCRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageKCCExecute `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

ExecuteKCCRequest structure represents the IDL_DRSExecuteKCC operation request

func (*ExecuteKCCRequest) MarshalNDR

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

func (*ExecuteKCCRequest) UnmarshalNDR

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

type ExecuteKCCResponse

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

ExecuteKCCResponse structure represents the IDL_DRSExecuteKCC operation response

func (*ExecuteKCCResponse) MarshalNDR

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

func (*ExecuteKCCResponse) UnmarshalNDR

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

type Extensions

type Extensions struct {
	// cb:  The size, in bytes, of the rgb array.
	Length uint32 `idl:"name:cb" json:"length"`
	// rgb:  To RPC, this field is a string of cb bytes. It is interpreted by the client
	// and the server as the first cb bytes of a DRS_EXTENSIONS_INT structure that follow
	// the cb field of that structure. The fields of the DRS_EXTENSIONS_INT structure are
	// in little-endian byte order. Since both DRS_EXTENSIONS and DRS_EXTENSIONS_INT begin
	// with a DWORD cb, a field in DRS_EXTENSIONS_INT is at the same offset in DRS_EXTENSIONS
	// as it is in DRS_EXTENSIONS_INT.
	Data []byte `idl:"name:rgb;size_is:(cb)" json:"data"`
}

Extensions structure represents DRS_EXTENSIONS RPC structure.

The DRS_EXTENSIONS structure defines a concrete type for capabilities information used in version negotiation.

func (*Extensions) MarshalNDR

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

func (*Extensions) NDRSizeInfo

func (o *Extensions) NDRSizeInfo() []uint64

func (*Extensions) UnmarshalNDR

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

type ExtensionsInt added in v1.0.2

type ExtensionsInt struct {
	// cb (4 bytes): The count of bytes in the fields dwFlags through dwExtCaps, inclusive.<38><39><40>
	// This field allows the DRS_EXTENSIONS_INT structure to be extended by including new
	// fields at the end of the structure.
	Length uint32 `idl:"name:cb" json:"length"`
	// dwFlags (4 bytes): The dwFlags field contains individual bit flags that describe
	// the capabilities of the DC that produced the DRS_EXTENSIONS_INT structure.<41>
	//
	// The following table lists the bit flags, which are presented in little-endian byte
	// order.
	//
	//	+-----+-----+-----+-----+-----+-----+-----+-------+-----+-------+-----+-------+-------+-------+-------+-----+-------+-------+-------+-------+-------+-----+-----+-------+-----+-----+--------+-------+-------+-------+-------+-------+
	//	|  0  |  1  |  2  |  3  |  4  |  5  |  6  |   7   |  8  |   9   |  1  |   1   |   2   |   3   |   4   |  5  |   6   |   7   |   8   |   9   |   2   |  1  |  2  |   3   |  4  |  5  |   6    |   7   |   8   |   9   |   3   |   1   |
	//	|     |     |     |     |     |     |     |       |     |       |  0  |       |       |       |       |     |       |       |       |       |   0   |     |     |       |     |     |        |       |       |       |   0   |       |
	//	+-----+-----+-----+-----+-----+-----+-----+-------+-----+-------+-----+-------+-------+-------+-------+-----+-------+-------+-------+-------+-------+-----+-----+-------+-----+-----+--------+-------+-------+-------+-------+-------+
	//	+-----+-----+-----+-----+-----+-----+-----+-------+-----+-------+-----+-------+-------+-------+-------+-----+-------+-------+-------+-------+-------+-----+-----+-------+-----+-----+--------+-------+-------+-------+-------+-------+
	//	| A E | U O | D C | D F | M V | R M | A S | B A S | S E | G R I | C B | I N R | D C 2 | L V R | A E 2 | K E | A N C | G C 6 | G M 2 | G C 5 | P B 3 | S H | T M | D C F | R 3 | R 2 | G C 10 | D F 2 | W B 3 | G R 6 | G R 5 | G C 8 |
	//	+-----+-----+-----+-----+-----+-----+-----+-------+-----+-------+-----+-------+-------+-------+-------+-----+-------+-------+-------+-------+-------+-----+-----+-------+-----+-----+--------+-------+-------+-------+-------+-------+
	//
	// BAS (DRS_EXT_BASE, 0x00000001): Unused. SHOULD be 1 and MUST be ignored.
	//
	// AS (DRS_EXT_ASYNCREPL, 0x00000002): If present, signifies that the DC supports DRS_MSG_REPADD_V2.
	//
	// RM (DRS_EXT_REMOVEAPI, 0x00000004): If present, signifies that the DC supports IDL_DRSRemoveDsServer
	// and IDL_DRSRemoveDsDomain.
	//
	// MV (DRS_EXT_MOVEREQ_V2, 0x00000008): If present, signifies that the DC supports DRS_MSG_MOVEREQ_V2.
	//
	// DF (DRS_EXT_GETCHG_DEFLATE, 0x00000010): If present, signifies that the DC supports
	// DRS_MSG_GETCHGREPLY_V2.
	//
	// DC (DRS_EXT_DCINFO_V1, 0x00000020): If present, signifies that the DC supports IDL_DRSDomainControllerInfo.
	//
	// UO (DRS_EXT_RESTORE_USN_OPTIMIZATION, 0x00000040): Unused. SHOULD be 1 and MUST be
	// ignored.
	//
	// AE (DRS_EXT_ADDENTRY, 0x00000080): If present, signifies that the DC supports IDL_DRSAddEntry.
	//
	// KE (DRS_EXT_KCC_EXECUTE, 0x00000100): If present, signifies that the DC supports
	// IDL_DRSExecuteKCC.
	//
	// AE2 (DRS_EXT_ADDENTRY_V2, 0x00000200): If present, signifies that the DC supports
	// DRS_MSG_ADDENTRYREQ_V2.
	//
	// LVR (DRS_EXT_LINKED_VALUE_REPLICATION, 0x00000400): If present, signifies that the
	// DC supports link value replication, and this support is enabled.
	//
	// DC2 (DRS_EXT_DCINFO_V2, 0x00000800): If present, signifies that the DC supports DRS_MSG_DCINFOREPLY_V2.
	//
	// INR (DRS_EXT_INSTANCE_TYPE_NOT_REQ_ON_MOD, 0x00001000): Unused. SHOULD be 1 and MUST
	// be ignored.
	//
	// CB (DRS_EXT_CRYPTO_BIND, 0x00002000): A client-only flag. If present, it indicates
	// that the security provider used for the connection supports session keys through
	// RPC (example, Kerberos connections with mutual authentication enable RPC to expose
	// session keys, but NTLM connections do not enable RPC to expose session keys).
	//
	// GRI (DRS_EXT_GET_REPL_INFO, 0x00004000): If present, signifies that the DC supports
	// IDL_DRSGetReplInfo.
	//
	// SE (DRS_EXT_STRONG_ENCRYPTION, 0x00008000): If present, signifies that the DC supports
	// additional 128-bit encryption for passwords over the wire. DCs MUST NOT replicate
	// passwords to other DCs that do not support this extension.
	//
	// DCF (DRS_EXT_DCINFO_VFFFFFFFF, 0x00010000): If present, signifies that the DC supports
	// DRS_MSG_DCINFOREPLY_VFFFFFFFF.
	//
	// TM (DRS_EXT_TRANSITIVE_MEMBERSHIP, 0x00020000): If present, signifies that the DC
	// supports IDL_DRSGetMemberships.
	//
	// SH (DRS_EXT_ADD_SID_HISTORY, 0x00040000): If present, signifies that the DC supports
	// IDL_DRSAddSidHistory.
	//
	// PB3 (DRS_EXT_POST_BETA3, 0x00080000): Reserved. MUST be set to 1 and ignored.
	//
	// GC5 (DRS_EXT_GETCHGREQ_V5, 0x00100000): If present, signifies that the DC supports
	// DRS_MSG_GETCHGREQ_V5.
	//
	// GM2(DRS_EXT_GETMEMBERSHIPS2, 0x00200000): If present, signifies that the DC supports
	// IDL_DRSGetMemberships2.
	//
	// GC6 (DRS_EXT_GETCHGREQ_V6, 0x00400000): Unused. This bit was used for a pre-release
	// version of Windows. No released version of Windows references it. This bit can be
	// set or unset with no change in behavior.
	//
	// ANC (DRS_EXT_NONDOMAIN_NCS, 0x00800000): If present, signifies that the DC supports
	// application NCs.
	//
	// GC8 (DRS_EXT_GETCHGREQ_V8, 0x01000000): If present, signifies that the DC supports
	// DRS_MSG_GETCHGREQ_V8.
	//
	// GR5 (DRS_EXT_GETCHGREPLY_V5, 0x02000000): Unused. SHOULD be 1 and MUST be ignored.
	//
	// GR6 (DRS_EXT_GETCHGREPLY_V6, 0x04000000): If present, signifies that the DC supports
	// DRS_MSG_GETCHGREPLY_V6.
	//
	// WB3 (DRS_EXT_WHISTLER_BETA3, 0x08000000): If present, signifies that the DC supports
	// DRS_MSG_ADDENTRYREPLY_V3, DRS_MSG_REPVERIFYOBJ, DRS_MSG_GETCHGREPLY_V7, and DRS_MSG_QUERYSITESREQ_V1.
	//
	// DF2 (DRS_EXT_W2K3_DEFLATE, 0x10000000): If present, signifies that the DC supports
	// the W2K3 AD deflation library.
	//
	// GC10 (DRS_EXT_GETCHGREQ_V10, 0x20000000): If present, signifies that the DC supports
	// DRS_MSG_GETCHGREQ_V10.
	//
	// R2 (DRS_EXT_RESERVED_FOR_WIN2K_OR_DOTNET_PART2, 0x40000000): Unused. MUST be 0 and
	// ignored.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// SiteObjGuid (16 bytes): A GUID. The objectGUID of the site object of which the DC's
	// DSA object is a descendant. For non-DC client callers, this field SHOULD be set to
	// zero.
	SiteObjectGUID *dtyp.GUID `idl:"name:SiteObjGuid" json:"site_object_guid"`
	// Pid (4 bytes): A 32-bit, signed integer value that specifies a process identifier.
	// The client sets the Pid field to the current client process, or the server sets the
	// Pid to the current server process. This is for informational and debugging purposes
	// only. The assignment of this field is implementation-specific.<42>
	PID int32 `idl:"name:Pid" json:"pid"`
	// dwReplEpoch (4 bytes): A 32-bit, unsigned integer value that specifies the replication
	// epoch. This value is set to zero by all client callers. The server sets this value
	// by assigning the value of msDS-ReplicationEpoch from its nTDSDSA object. If dwReplEpoch
	// is not included in DRS_EXTENSIONS_INT, the value is considered to be zero.<43>
	ReplicationEpoch uint32 `idl:"name:dwReplEpoch" json:"replication_epoch"`
	// dwFlagsExt (4 bytes): An extension of the dwFlags field that contains individual
	// bit flags. These bit flags determine which extended capabilities are enabled in the
	// DC that produced the DRS_EXTENSIONS_INT structure. For non-DC client callers, no
	// bits SHOULD be set. If dwFlagsExt is not included in DRS_EXTENSIONS_INT, all bit
	// flags are considered unset.
	//
	// The following table lists the bit flags, which are presented in little-endian byte
	// order.<44>
	//
	//	+---+---+---+---+---+-----+-----+-----+---+---+---+---+---+-----+---+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 |  5  |  6  |  7  | 8 | 9 | 1 | 1 | 2 |  3  | 4 |   5   | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |     |     |     |   |   | 0 |   |   |     |   |       |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+-----+-----+-----+---+---+---+---+---+-----+---+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+-----+-----+-----+---+---+---+---+---+-----+---+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| X | X | X | X | X | R B | L H | D A | X | X | X | X | X | CID | X | G R 9 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
	//	+---+---+---+---+---+-----+-----+-----+---+---+---+---+---+-----+---+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//
	// DA (DRS_EXT_ADAM, 0x00000001): If present, signifies that the DC supports DRS_MSG_REPSYNC_V1,
	// DRS_MSG_UPDREFS_V1, DRS_MSG_INIT_DEMOTIONREQ_V1, DRS_MSG_REPLICA_DEMOTIONREQ_V1,
	// and DRS_MSG_FINISH_DEMOTIONREQ_V1.
	//
	// LH (DRS_EXT_LH_BETA2, 0x00000002): If present, signifies that the DC supports the
	// DRS_SPECIAL_SECRET_PROCESSING and DRS_GET_ALL_GROUP_MEMBERSHIP flags as well as InfoLevel
	// 3 in DRS_MSG_DCINFOREQ_V1.
	//
	// RB (DRS_EXT_RECYCLE_BIN, 0x00000004): If present, signifies that the DC has enabled
	// the Recycle Bin optional feature.
	//
	// GR9 (DRS_EXT_GETCHGREPLY_V9, 0x00000100): If present, signifies that the DC supports
	// DRS_MSG_GETCHGREPLY_V9.
	FlagsExt uint32 `idl:"name:dwFlagsExt" json:"flags_ext"`
	// ConfigObjGUID (16 bytes): A GUID. This field is set to zero by all client callers.
	// The server sets this field by assigning it the value of the objectGUID of the config
	// NC object. If ConfigObjGUID is not included in DRS_EXTENSIONS_INT, the value is considered
	// to be the NULL GUID value.<45>
	ConfigObjectGUID *dtyp.GUID `idl:"name:ConfigObjGUID" json:"config_object_guid"`
	// dwExtCaps (4 bytes): A mask for the dwFlagsExt field that contains individual bit
	// flags. These bit flags describe the potential extended capabilities of the DC that
	// produced the DRS_EXTENSIONS_INT structure. For non-DC client callers, no bits SHOULD
	// be set. If neither dwFlagsExt nor dwExtCaps is included in DRS_EXTENSIONS_INT, all
	// bits in dwExtCaps are considered unset. If dwFlagsExt is included in DRS_EXTENSIONS_INT
	// but dwExtCaps is not, all relevant bits in dwExtCaps (as explained below) are implicitly
	// set.<46>
	//
	// Each bit in dwExtCaps corresponds exactly to each bit in dwFlagsExt. If the DC that
	// produced the DRS_EXTENSIONS_INT structure supports a capability described by a bit
	// in the dwFlagsExt field (that is, the bit either is or could potentially be set),
	// then the corresponding bit in dwExtCaps MUST be set. If a bit in dwExtCaps is not
	// set, it is assumed that the corresponding bit in dwFlagsExt will not and cannot be
	// set.
	ExtCaps uint32 `idl:"name:dwExtCaps" json:"ext_caps"`
}

ExtensionsInt structure represents DRS_EXTENSIONS_INT RPC structure.

The DRS_EXTENSIONS_INT structure is a concrete type for structured capabilities information used in version negotiation.

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
|   |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| cb                                                                                                                            |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| dwFlags                                                                                                                       |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| SiteObjGuid (16 bytes)                                                                                                        |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ...                                                                                                                           |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ...                                                                                                                           |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| Pid                                                                                                                           |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| dwReplEpoch                                                                                                                   |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| dwFlagsExt                                                                                                                    |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ConfigObjGUID (16 bytes)                                                                                                      |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ...                                                                                                                           |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ...                                                                                                                           |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| dwExtCaps                                                                                                                     |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

func (*ExtensionsInt) MarshalNDR added in v1.0.2

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

func (*ExtensionsInt) UnmarshalNDR added in v1.0.2

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

type FinishDemotionRequest

type FinishDemotionRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageFinishDemotionRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

FinishDemotionRequest structure represents the IDL_DRSFinishDemotion operation request

func (*FinishDemotionRequest) MarshalNDR

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

func (*FinishDemotionRequest) UnmarshalNDR

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

type FinishDemotionResponse

type FinishDemotionResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageFinishDemotionReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSFinishDemotion return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

FinishDemotionResponse structure represents the IDL_DRSFinishDemotion operation response

func (*FinishDemotionResponse) MarshalNDR

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

func (*FinishDemotionResponse) UnmarshalNDR

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

type GetMemberships2Request

type GetMemberships2Request struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: Version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: Pointer to the request message.
	In *MessageGetMemberships2Request `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

GetMemberships2Request structure represents the IDL_DRSGetMemberships2 operation request

func (*GetMemberships2Request) MarshalNDR

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

func (*GetMemberships2Request) UnmarshalNDR

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

type GetMemberships2Response

type GetMemberships2Response struct {
	// pdwOutVersion: Pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: Pointer to the response message.
	Out *MessageGetMemberships2Reply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSGetMemberships2 return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetMemberships2Response structure represents the IDL_DRSGetMemberships2 operation response

func (*GetMemberships2Response) MarshalNDR

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

func (*GetMemberships2Response) UnmarshalNDR

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

type GetMembershipsRequest

type GetMembershipsRequest struct {
	// hDrs: RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: Version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: Pointer to the request message.
	In *MessageReverseMembershipRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

GetMembershipsRequest structure represents the IDL_DRSGetMemberships operation request

func (*GetMembershipsRequest) MarshalNDR

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

func (*GetMembershipsRequest) UnmarshalNDR

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

type GetMembershipsResponse

type GetMembershipsResponse struct {
	// pdwOutVersion: Pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: Pointer to the response message.
	Out *MessageReverseMembershipReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSGetMemberships return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetMembershipsResponse structure represents the IDL_DRSGetMemberships operation response

func (*GetMembershipsResponse) MarshalNDR

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

func (*GetMembershipsResponse) UnmarshalNDR

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

type GetNCChangesRequest

type GetNCChangesRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: Version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageGetNCChangesRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

GetNCChangesRequest structure represents the IDL_DRSGetNCChanges operation request

func (*GetNCChangesRequest) MarshalNDR

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

func (*GetNCChangesRequest) UnmarshalNDR

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

type GetNCChangesResponse

type GetNCChangesResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageGetNCChangesReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSGetNCChanges return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetNCChangesResponse structure represents the IDL_DRSGetNCChanges operation response

func (*GetNCChangesResponse) MarshalNDR

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

func (*GetNCChangesResponse) UnmarshalNDR

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

type GetNT4ChangeLogRequest

type GetNT4ChangeLogRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageNT4ChangeLogRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

GetNT4ChangeLogRequest structure represents the IDL_DRSGetNT4ChangeLog operation request

func (*GetNT4ChangeLogRequest) MarshalNDR

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

func (*GetNT4ChangeLogRequest) UnmarshalNDR

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

type GetNT4ChangeLogResponse

type GetNT4ChangeLogResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageNT4ChangeLogReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSGetNT4ChangeLog return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetNT4ChangeLogResponse structure represents the IDL_DRSGetNT4ChangeLog operation response

func (*GetNT4ChangeLogResponse) MarshalNDR

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

func (*GetNT4ChangeLogResponse) UnmarshalNDR

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

type GetObjectExistenceRequest

type GetObjectExistenceRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageExistRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

GetObjectExistenceRequest structure represents the IDL_DRSGetObjectExistence operation request

func (*GetObjectExistenceRequest) MarshalNDR

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

func (*GetObjectExistenceRequest) UnmarshalNDR

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

type GetObjectExistenceResponse

type GetObjectExistenceResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageExistReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSGetObjectExistence return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetObjectExistenceResponse structure represents the IDL_DRSGetObjectExistence operation response

func (*GetObjectExistenceResponse) MarshalNDR

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

func (*GetObjectExistenceResponse) UnmarshalNDR

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

type GetReplicationInfoRequest

type GetReplicationInfoRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageGetReplicationInfoRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

GetReplicationInfoRequest structure represents the IDL_DRSGetReplInfo operation request

func (*GetReplicationInfoRequest) MarshalNDR

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

func (*GetReplicationInfoRequest) UnmarshalNDR

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

type GetReplicationInfoResponse

type GetReplicationInfoResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageGetReplicationInfoReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSGetReplInfo return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetReplicationInfoResponse structure represents the IDL_DRSGetReplInfo operation response

func (*GetReplicationInfoResponse) MarshalNDR

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

func (*GetReplicationInfoResponse) UnmarshalNDR

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

type Handle

type Handle dcetypes.ContextHandle

Handle structure represents DRS_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 InitDemotionRequest

type InitDemotionRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageInitDemotionRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

InitDemotionRequest structure represents the IDL_DRSInitDemotion operation request

func (*InitDemotionRequest) MarshalNDR

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

func (*InitDemotionRequest) UnmarshalNDR

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

type InitDemotionResponse

type InitDemotionResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageInitDemotionReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSInitDemotion return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

InitDemotionResponse structure represents the IDL_DRSInitDemotion operation response

func (*InitDemotionResponse) MarshalNDR

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

func (*InitDemotionResponse) UnmarshalNDR

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

type InterdomainMoveRequest

type InterdomainMoveRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageMoveRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

InterdomainMoveRequest structure represents the IDL_DRSInterDomainMove operation request

func (*InterdomainMoveRequest) MarshalNDR

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

func (*InterdomainMoveRequest) UnmarshalNDR

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

type InterdomainMoveResponse

type InterdomainMoveResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageMoveReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSInterDomainMove return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

InterdomainMoveResponse structure represents the IDL_DRSInterDomainMove operation response

func (*InterdomainMoveResponse) MarshalNDR

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

func (*InterdomainMoveResponse) UnmarshalNDR

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

type MTXAddr

type MTXAddr struct {
	// mtx_namelen:  A 32-bit, unsigned integer that specifies the number of bytes in mtx_name,
	// including a terminating null character.
	MTXNameLength uint32 `idl:"name:mtx_namelen" json:"mtx_name_length"`
	// mtx_name:  The UTF-8 encoding of a NetworkAddress.
	//
	// The following table shows an alternative representation of this structure.
	//
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| mtx_namelen                                                                                                                   |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| mtx_name (variable length) ...                                                                                                |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	MTXName []byte `idl:"name:mtx_name;size_is:(mtx_namelen)" json:"mtx_name"`
}

MTXAddr structure represents MTX_ADDR RPC structure.

The MTX_ADDR structure defines a concrete type for the network name of a DC.

func (*MTXAddr) MarshalNDR

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

func (*MTXAddr) NDRSizeInfo

func (o *MTXAddr) NDRSizeInfo() []uint64

func (*MTXAddr) UnmarshalNDR

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

type MessageAddCloneDCReply

type MessageAddCloneDCReply struct {
	// Types that are assignable to Value
	//
	// *MessageAddCloneDCReply_V1
	Value is_MessageAddCloneDCReply `json:"value"`
}

MessageAddCloneDCReply structure represents DRS_MSG_ADDCLONEDCREPLY RPC union.

The DRS_MSG_ADDCLONEDCREPLY union defines the response messages received from the IDL_DRSAddCloneDC method.

func (*MessageAddCloneDCReply) GetValue

func (o *MessageAddCloneDCReply) GetValue() any

func (*MessageAddCloneDCReply) MarshalUnionNDR

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

func (*MessageAddCloneDCReply) NDRSwitchValue

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

func (*MessageAddCloneDCReply) UnmarshalUnionNDR

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

type MessageAddCloneDCReplyV1

type MessageAddCloneDCReplyV1 struct {
	// pwszCloneDCName:  The new DC's name.
	CloneDCName string `idl:"name:pwszCloneDCName;string" json:"clone_dc_name"`
	// pwszSite:  The site containing the new DC.
	Site string `idl:"name:pwszSite;string" json:"site"`
	// cPasswordLength:  The length of the pwsNewDCAccountPassword member.
	PasswordLengthCount uint32 `idl:"name:cPasswordLength" json:"password_length_count"`
	// pwsNewDCAccountPassword:  The password of the new DC account.
	NewDCAccountPassword string `idl:"name:pwsNewDCAccountPassword;size_is:(cPasswordLength)" json:"new_dc_account_password"`
}

MessageAddCloneDCReplyV1 structure represents DRS_MSG_ADDCLONEDCREPLY_V1 RPC structure.

The DRS_MSG_ADDCLONEDCREPLY_V1 structure defines a response message received from the IDL_DRSAddCloneDC method.

func (*MessageAddCloneDCReplyV1) MarshalNDR

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

func (*MessageAddCloneDCReplyV1) UnmarshalNDR

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

type MessageAddCloneDCReply_V1

type MessageAddCloneDCReply_V1 struct {
	// V1:  The version 1 response.
	V1 *MessageAddCloneDCReplyV1 `idl:"name:V1" json:"v1"`
}

MessageAddCloneDCReply_V1 structure represents DRS_MSG_ADDCLONEDCREPLY RPC union arm.

It has following labels: 1

func (*MessageAddCloneDCReply_V1) MarshalNDR

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

func (*MessageAddCloneDCReply_V1) UnmarshalNDR

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

type MessageAddCloneDCRequest

type MessageAddCloneDCRequest struct {
	// Types that are assignable to Value
	//
	// *MessageAddCloneDCRequest_V1
	Value is_MessageAddCloneDCRequest `json:"value"`
}

MessageAddCloneDCRequest structure represents DRS_MSG_ADDCLONEDCREQ RPC union.

The DRS_MSG_ADDCLONEDCREQ union defines the request messages sent to the IDL_DRSAddCloneDC method.

func (*MessageAddCloneDCRequest) GetValue

func (o *MessageAddCloneDCRequest) GetValue() any

func (*MessageAddCloneDCRequest) MarshalUnionNDR

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

func (*MessageAddCloneDCRequest) NDRSwitchValue

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

func (*MessageAddCloneDCRequest) UnmarshalUnionNDR

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

type MessageAddCloneDCRequestV1

type MessageAddCloneDCRequestV1 struct {
	// pwszCloneDCName:  The new DC name.
	CloneDCName string `idl:"name:pwszCloneDCName;string" json:"clone_dc_name"`
	// pwszSite:  The RDN of the site the new DC will be placed into.
	Site string `idl:"name:pwszSite;string" json:"site"`
}

MessageAddCloneDCRequestV1 structure represents DRS_MSG_ADDCLONEDCREQ_V1 RPC structure.

The DRS_MSG_ADDCLONEDCREQ_V1 structure defines a request message sent to the IDL_DRSAddCloneDC method.

func (*MessageAddCloneDCRequestV1) MarshalNDR

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

func (*MessageAddCloneDCRequestV1) UnmarshalNDR

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

type MessageAddCloneDCRequest_V1

type MessageAddCloneDCRequest_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageAddCloneDCRequestV1 `idl:"name:V1" json:"v1"`
}

MessageAddCloneDCRequest_V1 structure represents DRS_MSG_ADDCLONEDCREQ RPC union arm.

It has following labels: 1

func (*MessageAddCloneDCRequest_V1) MarshalNDR

func (*MessageAddCloneDCRequest_V1) UnmarshalNDR

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

type MessageAddEntryReply

type MessageAddEntryReply struct {
	// Types that are assignable to Value
	//
	// *MessageAddEntryReply_V1
	// *MessageAddEntryReply_V2
	// *MessageAddEntryReply_V3
	Value is_MessageAddEntryReply `json:"value"`
}

MessageAddEntryReply structure represents DRS_MSG_ADDENTRYREPLY RPC union.

The DRS_MSG_ADDENTRYREPLY union defines the response messages received from the IDL_DRSAddEntry method.

func (*MessageAddEntryReply) GetValue

func (o *MessageAddEntryReply) GetValue() any

func (*MessageAddEntryReply) MarshalUnionNDR

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

func (*MessageAddEntryReply) NDRSwitchValue

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

func (*MessageAddEntryReply) UnmarshalUnionNDR

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

type MessageAddEntryReplyV1

type MessageAddEntryReplyV1 struct {
	// Guid:   The objectGUID of the added object.
	GUID *dtyp.GUID `idl:"name:Guid" json:"guid"`
	// Sid:   The objectSid of the added object.
	SID *NT4SID `idl:"name:Sid" json:"sid"`
	// errCode:  0 if successful or a DIRERR error code (section 4.1.1.1.25) if a fatal
	// error occurred.
	ErrorCode uint32 `idl:"name:errCode" json:"error_code"`
	// dsid:  The implementation-specific diagnostic code.
	DSID uint32 `idl:"name:dsid" json:"dsid"`
	// extendedErr:  0, STATUS code, or Windows error code.
	ExtendedError uint32 `idl:"name:extendedErr" json:"extended_error"`
	// extendedData:  The implementation-specific diagnostic code.
	ExtendedData uint32 `idl:"name:extendedData" json:"extended_data"`
	// problem:  0 or PROBLEM error code (section 4.1.1.1.26).
	Problem uint16 `idl:"name:problem" json:"problem"`
}

MessageAddEntryReplyV1 structure represents DRS_MSG_ADDENTRYREPLY_V1 RPC structure.

The DRS_MSG_ADDENTRYREPLY_V1 structure defines the response message received from the IDL_DRSAddEntry method. This response version is obsolete.<7>

func (*MessageAddEntryReplyV1) MarshalNDR

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

func (*MessageAddEntryReplyV1) UnmarshalNDR

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

type MessageAddEntryReplyV2

type MessageAddEntryReplyV2 struct {
	// pErrorObject:  Null, or the identity of the object that was being added when an error
	// occurred.
	ErrorObject *DSName `idl:"name:pErrorObject;pointer:unique" json:"error_object"`
	// errCode:  0 if successful, otherwise a DIRERR error code (section 4.1.1.1.25).
	ErrorCode uint32 `idl:"name:errCode" json:"error_code"`
	// dsid:  The implementation-specific diagnostic code.
	DSID uint32 `idl:"name:dsid" json:"dsid"`
	// extendedErr:  0, STATUS code, or Windows error code.
	ExtendedError uint32 `idl:"name:extendedErr" json:"extended_error"`
	// extendedData:  The implementation-specific diagnostic code.
	ExtendedData uint32 `idl:"name:extendedData" json:"extended_data"`
	// problem:  0 or PROBLEM error code (section 4.1.1.1.26).
	Problem uint16 `idl:"name:problem" json:"problem"`
	// cObjectsAdded:  The count of items in the infoList array.
	ObjectsAddedCount uint32 `idl:"name:cObjectsAdded" json:"objects_added_count"`
	// infoList:  The identities of the added objects. The item order matches the item order
	// of values in the EntInfList field in the request structure.
	InfoList []*AddEntryReplyInfo `idl:"name:infoList;size_is:(cObjectsAdded)" json:"info_list"`
}

MessageAddEntryReplyV2 structure represents DRS_MSG_ADDENTRYREPLY_V2 RPC structure.

The DRS_MSG_ADDENTRYREPLY_V2 structure defines the response message received from the IDL_DRSAddEntry method.

func (*MessageAddEntryReplyV2) MarshalNDR

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

func (*MessageAddEntryReplyV2) UnmarshalNDR

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

type MessageAddEntryReplyV3

type MessageAddEntryReplyV3 struct {
	// pdsErrObject:  Null, or the identity of the object that was being added when an error
	// occurred.
	PdsErrorObject *DSName `idl:"name:pdsErrObject" json:"pds_error_object"`
	// dwErrVer:  MUST be set to 1.
	ErrorVer uint32 `idl:"name:dwErrVer" json:"error_ver"`
	// pErrData:  Null, or an error that occurred while processing the request.
	ErrorData *ErrorData `idl:"name:pErrData;switch_is:dwErrVer" json:"error_data"`
	// cObjectsAdded:  The count of items in the infoList array.
	ObjectsAddedCount uint32 `idl:"name:cObjectsAdded" json:"objects_added_count"`
	// infoList:  The identities of the added objects. The item order matches the item order
	// of values in the EntInfList field in the request structure.
	InfoList []*AddEntryReplyInfo `idl:"name:infoList;size_is:(cObjectsAdded)" json:"info_list"`
}

MessageAddEntryReplyV3 structure represents DRS_MSG_ADDENTRYREPLY_V3 RPC structure.

The DRS_MSG_ADDENTRYREPLY_V3 structure defines the response message received from the IDL_DRSAddEntry method.

func (*MessageAddEntryReplyV3) MarshalNDR

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

func (*MessageAddEntryReplyV3) UnmarshalNDR

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

type MessageAddEntryReply_V1

type MessageAddEntryReply_V1 struct {
	// V1:  Version 1 response (obsolete).
	V1 *MessageAddEntryReplyV1 `idl:"name:V1" json:"v1"`
}

MessageAddEntryReply_V1 structure represents DRS_MSG_ADDENTRYREPLY RPC union arm.

It has following labels: 1

func (*MessageAddEntryReply_V1) MarshalNDR

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

func (*MessageAddEntryReply_V1) UnmarshalNDR

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

type MessageAddEntryReply_V2

type MessageAddEntryReply_V2 struct {
	// V2:  Version 2 response.
	V2 *MessageAddEntryReplyV2 `idl:"name:V2" json:"v2"`
}

MessageAddEntryReply_V2 structure represents DRS_MSG_ADDENTRYREPLY RPC union arm.

It has following labels: 2

func (*MessageAddEntryReply_V2) MarshalNDR

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

func (*MessageAddEntryReply_V2) UnmarshalNDR

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

type MessageAddEntryReply_V3

type MessageAddEntryReply_V3 struct {
	// V3:  Version 3 response.
	V3 *MessageAddEntryReplyV3 `idl:"name:V3" json:"v3"`
}

MessageAddEntryReply_V3 structure represents DRS_MSG_ADDENTRYREPLY RPC union arm.

It has following labels: 3

func (*MessageAddEntryReply_V3) MarshalNDR

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

func (*MessageAddEntryReply_V3) UnmarshalNDR

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

type MessageAddEntryRequest

type MessageAddEntryRequest struct {
	// Types that are assignable to Value
	//
	// *MessageAddEntryRequest_V1
	// *MessageAddEntryRequest_V2
	// *MessageAddEntryRequest_V3
	Value is_MessageAddEntryRequest `json:"value"`
}

MessageAddEntryRequest structure represents DRS_MSG_ADDENTRYREQ RPC union.

The DRS_MSG_ADDENTRYREQ union defines the request messages that are sent to the IDL_DRSAddEntry method.

func (*MessageAddEntryRequest) GetValue

func (o *MessageAddEntryRequest) GetValue() any

func (*MessageAddEntryRequest) MarshalUnionNDR

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

func (*MessageAddEntryRequest) NDRSwitchValue

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

func (*MessageAddEntryRequest) UnmarshalUnionNDR

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

type MessageAddEntryRequestV1

type MessageAddEntryRequestV1 struct {
	// pObject:  The identity of the object to add.
	Object *DSName `idl:"name:pObject;pointer:ref" json:"object"`
	// AttrBlock:  The attributes of the object to add.
	AttributeBlock *AttributeBlock `idl:"name:AttrBlock" json:"attribute_block"`
}

MessageAddEntryRequestV1 structure represents DRS_MSG_ADDENTRYREQ_V1 RPC structure.

The DRS_MSG_ADDENTRYREQ_V1 structure defines the request message sent to the IDL_DRSAddEntry method. This request version is obsolete.<6>

func (*MessageAddEntryRequestV1) MarshalNDR

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

func (*MessageAddEntryRequestV1) UnmarshalNDR

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

type MessageAddEntryRequestV2

type MessageAddEntryRequestV2 struct {
	// EntInfList:  The objects to be added, as specified in section 5.57.
	EntityInfoList *EntityInfoList `idl:"name:EntInfList" json:"entity_info_list"`
}

MessageAddEntryRequestV2 structure represents DRS_MSG_ADDENTRYREQ_V2 RPC structure.

The DRS_MSG_ADDENTRYREQ_V2 structure defines the request message sent to the IDL_DRSAddEntry method.

func (*MessageAddEntryRequestV2) MarshalNDR

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

func (*MessageAddEntryRequestV2) UnmarshalNDR

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

type MessageAddEntryRequestV3

type MessageAddEntryRequestV3 struct {
	// EntInfList:  The objects to be added.
	EntityInfoList *EntityInfoList `idl:"name:EntInfList" json:"entity_info_list"`
	// pClientCreds:  The user credentials to authorize the operation.
	ClientCreds *SecurityBufferDesc `idl:"name:pClientCreds" json:"client_creds"`
}

MessageAddEntryRequestV3 structure represents DRS_MSG_ADDENTRYREQ_V3 RPC structure.

The DRS_MSG_ADDENTRYREQ_V3 structure defines the request message sent to the IDL_DRSAddEntry method.

func (*MessageAddEntryRequestV3) MarshalNDR

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

func (*MessageAddEntryRequestV3) UnmarshalNDR

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

type MessageAddEntryRequest_V1

type MessageAddEntryRequest_V1 struct {
	// V1:  Version 1 request (obsolete).
	V1 *MessageAddEntryRequestV1 `idl:"name:V1" json:"v1"`
}

MessageAddEntryRequest_V1 structure represents DRS_MSG_ADDENTRYREQ RPC union arm.

It has following labels: 1

func (*MessageAddEntryRequest_V1) MarshalNDR

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

func (*MessageAddEntryRequest_V1) UnmarshalNDR

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

type MessageAddEntryRequest_V2

type MessageAddEntryRequest_V2 struct {
	// V2:  Version 2 request.
	V2 *MessageAddEntryRequestV2 `idl:"name:V2" json:"v2"`
}

MessageAddEntryRequest_V2 structure represents DRS_MSG_ADDENTRYREQ RPC union arm.

It has following labels: 2

func (*MessageAddEntryRequest_V2) MarshalNDR

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

func (*MessageAddEntryRequest_V2) UnmarshalNDR

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

type MessageAddEntryRequest_V3

type MessageAddEntryRequest_V3 struct {
	// V3:  Version 3 request.
	V3 *MessageAddEntryRequestV3 `idl:"name:V3" json:"v3"`
}

MessageAddEntryRequest_V3 structure represents DRS_MSG_ADDENTRYREQ RPC union arm.

It has following labels: 3

func (*MessageAddEntryRequest_V3) MarshalNDR

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

func (*MessageAddEntryRequest_V3) UnmarshalNDR

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

type MessageAddReplica

type MessageAddReplica struct {
	// Types that are assignable to Value
	//
	// *MessageAddReplica_V1
	// *MessageAddReplica_V2
	// *MessageAddReplica_V3
	Value is_MessageAddReplica `json:"value"`
}

MessageAddReplica structure represents DRS_MSG_REPADD RPC union.

The DRS_MSG_REPADD union defines request messages that are sent to the IDL_DRSReplicaAdd method.

func (*MessageAddReplica) GetValue

func (o *MessageAddReplica) GetValue() any

func (*MessageAddReplica) MarshalUnionNDR

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

func (*MessageAddReplica) NDRSwitchValue

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

func (*MessageAddReplica) UnmarshalUnionNDR

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

type MessageAddReplicaV1

type MessageAddReplicaV1 struct {
	// pNC:  The NC root of the NC to replicate.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// pszDsaSrc:  The transport-specific NetworkAddress of the DC from which to replicate
	// updates.
	DSASource string `idl:"name:pszDsaSrc;string;pointer:ref" json:"dsa_source"`
	// rtSchedule:  The schedule used to perform periodic replication.
	Schedule *ReplicationTimes `idl:"name:rtSchedule" json:"schedule"`
	// ulOptions:  Zero or more DRS_OPTIONS flags.
	Options uint32 `idl:"name:ulOptions" json:"options"`
}

MessageAddReplicaV1 structure represents DRS_MSG_REPADD_V1 RPC structure.

The DRS_MSG_REPADD_V1 structure defines a request message sent to the IDL_DRSReplicaAdd method.

func (*MessageAddReplicaV1) MarshalNDR

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

func (*MessageAddReplicaV1) UnmarshalNDR

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

type MessageAddReplicaV2

type MessageAddReplicaV2 struct {
	// pNC:  The NC root of the NC to replicate.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// pSourceDsaDN:  The nTDSDSA object for the DC from which to replicate changes.
	SourceDSADN *DSName `idl:"name:pSourceDsaDN;pointer:unique" json:"source_dsa_dn"`
	// pTransportDN:  The interSiteTransport object that identifies the network transport
	// over which replication is to be performed.
	TransportDN *DSName `idl:"name:pTransportDN;pointer:unique" json:"transport_dn"`
	// pszSourceDsaAddress:  The transport-specific NetworkAddress of the DC from which
	// to replicate updates.
	SourceDSAAddress string `idl:"name:pszSourceDsaAddress;string;pointer:ref" json:"source_dsa_address"`
	// rtSchedule:  The schedule used to perform periodic replication.
	Schedule *ReplicationTimes `idl:"name:rtSchedule" json:"schedule"`
	// ulOptions:  Zero or more DRS_OPTIONS flags.
	Options uint32 `idl:"name:ulOptions" json:"options"`
}

MessageAddReplicaV2 structure represents DRS_MSG_REPADD_V2 RPC structure.

The DRS_MSG_REPADD_V2 structure defines a request message sent to the IDL_DRSReplicaAdd method. This request version is a superset of V1.

func (*MessageAddReplicaV2) MarshalNDR

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

func (*MessageAddReplicaV2) UnmarshalNDR

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

type MessageAddReplicaV3

type MessageAddReplicaV3 struct {
	NC               *DSName                   `idl:"name:pNC;pointer:ref" json:"nc"`
	SourceDSADN      *DSName                   `idl:"name:pSourceDsaDN;pointer:unique" json:"source_dsa_dn"`
	TransportDN      *DSName                   `idl:"name:pTransportDN;pointer:unique" json:"transport_dn"`
	SourceDSAAddress string                    `idl:"name:pszSourceDsaAddress;string;pointer:ref" json:"source_dsa_address"`
	Schedule         *ReplicationTimes         `idl:"name:rtSchedule" json:"schedule"`
	Options          uint32                    `idl:"name:ulOptions" json:"options"`
	CorrelationID    *dtyp.GUID                `idl:"name:correlationID" json:"correlation_id"`
	ReservedBuffer   *VarSizeBufferWithVersion `idl:"name:pReservedBuffer;pointer:unique" json:"reserved_buffer"`
}

MessageAddReplicaV3 structure represents DRS_MSG_REPADD_V3 RPC structure.

func (*MessageAddReplicaV3) MarshalNDR

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

func (*MessageAddReplicaV3) UnmarshalNDR

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

type MessageAddReplica_V1

type MessageAddReplica_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageAddReplicaV1 `idl:"name:V1" json:"v1"`
}

MessageAddReplica_V1 structure represents DRS_MSG_REPADD RPC union arm.

It has following labels: 1

func (*MessageAddReplica_V1) MarshalNDR

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

func (*MessageAddReplica_V1) UnmarshalNDR

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

type MessageAddReplica_V2

type MessageAddReplica_V2 struct {
	// V2:  The version 2 request (a superset of V1).
	V2 *MessageAddReplicaV2 `idl:"name:V2" json:"v2"`
}

MessageAddReplica_V2 structure represents DRS_MSG_REPADD RPC union arm.

It has following labels: 2

func (*MessageAddReplica_V2) MarshalNDR

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

func (*MessageAddReplica_V2) UnmarshalNDR

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

type MessageAddReplica_V3

type MessageAddReplica_V3 struct {
	// V3:  The version 3 request (a superset of V2).
	V3 *MessageAddReplicaV3 `idl:"name:V3" json:"v3"`
}

MessageAddReplica_V3 structure represents DRS_MSG_REPADD RPC union arm.

It has following labels: 3

func (*MessageAddReplica_V3) MarshalNDR

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

func (*MessageAddReplica_V3) UnmarshalNDR

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

type MessageAddSIDHistoryReply

type MessageAddSIDHistoryReply struct {
	// Types that are assignable to Value
	//
	// *MessageAddSIDHistoryReply_V1
	Value is_MessageAddSIDHistoryReply `json:"value"`
}

MessageAddSIDHistoryReply structure represents DRS_MSG_ADDSIDREPLY RPC union.

The DRS_MSG_ADDSIDREPLY union defines the response messages received from the IDL_DRSAddSidHistory method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageAddSIDHistoryReply) GetValue

func (o *MessageAddSIDHistoryReply) GetValue() any

func (*MessageAddSIDHistoryReply) MarshalUnionNDR

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

func (*MessageAddSIDHistoryReply) NDRSwitchValue

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

func (*MessageAddSIDHistoryReply) UnmarshalUnionNDR

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

type MessageAddSIDHistoryReplyV1

type MessageAddSIDHistoryReplyV1 struct {
	// dwWin32Error:  Zero if successful, otherwise a Windows error code.
	Win32Error uint32 `idl:"name:dwWin32Error" json:"win32_error"`
}

MessageAddSIDHistoryReplyV1 structure represents DRS_MSG_ADDSIDREPLY_V1 RPC structure.

The DRS_MSG_ADDSIDREPLY_V1 structure defines the response message received from the IDL_DRSAddSidHistory method.

func (*MessageAddSIDHistoryReplyV1) MarshalNDR

func (*MessageAddSIDHistoryReplyV1) UnmarshalNDR

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

type MessageAddSIDHistoryReply_V1

type MessageAddSIDHistoryReply_V1 struct {
	// V1:  Version 1 of the reply packet structure.
	V1 *MessageAddSIDHistoryReplyV1 `idl:"name:V1" json:"v1"`
}

MessageAddSIDHistoryReply_V1 structure represents DRS_MSG_ADDSIDREPLY RPC union arm.

It has following labels: 1

func (*MessageAddSIDHistoryReply_V1) MarshalNDR

func (*MessageAddSIDHistoryReply_V1) UnmarshalNDR

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

type MessageAddSIDHistoryRequest

type MessageAddSIDHistoryRequest struct {
	// Types that are assignable to Value
	//
	// *MessageAddSIDHistoryRequest_V1
	Value is_MessageAddSIDHistoryRequest `json:"value"`
}

MessageAddSIDHistoryRequest structure represents DRS_MSG_ADDSIDREQ RPC union.

The DRS_MSG_ADDSIDREQ union defines the request messages that are sent to the IDL_DRSAddSidHistory method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageAddSIDHistoryRequest) GetValue

func (o *MessageAddSIDHistoryRequest) GetValue() any

func (*MessageAddSIDHistoryRequest) MarshalUnionNDR

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

func (*MessageAddSIDHistoryRequest) NDRSwitchValue

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

func (*MessageAddSIDHistoryRequest) UnmarshalUnionNDR

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

type MessageAddSIDHistoryRequestV1

type MessageAddSIDHistoryRequestV1 struct {
	// Flags:  A set of zero or more DRS_ADDSID_FLAGS bit flags.
	Flags uint32 `idl:"name:Flags" json:"flags"`
	// SrcDomain:  Name of the domain to query for the SID of SrcPrincipal. The domain name
	// can be an FQDN (1) or a NetBIOS name.
	SourceDomain string `idl:"name:SrcDomain;string" json:"source_domain"`
	// SrcPrincipal:  Name of a security principal (user, computer, or group) in the source
	// domain. This is the source security principal, whose SIDs will be added to the destination
	// security principal. If Flags contains DS_ADDSID_FLAG_PRIVATE_CHK_SECURE, this parameter
	// is not used and is not validated. Otherwise, if Flags does not contain DS_ADDSID_FLAG_PRIVATE_DEL_SRC_OBJ,
	// this name is a domain-relative Security Accounts Manager (SAM) name. Otherwise, it
	// is a DN.
	SourcePrincipal string `idl:"name:SrcPrincipal;string" json:"source_principal"`
	// SrcDomainController:  Name of the primary domain controller (PDC) (or PDC role owner)
	// in the source domain. The DC name can be an Internet host name or a NetBIOS name.
	// This parameter is only used when Flags contains neither DS_ADDSID_FLAG_PRIVATE_CHK_SECURE
	// nor DS_ADDSID_FLAG_PRIVATE_DEL_SRC_OBJ. If Flags contains DS_ADDSID_FLAG_PRIVATE_DEL_SRC_OBJ,
	// this parameter is not used, but it is validated.
	SourceDomainController string `idl:"name:SrcDomainController;string;pointer:ptr" json:"source_domain_controller"`
	// SrcCredsUserLength:  Count of characters in the SrcCredsUser array.
	SourceCredsUserLength uint32 `idl:"name:SrcCredsUserLength" json:"source_creds_user_length"`
	// SrcCredsUser:  User name for the credentials to be used in the source domain.
	SourceCredsUser string `idl:"name:SrcCredsUser;size_is:(SrcCredsUserLength)" json:"source_creds_user"`
	// SrcCredsDomainLength:  Count of characters in the SrcCredsDomain array.
	SourceCredsDomainLength uint32 `idl:"name:SrcCredsDomainLength" json:"source_creds_domain_length"`
	// SrcCredsDomain:  Domain name for the credentials to be used in the source domain.
	// The domain name can be an FQDN (1) or a NetBIOS domain name.
	SourceCredsDomain string `idl:"name:SrcCredsDomain;size_is:(SrcCredsDomainLength)" json:"source_creds_domain"`
	// SrcCredsPasswordLength:  Count of characters in the SrcCredsPassword array.
	SourceCredsPasswordLength uint32 `idl:"name:SrcCredsPasswordLength" json:"source_creds_password_length"`
	// SrcCredsPassword:  Password for the credentials to be used in the source domain.
	SourceCredsPassword string `idl:"name:SrcCredsPassword;size_is:(SrcCredsPasswordLength)" json:"source_creds_password"`
	// DstDomain:  Name of the destination domain in which DstPrincipal resides. The domain
	// name can be an FQDN (1) or a NetBIOS name.
	DestinationDomain string `idl:"name:DstDomain;string" json:"destination_domain"`
	// DstPrincipal:  Name of a security principal (user, computer, or group) in the destination
	// domain. This is the destination principal, to which the source principal's SIDs will
	// be added. If Flags contains DS_ADDSID_FLAG_PRIVATE_CHK_SECURE, this parameter is
	// not used and is not validated. Otherwise, if Flags does not contain DS_ADDSID_FLAG_PRIVATE_DEL_SRC_OBJ,
	// this name is a domain-relative SAM name. Otherwise, it is a DN.
	DestinationPrincipal string `idl:"name:DstPrincipal;string" json:"destination_principal"`
}

MessageAddSIDHistoryRequestV1 structure represents DRS_MSG_ADDSIDREQ_V1 RPC structure.

The DRS_MSG_ADDSIDREQ_V1 structure defines the request message sent to the IDL_DRSAddSidHistory method.

func (*MessageAddSIDHistoryRequestV1) MarshalNDR

func (*MessageAddSIDHistoryRequestV1) UnmarshalNDR

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

type MessageAddSIDHistoryRequest_V1

type MessageAddSIDHistoryRequest_V1 struct {
	// V1:  Version 1 request.
	V1 *MessageAddSIDHistoryRequestV1 `idl:"name:V1" json:"v1"`
}

MessageAddSIDHistoryRequest_V1 structure represents DRS_MSG_ADDSIDREQ RPC union arm.

It has following labels: 1

func (*MessageAddSIDHistoryRequest_V1) MarshalNDR

func (*MessageAddSIDHistoryRequest_V1) UnmarshalNDR

type MessageCrackNamesReply

type MessageCrackNamesReply struct {
	// Types that are assignable to Value
	//
	// *MessageCrackNamesReply_V1
	Value is_MessageCrackNamesReply `json:"value"`
}

MessageCrackNamesReply structure represents DRS_MSG_CRACKREPLY RPC union.

The DRS_MSG_CRACKREPLY union defines the response messages received from the IDL_DRSCrackNames method.

func (*MessageCrackNamesReply) GetValue

func (o *MessageCrackNamesReply) GetValue() any

func (*MessageCrackNamesReply) MarshalUnionNDR

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

func (*MessageCrackNamesReply) NDRSwitchValue

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

func (*MessageCrackNamesReply) UnmarshalUnionNDR

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

type MessageCrackNamesReplyV1

type MessageCrackNamesReplyV1 struct {
	// pResult:  Translated form of the names.
	Result *DSNameResult `idl:"name:pResult" json:"result"`
}

MessageCrackNamesReplyV1 structure represents DRS_MSG_CRACKREPLY_V1 RPC structure.

The DRS_MSG_CRACKREPLY_V1 structure defines the response message received from the IDL_DRSCrackNames method.

func (*MessageCrackNamesReplyV1) MarshalNDR

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

func (*MessageCrackNamesReplyV1) UnmarshalNDR

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

type MessageCrackNamesReply_V1

type MessageCrackNamesReply_V1 struct {
	// V1:  Version 1 reply.
	V1 *MessageCrackNamesReplyV1 `idl:"name:V1" json:"v1"`
}

MessageCrackNamesReply_V1 structure represents DRS_MSG_CRACKREPLY RPC union arm.

It has following labels: 1

func (*MessageCrackNamesReply_V1) MarshalNDR

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

func (*MessageCrackNamesReply_V1) UnmarshalNDR

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

type MessageCrackNamesRequest

type MessageCrackNamesRequest struct {
	// Types that are assignable to Value
	//
	// *MessageCrackNamesRequest_V1
	Value is_MessageCrackNamesRequest `json:"value"`
}

MessageCrackNamesRequest structure represents DRS_MSG_CRACKREQ RPC union.

The DRS_MSG_CRACKREQ union defines the request messages sent to the IDL_DRSCrackNames method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageCrackNamesRequest) GetValue

func (o *MessageCrackNamesRequest) GetValue() any

func (*MessageCrackNamesRequest) MarshalUnionNDR

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

func (*MessageCrackNamesRequest) NDRSwitchValue

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

func (*MessageCrackNamesRequest) UnmarshalUnionNDR

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

type MessageCrackNamesRequestV1

type MessageCrackNamesRequestV1 struct {
	// CodePage:  The character set used by the client. This field SHOULD be ignored by
	// the server.
	CodePage uint32 `idl:"name:CodePage" json:"code_page"`
	// LocaleId:  The locale used by the client. This field SHOULD be ignored by the server.
	LocaleID uint32 `idl:"name:LocaleId" json:"locale_id"`
	// dwFlags:  Zero or more of the following bit flags, which are presented in little-endian
	// byte order.
	//
	//	+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 |  4  |  5  | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 |   4   | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |     |     |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |       |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+---+---+---+---+---+---+---+
	//	+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+---+---+---+---+---+---+---+
	//	| X | X | X | X | T R | G C | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | F P O | X | X | X | X | X | X | X |
	//	+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero and ignored.
	//
	// GC (DS_NAME_FLAG_GCVERIFY, 0x00000004): If set, the call fails if the server is not
	// a GC server.
	//
	// TR (DS_NAME_FLAG_TRUST_REFERRAL, 0x00000008): If set and the lookup fails on the
	// server, referrals are returned to trusted forests where the lookup might succeed.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// formatOffered:  The format of the names in rpNames. This can be one of the values
	// from DS_NAME_FORMAT (section 4.1.4.1.3) or one of the following.
	//
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	|                                                |                                                                                  |
	//	|                     VALUE                      |                                     MEANING                                      |
	//	|                                                |                                                                                  |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_SITES 0xFFFFFFFF                       | Get all sites in the forest.                                                     |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_SERVERS_IN_SITE 0xFFFFFFFE             | Get all servers in a given site.                                                 |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_DOMAINS_IN_SITE 0xFFFFFFFD             | Get all domains in a given site.                                                 |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_SERVERS_FOR_DOMAIN_IN_SITE 0xFFFFFFFC  | Get all DCs of a specified domain in a given site.                               |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_INFO_FOR_SERVER 0xFFFFFFFB             | Get DNS host name and server reference for a given DC.                           |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_ROLES 0xFFFFFFFA                       | Get FSMO role owners.                                                            |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_NT4_ACCOUNT_NAME_SANS_DOMAIN 0xFFFFFFF9     | Get value of sAMAccountName attribute.                                           |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_MAP_SCHEMA_GUID 0xFFFFFFF8                  | Get LDAP display name from schema GUID. The given schema GUID must be in the     |
	//	|                                                | curly braced GUID string format as specified in [MS-DTYP] section 2.3.4.3.       |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_DOMAINS 0xFFFFFFF7                     | Get all domains in the forest.                                                   |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_NCS 0xFFFFFFF6                         | Get all NCs in the forest.                                                       |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_ALT_SECURITY_IDENTITIES_NAME 0xFFFFFFF5     | Compares input names against the values of the altSecurityIdentities attribute.  |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_STRING_SID_NAME 0xFFFFFFF4                  | String form of SID.                                                              |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_SERVERS_WITH_DCS_IN_SITE 0xFFFFFFF3    | Get all DCs in a given site.                                                     |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_LIST_GLOBAL_CATALOG_SERVERS 0xFFFFFFF1      | Get all GCs in the forest.                                                       |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_NT4_ACCOUNT_NAME_SANS_DOMAIN_EX 0xFFFFFFF0  | Get value of sAMAccountName attribute; return status DS_NAME_ERROR_NOT_FOUND if  |
	//	|                                                | account is invalid.                                                              |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	//	| DS_USER_PRINCIPAL_NAME_AND_ALTSECID 0xFFFFFFEF | Compares input names against the user principal name and the values of the       |
	//	|                                                | altSecurityIdentities attribute.                                                 |
	//	+------------------------------------------------+----------------------------------------------------------------------------------+
	FormatOffered uint32 `idl:"name:formatOffered" json:"format_offered"`
	// formatDesired:  Format of the names in the rItems field of the DS_NAME_RESULTW structure,
	// which is returned inside the DRS_MSG_CRACKREPLY message. This can be one of the values
	// from DS_NAME_FORMAT or one of the following.
	//
	//	+---------------------------------------------+-----------------------+
	//	|                                             |                       |
	//	|                    VALUE                    |        MEANING        |
	//	|                                             |                       |
	//	+---------------------------------------------+-----------------------+
	//	+---------------------------------------------+-----------------------+
	//	| DS_STRING_SID_NAME 0xFFFFFFF4               | String form of a SID. |
	//	+---------------------------------------------+-----------------------+
	//	| DS_USER_PRINCIPAL_NAME_FOR_LOGON 0xFFFFFFF2 | User principal name.  |
	//	+---------------------------------------------+-----------------------+
	FormatDesired uint32 `idl:"name:formatDesired" json:"format_desired"`
	// cNames:  Count of items in the rpNames array.
	NamesCount uint32 `idl:"name:cNames" json:"names_count"`
	// rpNames:  Input names to translate.
	Names []string `idl:"name:rpNames;size_is:(cNames);string" json:"names"`
}

MessageCrackNamesRequestV1 structure represents DRS_MSG_CRACKREQ_V1 RPC structure.

The DRS_MSG_CRACKREQ_V1 structure defines the request message sent to the IDL_DRSCrackNames method.

func (*MessageCrackNamesRequestV1) MarshalNDR

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

func (*MessageCrackNamesRequestV1) UnmarshalNDR

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

type MessageCrackNamesRequest_V1

type MessageCrackNamesRequest_V1 struct {
	// V1:  Version 1 request.
	V1 *MessageCrackNamesRequestV1 `idl:"name:V1" json:"v1"`
}

MessageCrackNamesRequest_V1 structure represents DRS_MSG_CRACKREQ RPC union arm.

It has following labels: 1

func (*MessageCrackNamesRequest_V1) MarshalNDR

func (*MessageCrackNamesRequest_V1) UnmarshalNDR

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

type MessageDCInfoReply

type MessageDCInfoReply struct {
	// Types that are assignable to Value
	//
	// *MessageDCInfoReply_V1
	// *MessageDCInfoReply_V2
	// *MessageDCInfoReply_V3
	// *MessageDCInfoReply_VQ
	Value is_MessageDCInfoReply `json:"value"`
}

MessageDCInfoReply structure represents DRS_MSG_DCINFOREPLY RPC union.

The DRS_MSG_DCINFOREPLY union defines the response messages received from the IDL_DRSDomainControllerInfo method.

func (*MessageDCInfoReply) GetValue

func (o *MessageDCInfoReply) GetValue() any

func (*MessageDCInfoReply) MarshalUnionNDR

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

func (*MessageDCInfoReply) NDRSwitchValue

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

func (*MessageDCInfoReply) UnmarshalUnionNDR

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

type MessageDCInfoReplyV1

type MessageDCInfoReplyV1 struct {
	// cItems:  Count of items in the rItems array.
	ItemsCount uint32 `idl:"name:cItems" json:"items_count"`
	// rItems:  DC information.
	Items []*DSDomainControllerInfoV1 `idl:"name:rItems;size_is:(cItems)" json:"items"`
}

MessageDCInfoReplyV1 structure represents DRS_MSG_DCINFOREPLY_V1 RPC structure.

The DRS_MSG_DCINFOREPLY_V1 structure defines the response message received from the IDL_DRSDomainControllerInfo method, when the client has requested InfoLevel = 1.

func (*MessageDCInfoReplyV1) MarshalNDR

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

func (*MessageDCInfoReplyV1) UnmarshalNDR

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

type MessageDCInfoReplyV2

type MessageDCInfoReplyV2 struct {
	// cItems:  Count of items in the rItems array.
	ItemsCount uint32 `idl:"name:cItems" json:"items_count"`
	// rItems:  DC information.
	Items []*DSDomainControllerInfoV2 `idl:"name:rItems;size_is:(cItems)" json:"items"`
}

MessageDCInfoReplyV2 structure represents DRS_MSG_DCINFOREPLY_V2 RPC structure.

The DRS_MSG_DCINFOREPLY_V2 structure defines the response message received from the IDL_DRSDomainControllerInfo method, when the client has requested InfoLevel = 2.

func (*MessageDCInfoReplyV2) MarshalNDR

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

func (*MessageDCInfoReplyV2) UnmarshalNDR

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

type MessageDCInfoReplyV3

type MessageDCInfoReplyV3 struct {
	// cItems:  Count of items in the rItems array.
	ItemsCount uint32 `idl:"name:cItems" json:"items_count"`
	// rItems:  DC information.
	Items []*DSDomainControllerInfoV3 `idl:"name:rItems;size_is:(cItems)" json:"items"`
}

MessageDCInfoReplyV3 structure represents DRS_MSG_DCINFOREPLY_V3 RPC structure.

The DRS_MSG_DCINFOREPLY_V3 structure defines the response message received from the IDL_DRSDomainControllerInfo method when the client has requested InfoLevel = 3.

func (*MessageDCInfoReplyV3) MarshalNDR

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

func (*MessageDCInfoReplyV3) UnmarshalNDR

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

type MessageDCInfoReplyVQ

type MessageDCInfoReplyVQ struct {
	// cItems:  The count of items in the rItems array.
	ItemsCount uint32 `idl:"name:cItems" json:"items_count"`
	// rItems:  Information about the active LDAP connections.
	Items []*DSDomainControllerInfoVQ `idl:"name:rItems;size_is:(cItems)" json:"items"`
}

MessageDCInfoReplyVQ structure represents DRS_MSG_DCINFOREPLY_VFFFFFFFF RPC structure.

The DRS_MSG_DCINFOREPLY_VFFFFFFFF structure defines the response message received from the IDL_DRSDomainControllerInfo method, when the client has requested InfoLevel = 0xFFFFFFFF.

func (*MessageDCInfoReplyVQ) MarshalNDR

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

func (*MessageDCInfoReplyVQ) UnmarshalNDR

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

type MessageDCInfoReply_V1

type MessageDCInfoReply_V1 struct {
	// V1:  Version 1 response.
	V1 *MessageDCInfoReplyV1 `idl:"name:V1" json:"v1"`
}

MessageDCInfoReply_V1 structure represents DRS_MSG_DCINFOREPLY RPC union arm.

It has following labels: 1

func (*MessageDCInfoReply_V1) MarshalNDR

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

func (*MessageDCInfoReply_V1) UnmarshalNDR

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

type MessageDCInfoReply_V2

type MessageDCInfoReply_V2 struct {
	// V2:  Version 2 response.
	V2 *MessageDCInfoReplyV2 `idl:"name:V2" json:"v2"`
}

MessageDCInfoReply_V2 structure represents DRS_MSG_DCINFOREPLY RPC union arm.

It has following labels: 2

func (*MessageDCInfoReply_V2) MarshalNDR

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

func (*MessageDCInfoReply_V2) UnmarshalNDR

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

type MessageDCInfoReply_V3

type MessageDCInfoReply_V3 struct {
	// V3:  Version 3 response.
	V3 *MessageDCInfoReplyV3 `idl:"name:V3" json:"v3"`
}

MessageDCInfoReply_V3 structure represents DRS_MSG_DCINFOREPLY RPC union arm.

It has following labels: 3

func (*MessageDCInfoReply_V3) MarshalNDR

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

func (*MessageDCInfoReply_V3) UnmarshalNDR

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

type MessageDCInfoReply_VQ

type MessageDCInfoReply_VQ struct {
	// VFFFFFFFF:  Version 0xFFFFFFFF response.
	VQ *MessageDCInfoReplyVQ `idl:"name:VFFFFFFFF" json:"vq"`
}

MessageDCInfoReply_VQ structure represents DRS_MSG_DCINFOREPLY RPC union arm.

It has following labels: 4294967295

func (*MessageDCInfoReply_VQ) MarshalNDR

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

func (*MessageDCInfoReply_VQ) UnmarshalNDR

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

type MessageDCInfoRequest

type MessageDCInfoRequest struct {
	// Types that are assignable to Value
	//
	// *MessageDCInfoRequest_V1
	Value is_MessageDCInfoRequest `json:"value"`
}

MessageDCInfoRequest structure represents DRS_MSG_DCINFOREQ RPC union.

The DRS_MSG_DCINFOREQ union defines the request messages sent to the IDL_DRSDomainControllerInfo method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageDCInfoRequest) GetValue

func (o *MessageDCInfoRequest) GetValue() any

func (*MessageDCInfoRequest) MarshalUnionNDR

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

func (*MessageDCInfoRequest) NDRSwitchValue

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

func (*MessageDCInfoRequest) UnmarshalUnionNDR

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

type MessageDCInfoRequestV1

type MessageDCInfoRequestV1 struct {
	// Domain:  The domain for which the client requests information. The domain can be
	// an FQDN (1) or a NetBIOS domain name.
	Domain string `idl:"name:Domain;string" json:"domain"`
	// InfoLevel:  The response version requested by the client: 1, 2, 3, or 0xFFFFFFFF.
	// The responses at InfoLevel 1, 2, and 3 all contain information about DCs in the given
	// domain. The information at InfoLevel 1 is a subset of the information at InfoLevel
	// 2, which is a subset of the information at InfoLevel 3. InfoLevel 3 includes information
	// about the RODCs in the given domain. InfoLevel 0xFFFFFFFF server returns information
	// about the active LDAP connections.
	InfoLevel uint32 `idl:"name:InfoLevel" json:"info_level"`
}

MessageDCInfoRequestV1 structure represents DRS_MSG_DCINFOREQ_V1 RPC structure.

The DRS_MSG_DCINFOREQ_V1 structure defines the request message sent to the IDL_DRSDomainControllerInfo method.

func (*MessageDCInfoRequestV1) MarshalNDR

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

func (*MessageDCInfoRequestV1) UnmarshalNDR

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

type MessageDCInfoRequest_V1

type MessageDCInfoRequest_V1 struct {
	// V1:  Version 1 request.
	V1 *MessageDCInfoRequestV1 `idl:"name:V1" json:"v1"`
}

MessageDCInfoRequest_V1 structure represents DRS_MSG_DCINFOREQ RPC union arm.

It has following labels: 1

func (*MessageDCInfoRequest_V1) MarshalNDR

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

func (*MessageDCInfoRequest_V1) UnmarshalNDR

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

type MessageDeleteReplica

type MessageDeleteReplica struct {
	// Types that are assignable to Value
	//
	// *MessageDeleteReplica_V1
	Value is_MessageDeleteReplica `json:"value"`
}

MessageDeleteReplica structure represents DRS_MSG_REPDEL RPC union.

The DRS_MSG_REPDEL union defines the request messages sent to the IDL_DRSReplicaDel method. Only one version, identified by dwVersion = 1, is currently defined.

func (*MessageDeleteReplica) GetValue

func (o *MessageDeleteReplica) GetValue() any

func (*MessageDeleteReplica) MarshalUnionNDR

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

func (*MessageDeleteReplica) NDRSwitchValue

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

func (*MessageDeleteReplica) UnmarshalUnionNDR

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

type MessageDeleteReplicaV1

type MessageDeleteReplicaV1 struct {
	// pNC:  A pointer to DSName of the root of an NC replica on the server.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// pszDsaSrc:  The transport-specific NetworkAddress of a DC.
	DSASource string `idl:"name:pszDsaSrc;string" json:"dsa_source"`
	// ulOptions:  The DRS_OPTIONS flags.
	Options uint32 `idl:"name:ulOptions" json:"options"`
}

MessageDeleteReplicaV1 structure represents DRS_MSG_REPDEL_V1 RPC structure.

The DRS_MSG_REPDEL_V1 structure defines a request message sent to the IDL_DRSReplicaDel method.

func (*MessageDeleteReplicaV1) MarshalNDR

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

func (*MessageDeleteReplicaV1) UnmarshalNDR

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

type MessageDeleteReplica_V1

type MessageDeleteReplica_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageDeleteReplicaV1 `idl:"name:V1" json:"v1"`
}

MessageDeleteReplica_V1 structure represents DRS_MSG_REPDEL RPC union arm.

It has following labels: 1

func (*MessageDeleteReplica_V1) MarshalNDR

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

func (*MessageDeleteReplica_V1) UnmarshalNDR

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

type MessageExistReply

type MessageExistReply struct {
	// Types that are assignable to Value
	//
	// *MessageExistReply_V1
	Value is_MessageExistReply `json:"value"`
}

MessageExistReply structure represents DRS_MSG_EXISTREPLY RPC union.

The DRS_MSG_EXISTREPLY union defines the response message versions received from the IDL_DRSGetObjectExistence method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageExistReply) GetValue

func (o *MessageExistReply) GetValue() any

func (*MessageExistReply) MarshalUnionNDR

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

func (*MessageExistReply) NDRSwitchValue

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

func (*MessageExistReply) UnmarshalUnionNDR

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

type MessageExistReplyV1

type MessageExistReplyV1 struct {
	// dwStatusFlags:  1 if the digests of the object sequences on the client and server
	// are the same, 0 if they are different.
	StatusFlags uint32 `idl:"name:dwStatusFlags" json:"status_flags"`
	// cNumGuids:  The number of items in the rgGuids array. Zero if dwStatusFlags = 0.
	GUIDsCount uint32 `idl:"name:cNumGuids" json:"guids_count"`
	// rgGuids:   The objectGUIDs of the objects in the server's object sequence.
	GUIDs []*dtyp.UUID `idl:"name:rgGuids;size_is:(cNumGuids)" json:"guids"`
}

MessageExistReplyV1 structure represents DRS_MSG_EXISTREPLY_V1 RPC structure.

The DRS_MSG_EXISTREPLY_V1 structure defines the response message received from the IDL_DRSGetObjectExistence method.

func (*MessageExistReplyV1) MarshalNDR

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

func (*MessageExistReplyV1) UnmarshalNDR

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

type MessageExistReply_V1

type MessageExistReply_V1 struct {
	// V1:  The version 1 response.
	V1 *MessageExistReplyV1 `idl:"name:V1" json:"v1"`
}

MessageExistReply_V1 structure represents DRS_MSG_EXISTREPLY RPC union arm.

It has following labels: 1

func (*MessageExistReply_V1) MarshalNDR

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

func (*MessageExistReply_V1) UnmarshalNDR

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

type MessageExistRequest

type MessageExistRequest struct {
	// Types that are assignable to Value
	//
	// *MessageExistRequest_V1
	Value is_MessageExistRequest `json:"value"`
}

MessageExistRequest structure represents DRS_MSG_EXISTREQ RPC union.

The DRS_MSG_EXISTREQ union defines request messages sent to the IDL_DRSGetObjectExistence method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageExistRequest) GetValue

func (o *MessageExistRequest) GetValue() any

func (*MessageExistRequest) MarshalUnionNDR

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

func (*MessageExistRequest) NDRSwitchValue

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

func (*MessageExistRequest) UnmarshalUnionNDR

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

type MessageExistRequestV1

type MessageExistRequestV1 struct {
	// guidStart:  The objectGUID of the first object in the client's object sequence.
	Start *dtyp.UUID `idl:"name:guidStart" json:"start"`
	// cGuids:  The number of objects in the client's object sequence.
	GUIDsCount uint32 `idl:"name:cGuids" json:"guids_count"`
	// pNC:  The NC containing the objects in the sequence.
	NC *DSName `idl:"name:pNC" json:"nc"`
	// pUpToDateVecCommonV1:  The filter excluding objects from the client's object sequence.
	UpToDateVectorCommonV1 *UpToDateVectorV1Ext `idl:"name:pUpToDateVecCommonV1" json:"up_to_date_vector_common_v1"`
	// Md5Digest:  The digest of the objectGUID values of the objects in the client's object
	// sequence.
	MD5Digest []byte `idl:"name:Md5Digest" json:"md5_digest"`
}

MessageExistRequestV1 structure represents DRS_MSG_EXISTREQ_V1 RPC structure.

The DRS_MSG_EXISTREQ_V1 structure defines the request message sent to the IDL_DRSGetObjectExistence method.

func (*MessageExistRequestV1) MarshalNDR

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

func (*MessageExistRequestV1) UnmarshalNDR

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

type MessageExistRequest_V1

type MessageExistRequest_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageExistRequestV1 `idl:"name:V1" json:"v1"`
}

MessageExistRequest_V1 structure represents DRS_MSG_EXISTREQ RPC union arm.

It has following labels: 1

func (*MessageExistRequest_V1) MarshalNDR

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

func (*MessageExistRequest_V1) UnmarshalNDR

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

type MessageFinishDemotionReply

type MessageFinishDemotionReply struct {
	// Types that are assignable to Value
	//
	// *MessageFinishDemotionReply_V1
	Value is_MessageFinishDemotionReply `json:"value"`
}

MessageFinishDemotionReply structure represents DRS_MSG_FINISH_DEMOTIONREPLY RPC union.

The DRS_MSG_FINISH_DEMOTIONREPLY union defines the response messages received from the IDL_DRSFinishDemotion method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageFinishDemotionReply) GetValue

func (o *MessageFinishDemotionReply) GetValue() any

func (*MessageFinishDemotionReply) MarshalUnionNDR

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

func (*MessageFinishDemotionReply) NDRSwitchValue

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

func (*MessageFinishDemotionReply) UnmarshalUnionNDR

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

type MessageFinishDemotionReplyV1

type MessageFinishDemotionReplyV1 struct {
	// dwOperationsDone:  The set of operations that were successfully performed. This can
	// include the following values: DS_DEMOTE_ROLLBACK_DEMOTE, DS_DEMOTE_COMMIT_DEMOTE,
	// DS_DEMOTE_DELETE_CSMETA, DS_DEMOTE_UNREGISTER_SCPS, DS_DEMOTE_UNREGISTER_SPNS. This
	// MUST include any value from the input element DRS_MSG_FINISH_DEMOTIONREQ_V1.dwOperations
	// whose corresponding operations (see pseudocode in section 4.1.7.3) succeeded.
	OperationsDone uint32 `idl:"name:dwOperationsDone" json:"operations_done"`
	// dwOpFailed:  The set of operations that failed during demotion. This can include
	// the same values as the dwOperationsDone field. This MUST include any value from the
	// input element DRS_MSG_FINISH_DEMOTIONREQ_V1.dwOperations whose corresponding operations
	// (see pseudocode in section 4.1.7.3) failed.
	OperationFailed uint32 `idl:"name:dwOpFailed" json:"operation_failed"`
	// dwOpError:  The Win32 error code (as specified in [MS-ERREF] section 2.2) of the
	// first failed operation (if any), from the following operations: DS_DEMOTE_ROLLBACK_DEMOTE,
	// DS_DEMOTE_COMMIT_DEMOTE, DS_DEMOTE_DELETE_CSMETA, or DS_DEMOTE_UNREGISTER_SCPS.
	OperationError uint32 `idl:"name:dwOpError" json:"operation_error"`
}

MessageFinishDemotionReplyV1 structure represents DRS_MSG_FINISH_DEMOTIONREPLY_V1 RPC structure.

The DRS_MSG_FINISH_DEMOTIONREPLY_V1 structure defines the response message received from the IDL_DRSFinishDemotion method.

func (*MessageFinishDemotionReplyV1) MarshalNDR

func (*MessageFinishDemotionReplyV1) UnmarshalNDR

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

type MessageFinishDemotionReply_V1

type MessageFinishDemotionReply_V1 struct {
	// V1:  Version 1 reply.
	V1 *MessageFinishDemotionReplyV1 `idl:"name:V1" json:"v1"`
}

MessageFinishDemotionReply_V1 structure represents DRS_MSG_FINISH_DEMOTIONREPLY RPC union arm.

It has following labels: 1

func (*MessageFinishDemotionReply_V1) MarshalNDR

func (*MessageFinishDemotionReply_V1) UnmarshalNDR

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

type MessageFinishDemotionRequest

type MessageFinishDemotionRequest struct {
	// Types that are assignable to Value
	//
	// *MessageFinishDemotionRequest_V1
	Value is_MessageFinishDemotionRequest `json:"value"`
}

MessageFinishDemotionRequest structure represents DRS_MSG_FINISH_DEMOTIONREQ RPC union.

The DRS_MSG_FINISH_DEMOTIONREQ union defines the request messages sent to the IDL_DRSFinishDemotion method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageFinishDemotionRequest) GetValue

func (o *MessageFinishDemotionRequest) GetValue() any

func (*MessageFinishDemotionRequest) MarshalUnionNDR

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

func (*MessageFinishDemotionRequest) NDRSwitchValue

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

func (*MessageFinishDemotionRequest) UnmarshalUnionNDR

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

type MessageFinishDemotionRequestV1

type MessageFinishDemotionRequestV1 struct {
	// dwOperations:  Zero or more of the following bit flags, which are presented in little-endian
	// byte order.
	//
	//	+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 |  3  |  4  | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |     |     |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| X | X | X | U 2 | U 1 | D | C | R | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | F | X | X | X | X | X | X | X |
	//	+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero and ignored.
	//
	// R (DS_DEMOTE_ROLLBACK_DEMOTE, 0x00000001): Undo the effects of IDL_DRSInitDemotion.
	// If present, any other flags present (except for DS_DEMOTE_OPT_FAIL_ON_UNKNOWN) are
	// ignored.
	//
	// C (DS_DEMOTE_COMMIT_DEMOTE, 0x00000002): Discontinue being a DC for the current DC
	// instance by stopping all AD LDS protocols.
	//
	// D (DS_DEMOTE_DELETE_CSMETA, 0x00000004): Delete the nTDSDSA object for this DC; see
	// RemoveADLDSServer (section 4.1.7.2.1).
	//
	// U1 (DS_DEMOTE_UNREGISTER_SCPS, 0x00000008): Delete any serviceConnectionPoint objects
	// for this DC from AD DS; see RemoveADLDSSCP (section 4.1.7.2.2).
	//
	// U2 (DS_DEMOTE_UNREGISTER_SPNS, 0x00000010): Delete any AD LDS SPNs from the object
	// (in the external AD DS domain) that corresponds to the security principal that the
	// AD LDS service is running as; see RemoveADLDSSPNs (section 4.1.7.2.3).
	Operations uint32 `idl:"name:dwOperations" json:"operations"`
	// uuidHelperDest: Unused. Must be NULL GUID and ignored.
	HelperDestination *dtyp.UUID `idl:"name:uuidHelperDest" json:"helper_destination"`
	// szScriptBase: The path name of the folder in which to store SPN unregistration scripts.
	// Required when DS_DEMOTE_UNREGISTER_SPNS is specified in dwOperations.
	ScriptBase string `idl:"name:szScriptBase;string" json:"script_base"`
}

MessageFinishDemotionRequestV1 structure represents DRS_MSG_FINISH_DEMOTIONREQ_V1 RPC structure.

The DRS_MSG_FINISH_DEMOTIONREQ_V1 structure defines the request message sent to the IDL_DRSFinishDemotion method.

func (*MessageFinishDemotionRequestV1) MarshalNDR

func (*MessageFinishDemotionRequestV1) UnmarshalNDR

type MessageFinishDemotionRequest_V1

type MessageFinishDemotionRequest_V1 struct {
	// V1:  Version 1 request. Currently, only one version is defined.
	V1 *MessageFinishDemotionRequestV1 `idl:"name:V1" json:"v1"`
}

MessageFinishDemotionRequest_V1 structure represents DRS_MSG_FINISH_DEMOTIONREQ RPC union arm.

It has following labels: 1

func (*MessageFinishDemotionRequest_V1) MarshalNDR

func (*MessageFinishDemotionRequest_V1) UnmarshalNDR

type MessageGetMemberships2Reply

type MessageGetMemberships2Reply struct {
	// Types that are assignable to Value
	//
	// *MessageGetMemberships2Reply_V1
	Value is_MessageGetMemberships2Reply `json:"value"`
}

MessageGetMemberships2Reply structure represents DRS_MSG_GETMEMBERSHIPS2_REPLY RPC union.

The DRS_MSG_GETMEMBERSHIPS2_REPLY union defines response messages received from the IDL_DRSGetMemberships2 method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageGetMemberships2Reply) GetValue

func (o *MessageGetMemberships2Reply) GetValue() any

func (*MessageGetMemberships2Reply) MarshalUnionNDR

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

func (*MessageGetMemberships2Reply) NDRSwitchValue

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

func (*MessageGetMemberships2Reply) UnmarshalUnionNDR

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

type MessageGetMemberships2ReplyV1

type MessageGetMemberships2ReplyV1 struct {
	// Count:  Count of items in the Replies array.
	Count uint32 `idl:"name:Count" json:"count"`
	// Replies:  Sequence of reverse membership replies, in the same order as the Requests
	// field of the request message.
	Replies []*MessageReverseMembershipReplyV1 `idl:"name:Replies;size_is:(Count)" json:"replies"`
}

MessageGetMemberships2ReplyV1 structure represents DRS_MSG_GETMEMBERSHIPS2_REPLY_V1 RPC structure.

The DRS_MSG_GETMEMBERSHIPS2_REPLY_V1 structure defines the response message received from the IDL_DRSGetMemberships2 method.

func (*MessageGetMemberships2ReplyV1) MarshalNDR

func (*MessageGetMemberships2ReplyV1) UnmarshalNDR

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

type MessageGetMemberships2Reply_V1

type MessageGetMemberships2Reply_V1 struct {
	// V1:  Version 1 response.
	V1 *MessageGetMemberships2ReplyV1 `idl:"name:V1" json:"v1"`
}

MessageGetMemberships2Reply_V1 structure represents DRS_MSG_GETMEMBERSHIPS2_REPLY RPC union arm.

It has following labels: 1

func (*MessageGetMemberships2Reply_V1) MarshalNDR

func (*MessageGetMemberships2Reply_V1) UnmarshalNDR

type MessageGetMemberships2Request

type MessageGetMemberships2Request struct {
	// Types that are assignable to Value
	//
	// *MessageGetMemberships2Request_V1
	Value is_MessageGetMemberships2Request `json:"value"`
}

MessageGetMemberships2Request structure represents DRS_MSG_GETMEMBERSHIPS2_REQ RPC union.

The DRS_MSG_GETMEMBERSHIPS2_REQ union defines request messages sent to the IDL_DRSGetMemberships2 method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageGetMemberships2Request) GetValue

func (o *MessageGetMemberships2Request) GetValue() any

func (*MessageGetMemberships2Request) MarshalUnionNDR

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

func (*MessageGetMemberships2Request) NDRSwitchValue

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

func (*MessageGetMemberships2Request) UnmarshalUnionNDR

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

type MessageGetMemberships2RequestV1

type MessageGetMemberships2RequestV1 struct {
	// Count:  Count of items in the Requests array.
	Count uint32 `idl:"name:Count" json:"count"`
	// Requests:  Sequence of reverse membership requests.
	Requests []*MessageReverseMembershipRequestV1 `idl:"name:Requests;size_is:(Count)" json:"requests"`
}

MessageGetMemberships2RequestV1 structure represents DRS_MSG_GETMEMBERSHIPS2_REQ_V1 RPC structure.

The DRS_MSG_GETMEMBERSHIPS2_REQ_V1 structure defines the request message sent to the IDL_DRSGetMemberships2 method.

func (*MessageGetMemberships2RequestV1) MarshalNDR

func (*MessageGetMemberships2RequestV1) UnmarshalNDR

type MessageGetMemberships2Request_V1

type MessageGetMemberships2Request_V1 struct {
	// V1:  Version 1 request.
	V1 *MessageGetMemberships2RequestV1 `idl:"name:V1" json:"v1"`
}

MessageGetMemberships2Request_V1 structure represents DRS_MSG_GETMEMBERSHIPS2_REQ RPC union arm.

It has following labels: 1

func (*MessageGetMemberships2Request_V1) MarshalNDR

func (*MessageGetMemberships2Request_V1) UnmarshalNDR

type MessageGetNCChangesReply

type MessageGetNCChangesReply struct {
	// Types that are assignable to Value
	//
	// *MessageGetNCChangesReply_V1
	// *MessageGetNCChangesReply_V2
	// *MessageGetNCChangesReply_V6
	// *MessageGetNCChangesReply_V7
	// *MessageGetNCChangesReply_V9
	Value is_MessageGetNCChangesReply `json:"value"`
}

MessageGetNCChangesReply structure represents DRS_MSG_GETCHGREPLY RPC union.

The DRS_MSG_GETCHGREPLY union defines the response messages received from the IDL_DRSGetNCChanges method. There are no V3, V4, V5, or V8 messages.

func (*MessageGetNCChangesReply) GetValue

func (o *MessageGetNCChangesReply) GetValue() any

func (*MessageGetNCChangesReply) MarshalUnionNDR

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

func (*MessageGetNCChangesReply) NDRSwitchValue

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

func (*MessageGetNCChangesReply) UnmarshalUnionNDR

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

type MessageGetNCChangesReplyV1

type MessageGetNCChangesReplyV1 struct {
	// uuidDsaObjSrc:  DSA GUID of the server DC.
	DSAObjectSource *dtyp.UUID `idl:"name:uuidDsaObjSrc" json:"dsa_object_source"`
	// uuidInvocIdSrc:  Invocation ID of the server DC.
	InvocationIDSource *dtyp.UUID `idl:"name:uuidInvocIdSrc" json:"invocation_id_source"`
	// pNC:  The NC root of the replica to replicate or the FSMO role object for an extended
	// operation.
	NC *DSName `idl:"name:pNC;pointer:unique" json:"nc"`
	// usnvecFrom:  Data used to correlate calls to IDL_DRSGetNCChanges.
	From *Vector `idl:"name:usnvecFrom" json:"from"`
	// usnvecTo:  Data used to correlate calls to IDL_DRSGetNCChanges.
	To *Vector `idl:"name:usnvecTo" json:"to"`
	// pUpToDateVecSrcV1:  Stamp filter that describes updates the server has already applied.
	UpToDateVectorSourceV1 *UpToDateVectorV1Ext `idl:"name:pUpToDateVecSrcV1;pointer:unique" json:"up_to_date_vector_source_v1"`
	// PrefixTableSrc:  Table for translating ATTRTYP values in the response to OIDs.
	PrefixTableSource *SchemaPrefixTable `idl:"name:PrefixTableSrc" json:"prefix_table_source"`
	// ulExtendedRet:  0 or an EXOP_ERR code (section 4.1.10.2.21).
	ExtendedReturn uint32 `idl:"name:ulExtendedRet" json:"extended_return"`
	// cNumObjects:  Count of items in the pObjects linked list.
	ObjectsCount uint32 `idl:"name:cNumObjects" json:"objects_count"`
	// cNumBytes:  Size in bytes of items in or referenced by elements in the pObjects linked
	// list.
	BytesCount uint32 `idl:"name:cNumBytes" json:"bytes_count"`
	// pObjects:  Linked list of object updates that the client applies to its NC replica.
	Objects *ReplicationEntityInfoList `idl:"name:pObjects;pointer:unique" json:"objects"`
	// fMoreData:  False if and only if this is the last response in a replication cycle.
	MoreData bool `idl:"name:fMoreData" json:"more_data"`
}

MessageGetNCChangesReplyV1 structure represents DRS_MSG_GETCHGREPLY_V1 RPC structure.

The DRS_MSG_GETCHGREPLY_V1 structure defines the response message received from the IDL_DRSGetNCChanges method.

func (*MessageGetNCChangesReplyV1) MarshalNDR

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

func (*MessageGetNCChangesReplyV1) UnmarshalNDR

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

type MessageGetNCChangesReplyV2

type MessageGetNCChangesReplyV2 struct {
	// CompressedV1:  Compressed DRS_MSG_GETCHGREPLY_V1 response.
	CompressedV1 *CompressedBlob `idl:"name:CompressedV1" json:"compressed_v1"`
}

MessageGetNCChangesReplyV2 structure represents DRS_MSG_GETCHGREPLY_V2 RPC structure.

The DRS_MSG_GETCHGREPLY_V2 structure defines the compressed DRS_MSG_GETCHGREPLY_V1 message received from the IDL_DRSGetNCChanges method.

func (*MessageGetNCChangesReplyV2) MarshalNDR

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

func (*MessageGetNCChangesReplyV2) UnmarshalNDR

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

type MessageGetNCChangesReplyV6

type MessageGetNCChangesReplyV6 struct {
	// uuidDsaObjSrc:  DSA GUID of the server DC.
	DSAObjectSource *dtyp.UUID `idl:"name:uuidDsaObjSrc" json:"dsa_object_source"`
	// uuidInvocIdSrc:  Invocation ID of the server DC.
	InvocationIDSource *dtyp.UUID `idl:"name:uuidInvocIdSrc" json:"invocation_id_source"`
	// pNC:  The NC root of the replica to replicate or the FSMO role object for an extended
	// operation.
	NC *DSName `idl:"name:pNC;pointer:unique" json:"nc"`
	// usnvecFrom:  Data used to correlate calls to IDL_DRSGetNCChanges.
	From *Vector `idl:"name:usnvecFrom" json:"from"`
	// usnvecTo:  Data used to correlate calls to IDL_DRSGetNCChanges.
	To *Vector `idl:"name:usnvecTo" json:"to"`
	// pUpToDateVecSrc:  Stamp filter that describes updates the server has already applied.
	UpToDateVectorSource *UpToDateVectorV2Ext `idl:"name:pUpToDateVecSrc;pointer:unique" json:"up_to_date_vector_source"`
	// PrefixTableSrc:  Table for translating ATTRTYP values in the response to OIDs.
	PrefixTableSource *SchemaPrefixTable `idl:"name:PrefixTableSrc" json:"prefix_table_source"`
	// ulExtendedRet:  0 or an extended operation error code (section 4.1.10.2.21).
	ExtendedReturn uint32 `idl:"name:ulExtendedRet" json:"extended_return"`
	// cNumObjects:  Count of items in the pObjects linked list.
	ObjectsCount uint32 `idl:"name:cNumObjects" json:"objects_count"`
	// cNumBytes:  Size in bytes of items in or referenced by elements in the pObjects linked
	// list.
	BytesCount uint32 `idl:"name:cNumBytes" json:"bytes_count"`
	// pObjects:  Linked list of object updates that the client applies to its NC replica.
	Objects *ReplicationEntityInfoList `idl:"name:pObjects;pointer:unique" json:"objects"`
	// fMoreData:  False if and only if this is the last response in a replication cycle.
	MoreData bool `idl:"name:fMoreData" json:"more_data"`
	// cNumNcSizeObjects:  Estimated number of objects in the server's NC replica.
	NCSizeObjectsCount uint32 `idl:"name:cNumNcSizeObjects" json:"nc_size_objects_count"`
	// cNumNcSizeValues:  Estimated number of link values in the server's NC replica.
	NCSizeValuesCount uint32 `idl:"name:cNumNcSizeValues" json:"nc_size_values_count"`
	// cNumValues:  Count of items in the rgValues array.
	ValuesCount uint32 `idl:"name:cNumValues" json:"values_count"`
	// rgValues:  Link value updates for the client to apply to its NC replica.
	Values []*ReplicationValueInfoV1 `idl:"name:rgValues;size_is:(cNumValues)" json:"values"`
	// dwDRSError:  0 if successful, otherwise a Windows error code.
	DRSError uint32 `idl:"name:dwDRSError" json:"drs_error"`
}

MessageGetNCChangesReplyV6 structure represents DRS_MSG_GETCHGREPLY_V6 RPC structure.

The DRS_MSG_GETCHGREPLY_V6 structure defines the response message received from the IDL_DRSGetNCChanges method. This message version is a superset of DRS_MSG_GETCHGREPLY_V1.

func (*MessageGetNCChangesReplyV6) MarshalNDR

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

func (*MessageGetNCChangesReplyV6) UnmarshalNDR

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

type MessageGetNCChangesReplyV7

type MessageGetNCChangesReplyV7 struct {
	// dwCompressedVersion:  Version of the response in CompressedAny; MUST be set to 6
	// or 9.
	CompressedVersion uint32 `idl:"name:dwCompressedVersion" json:"compressed_version"`
	// CompressionAlg:  Algorithm used to compress the response.
	CompressionAlgorithm CompAlgorithmType `idl:"name:CompressionAlg" json:"compression_algorithm"`
	// CompressedAny:  Compressed DRS_MSG_GETCHGREPLY_V6 or DRS_MSG_GETCHGREPLY_V9 response.
	CompressedAny *CompressedBlob `idl:"name:CompressedAny" json:"compressed_any"`
}

MessageGetNCChangesReplyV7 structure represents DRS_MSG_GETCHGREPLY_V7 RPC structure.

The DRS_MSG_GETCHGREPLY_V7 structure defines a compressed DRS_MSG_GETCHGREPLY_V6 or DRS_MSG_GETCHGREPLY_V9 message received from the IDL_DRSGetNCChanges method.

func (*MessageGetNCChangesReplyV7) MarshalNDR

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

func (*MessageGetNCChangesReplyV7) UnmarshalNDR

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

type MessageGetNCChangesReplyV9

type MessageGetNCChangesReplyV9 struct {
	// uuidDsaObjSrc:  DSA GUID of the server DC.
	DSAObjectSource *dtyp.UUID `idl:"name:uuidDsaObjSrc" json:"dsa_object_source"`
	// uuidInvocIdSrc:  Invocation ID of the server DC.
	InvocationIDSource *dtyp.UUID `idl:"name:uuidInvocIdSrc" json:"invocation_id_source"`
	// pNC:  The NC root of the replica to replicate or the FSMO role object for an extended
	// operation.
	NC *DSName `idl:"name:pNC;pointer:unique" json:"nc"`
	// usnvecFrom:  Data used to correlate calls to IDL_DRSGetNCChanges.
	From *Vector `idl:"name:usnvecFrom" json:"from"`
	// usnvecTo:  Data used to correlate calls to IDL_DRSGetNCChanges.
	To *Vector `idl:"name:usnvecTo" json:"to"`
	// pUpToDateVecSrc:  Stamp filter that describes updates the server has already applied.
	UpToDateVectorSource *UpToDateVectorV2Ext `idl:"name:pUpToDateVecSrc;pointer:unique" json:"up_to_date_vector_source"`
	// PrefixTableSrc:  Table for translating ATTRTYP values in the response to OIDs.
	PrefixTableSource *SchemaPrefixTable `idl:"name:PrefixTableSrc" json:"prefix_table_source"`
	// ulExtendedRet:  0 or an extended operation error code (section 4.1.10.2.21).
	ExtendedReturn uint32 `idl:"name:ulExtendedRet" json:"extended_return"`
	// cNumObjects:  Count of items in the pObjects linked list.
	ObjectsCount uint32 `idl:"name:cNumObjects" json:"objects_count"`
	// cNumBytes:  Size in bytes of items in or referenced by elements in the pObjects linked
	// list.
	BytesCount uint32 `idl:"name:cNumBytes" json:"bytes_count"`
	// pObjects:  Linked list of object updates that the client applies to its NC replica.
	Objects *ReplicationEntityInfoList `idl:"name:pObjects;pointer:unique" json:"objects"`
	// fMoreData:  False if and only if this is the last response in a replication cycle.
	MoreData bool `idl:"name:fMoreData" json:"more_data"`
	// cNumNcSizeObjects:  Estimated number of objects in the server's NC replica.
	NCSizeObjectsCount uint32 `idl:"name:cNumNcSizeObjects" json:"nc_size_objects_count"`
	// cNumNcSizeValues:  Estimated number of link values in the server's NC replica.
	NCSizeValuesCount uint32 `idl:"name:cNumNcSizeValues" json:"nc_size_values_count"`
	// cNumValues:  Count of items in the rgValues array.
	ValuesCount uint32 `idl:"name:cNumValues" json:"values_count"`
	// rgValues:  Link value updates for the client to apply to its NC replica.
	Values []*ReplicationValueInfoV3 `idl:"name:rgValues;size_is:(cNumValues)" json:"values"`
	// dwDRSError:  0 if successful, otherwise a Windows error code.
	DRSError uint32 `idl:"name:dwDRSError" json:"drs_error"`
}

MessageGetNCChangesReplyV9 structure represents DRS_MSG_GETCHGREPLY_V9 RPC structure.

The DRS_MSG_GETCHGREPLY_V9 structure defines the response message received from the IDL_DRSGetNCChanges method. This message version contains all the same elements as a DRS_MSG_GETCHGREPLY_V6 structure except that the data type of rgValues is changed from REPLVALINF_V1* to REPLVALINF_V3*. The data in a REPLVALINF_V3 structure is a superset of the data in a REPLVALINF_V1 structure. Therefore, the data in the DRS_MSG_GETCHGREPLY_V9 structure is a superset of the data in the DRS_MSG_GETCHGREPLY_V6 structure.

func (*MessageGetNCChangesReplyV9) MarshalNDR

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

func (*MessageGetNCChangesReplyV9) UnmarshalNDR

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

type MessageGetNCChangesReply_V1

type MessageGetNCChangesReply_V1 struct {
	// V1:  Version 1 response (Windows 2000 operating system).
	V1 *MessageGetNCChangesReplyV1 `idl:"name:V1" json:"v1"`
}

MessageGetNCChangesReply_V1 structure represents DRS_MSG_GETCHGREPLY RPC union arm.

It has following labels: 1

func (*MessageGetNCChangesReply_V1) MarshalNDR

func (*MessageGetNCChangesReply_V1) UnmarshalNDR

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

type MessageGetNCChangesReply_V2

type MessageGetNCChangesReply_V2 struct {
	// V2:  Version 2 response (compressed V1).
	V2 *MessageGetNCChangesReplyV2 `idl:"name:V2" json:"v2"`
}

MessageGetNCChangesReply_V2 structure represents DRS_MSG_GETCHGREPLY RPC union arm.

It has following labels: 2

func (*MessageGetNCChangesReply_V2) MarshalNDR

func (*MessageGetNCChangesReply_V2) UnmarshalNDR

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

type MessageGetNCChangesReply_V6

type MessageGetNCChangesReply_V6 struct {
	// V6:  Version 6 response (Windows Server 2003 operating system).
	V6 *MessageGetNCChangesReplyV6 `idl:"name:V6" json:"v6"`
}

MessageGetNCChangesReply_V6 structure represents DRS_MSG_GETCHGREPLY RPC union arm.

It has following labels: 6

func (*MessageGetNCChangesReply_V6) MarshalNDR

func (*MessageGetNCChangesReply_V6) UnmarshalNDR

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

type MessageGetNCChangesReply_V7

type MessageGetNCChangesReply_V7 struct {
	// V7:  Version 7 response (compressed V6 or V9).
	V7 *MessageGetNCChangesReplyV7 `idl:"name:V7" json:"v7"`
}

MessageGetNCChangesReply_V7 structure represents DRS_MSG_GETCHGREPLY RPC union arm.

It has following labels: 7

func (*MessageGetNCChangesReply_V7) MarshalNDR

func (*MessageGetNCChangesReply_V7) UnmarshalNDR

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

type MessageGetNCChangesReply_V9

type MessageGetNCChangesReply_V9 struct {
	// V9:  Version 9 response (V6 with additional link-value metadata).
	V9 *MessageGetNCChangesReplyV9 `idl:"name:V9" json:"v9"`
}

MessageGetNCChangesReply_V9 structure represents DRS_MSG_GETCHGREPLY RPC union arm.

It has following labels: 9

func (*MessageGetNCChangesReply_V9) MarshalNDR

func (*MessageGetNCChangesReply_V9) UnmarshalNDR

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

type MessageGetNCChangesRequest

type MessageGetNCChangesRequest struct {
	// Types that are assignable to Value
	//
	// *MessageGetNCChangesRequest_V4
	// *MessageGetNCChangesRequest_V5
	// *MessageGetNCChangesRequest_V7
	// *MessageGetNCChangesRequest_V8
	// *MessageGetNCChangesRequest_V10
	// *MessageGetNCChangesRequest_V11
	Value is_MessageGetNCChangesRequest `json:"value"`
}

MessageGetNCChangesRequest structure represents DRS_MSG_GETCHGREQ RPC union.

The DRS_MSG_GETCHGREQ union defines request messages that are sent to the IDL_DRSGetNCChanges method. There are no V1, V2, V3, V6, or V9 messages.

func (*MessageGetNCChangesRequest) GetValue

func (o *MessageGetNCChangesRequest) GetValue() any

func (*MessageGetNCChangesRequest) MarshalUnionNDR

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

func (*MessageGetNCChangesRequest) NDRSwitchValue

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

func (*MessageGetNCChangesRequest) UnmarshalUnionNDR

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

type MessageGetNCChangesRequestV10

type MessageGetNCChangesRequestV10 struct {
	// uuidDsaObjDest:  DSA GUID of the client DC.
	DSAObjectDestination *dtyp.UUID `idl:"name:uuidDsaObjDest" json:"dsa_object_destination"`
	// uuidInvocIdSrc:  Invocation ID of the server DC.
	InvocationIDSource *dtyp.UUID `idl:"name:uuidInvocIdSrc" json:"invocation_id_source"`
	// pNC:  NC root of the replica to replicate or the FSMO role object for an extended
	// operation.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// usnvecFrom:  Data used to correlate calls to IDL_DRSGetNCChanges.
	From *Vector `idl:"name:usnvecFrom" json:"from"`
	// pUpToDateVecDest:  Stamp filter describing updates the client has already applied.
	UpToDateVectorDestination *UpToDateVectorV1Ext `idl:"name:pUpToDateVecDest;pointer:unique" json:"up_to_date_vector_destination"`
	// ulFlags:  A DRS_OPTIONS bit field.
	Flags uint32 `idl:"name:ulFlags" json:"flags"`
	// cMaxObjects:  Approximate cap on the number of objects to include in the reply.
	MaxObjectsCount uint32 `idl:"name:cMaxObjects" json:"max_objects_count"`
	// cMaxBytes:  Approximate cap on the number of bytes to include in the reply.
	MaxBytesCount uint32 `idl:"name:cMaxBytes" json:"max_bytes_count"`
	// ulExtendedOp:  0 or an extended operation request code (section 4.1.10.2.22).
	ExtendedOperation uint32 `idl:"name:ulExtendedOp" json:"extended_operation"`
	// liFsmoInfo:  0 or a value specific to the requested extended operation.
	FSMOInfo *dtyp.UlargeInteger `idl:"name:liFsmoInfo" json:"fsmo_info"`
	// pPartialAttrSet:  A set of one or more attributes whose values are to be replicated
	// to the client's partial replica, or null if the client has a full replica.
	PartialAttributeSet *PartialAttributeVectorV1Ext `idl:"name:pPartialAttrSet;pointer:unique" json:"partial_attribute_set"`
	// pPartialAttrSetEx:  A set of one or more attributes whose values are to be added
	// to the client's existing partial replica, or null.
	PartialAttributeSetEx *PartialAttributeVectorV1Ext `idl:"name:pPartialAttrSetEx;pointer:unique" json:"partial_attribute_set_ex"`
	// PrefixTableDest:  Prefix table with which to convert the ATTRTYP values in pPartialAttrSet
	// and pPartialAttrSetEx to OIDs.
	PrefixTableDestination *SchemaPrefixTable `idl:"name:PrefixTableDest" json:"prefix_table_destination"`
	// ulMoreFlags:  A DRS_MORE_GETCHGREQ_OPTIONS bit field.
	MoreFlags uint32 `idl:"name:ulMoreFlags" json:"more_flags"`
}

MessageGetNCChangesRequestV10 structure represents DRS_MSG_GETCHGREQ_V10 RPC structure.

The DRS_MSG_GETCHGREQ_V10 structure defines the request message sent to the IDL_DRSGetNCChanges method. This message version is a superset of DRS_MSG_GETCHGREQ_V8.

func (*MessageGetNCChangesRequestV10) MarshalNDR

func (*MessageGetNCChangesRequestV10) UnmarshalNDR

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

type MessageGetNCChangesRequestV11

type MessageGetNCChangesRequestV11 struct {
	DSAObjectDestination      *dtyp.UUID                   `idl:"name:uuidDsaObjDest" json:"dsa_object_destination"`
	InvocationIDSource        *dtyp.UUID                   `idl:"name:uuidInvocIdSrc" json:"invocation_id_source"`
	NC                        *DSName                      `idl:"name:pNC;pointer:ref" json:"nc"`
	From                      *Vector                      `idl:"name:usnvecFrom" json:"from"`
	UpToDateVectorDestination *UpToDateVectorV1Ext         `idl:"name:pUpToDateVecDest;pointer:unique" json:"up_to_date_vector_destination"`
	Flags                     uint32                       `idl:"name:ulFlags" json:"flags"`
	MaxObjectsCount           uint32                       `idl:"name:cMaxObjects" json:"max_objects_count"`
	MaxBytesCount             uint32                       `idl:"name:cMaxBytes" json:"max_bytes_count"`
	ExtendedOperation         uint32                       `idl:"name:ulExtendedOp" json:"extended_operation"`
	FSMOInfo                  *dtyp.UlargeInteger          `idl:"name:liFsmoInfo" json:"fsmo_info"`
	PartialAttributeSet       *PartialAttributeVectorV1Ext `idl:"name:pPartialAttrSet;pointer:unique" json:"partial_attribute_set"`
	PartialAttributeSetEx     *PartialAttributeVectorV1Ext `idl:"name:pPartialAttrSetEx;pointer:unique" json:"partial_attribute_set_ex"`
	PrefixTableDestination    *SchemaPrefixTable           `idl:"name:PrefixTableDest" json:"prefix_table_destination"`
	MoreFlags                 uint32                       `idl:"name:ulMoreFlags" json:"more_flags"`
	CorrelationID             *dtyp.GUID                   `idl:"name:correlationID" json:"correlation_id"`
	ReservedBuffer            *VarSizeBufferWithVersion    `idl:"name:pReservedBuffer;pointer:unique" json:"reserved_buffer"`
}

MessageGetNCChangesRequestV11 structure represents DRS_MSG_GETCHGREQ_V11 RPC structure.

func (*MessageGetNCChangesRequestV11) MarshalNDR

func (*MessageGetNCChangesRequestV11) UnmarshalNDR

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

type MessageGetNCChangesRequestV3

type MessageGetNCChangesRequestV3 struct {
	// uuidDsaObjDest:  DSA GUID of the client DC.
	DSAObjectDestination *dtyp.UUID `idl:"name:uuidDsaObjDest" json:"dsa_object_destination"`
	// uuidInvocIdSrc:  Invocation ID of the server DC.
	InvocationIDSource *dtyp.UUID `idl:"name:uuidInvocIdSrc" json:"invocation_id_source"`
	// pNC:  NC root of the replica to replicate or the FSMO role object for an extended
	// operation.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// usnvecFrom:  Data that is used to correlate calls to IDL_DRSGetNCChanges.
	From *Vector `idl:"name:usnvecFrom" json:"from"`
	// pUpToDateVecDestV1:  Stamp filter describing updates that the client has already
	// applied.
	UpToDateVectorDestinationV1 *UpToDateVectorV1Ext `idl:"name:pUpToDateVecDestV1;pointer:unique" json:"up_to_date_vector_destination_v1"`
	// pPartialAttrVecDestV1:  A set of one or more attributes whose values are to be replicated
	// to the client's partial replica.
	PartialAttributeVectorDestinationV1 *PartialAttributeVectorV1Ext `idl:"name:pPartialAttrVecDestV1;pointer:unique" json:"partial_attribute_vector_destination_v1"`
	// PrefixTableDest:  Prefix table with which to convert the ATTRTYP values in pPartialAttrVecDestV1
	// to OIDs.
	PrefixTableDestination *SchemaPrefixTable `idl:"name:PrefixTableDest" json:"prefix_table_destination"`
	// ulFlags:  A DRS_OPTIONS bit field.
	Flags uint32 `idl:"name:ulFlags" json:"flags"`
	// cMaxObjects:  An approximate cap on the number of objects to include in the reply.
	MaxObjectsCount uint32 `idl:"name:cMaxObjects" json:"max_objects_count"`
	// cMaxBytes:  An approximate cap on the number of bytes to include in the reply.
	MaxBytesCount uint32 `idl:"name:cMaxBytes" json:"max_bytes_count"`
	// ulExtendedOp:  0 or an EXOP_REQ code (section 4.1.10.2.22).
	ExtendedOperation uint32 `idl:"name:ulExtendedOp" json:"extended_operation"`
}

MessageGetNCChangesRequestV3 structure represents DRS_MSG_GETCHGREQ_V3 RPC structure.

The DRS_MSG_GETCHGREQ_V3 structure defines a portion of the request message that is sent to the IDL_DRSGetNCChanges method as part of SMTP replication ([MS-SRPL]). This is not a complete request message; it is embedded in DRS_MSG_GETCHGREQ_V4 and DRS_MSG_GETCHGREQ_V7.<26>

func (*MessageGetNCChangesRequestV3) MarshalNDR

func (*MessageGetNCChangesRequestV3) UnmarshalNDR

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

type MessageGetNCChangesRequestV4

type MessageGetNCChangesRequestV4 struct {
	// uuidTransportObj:  The objectGUID of the interSiteTransport object that identifies
	// the transport by which to send the reply.
	TransportObject *dtyp.UUID `idl:"name:uuidTransportObj" json:"transport_object"`
	// pmtxReturnAddress:  The transport-specific address to which to send the reply.
	ReturnAddress *MTXAddr `idl:"name:pmtxReturnAddress;pointer:ref" json:"return_address"`
	// V3:  Version 3 request.
	V3 *MessageGetNCChangesRequestV3 `idl:"name:V3" json:"v3"`
}

MessageGetNCChangesRequestV4 structure represents DRS_MSG_GETCHGREQ_V4 RPC structure.

The DRS_MSG_GETCHGREQ_V4 structure defines the request message sent to the IDL_DRSGetNCChanges method. This message version is a superset of DRS_MSG_GETCHGREQ_V3.<27>

func (*MessageGetNCChangesRequestV4) MarshalNDR

func (*MessageGetNCChangesRequestV4) UnmarshalNDR

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

type MessageGetNCChangesRequestV5

type MessageGetNCChangesRequestV5 struct {
	// uuidDsaObjDest:  DSA GUID of the client DC.
	DSAObjectDestination *dtyp.UUID `idl:"name:uuidDsaObjDest" json:"dsa_object_destination"`
	// uuidInvocIdSrc:  Invocation ID of the server DC.
	InvocationIDSource *dtyp.UUID `idl:"name:uuidInvocIdSrc" json:"invocation_id_source"`
	// pNC:  NC root of the replica to replicate or the FSMO role object for an extended
	// operation.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// usnvecFrom:  Data used to correlate calls to IDL_DRSGetNCChanges.
	From *Vector `idl:"name:usnvecFrom" json:"from"`
	// pUpToDateVecDestV1:  Stamp filter that describes updates the client has already applied.
	UpToDateVectorDestinationV1 *UpToDateVectorV1Ext `idl:"name:pUpToDateVecDestV1;pointer:unique" json:"up_to_date_vector_destination_v1"`
	// ulFlags:  DRS_OPTIONS bit field.
	Flags uint32 `idl:"name:ulFlags" json:"flags"`
	// cMaxObjects:  Approximate cap on the number of objects to include in the reply.
	MaxObjectsCount uint32 `idl:"name:cMaxObjects" json:"max_objects_count"`
	// cMaxBytes:  Approximate cap on the number of bytes to include in the reply.
	MaxBytesCount uint32 `idl:"name:cMaxBytes" json:"max_bytes_count"`
	// ulExtendedOp:  0 or an extended operation request code (section 4.1.10.2.22).
	ExtendedOperation uint32 `idl:"name:ulExtendedOp" json:"extended_operation"`
	// liFsmoInfo:  0 or a value specific to the requested extended operation.
	FSMOInfo *dtyp.UlargeInteger `idl:"name:liFsmoInfo" json:"fsmo_info"`
}

MessageGetNCChangesRequestV5 structure represents DRS_MSG_GETCHGREQ_V5 RPC structure.

The DRS_MSG_GETCHGREQ_V5 structure defines the request message sent to the IDL_DRSGetNCChanges method.

func (*MessageGetNCChangesRequestV5) MarshalNDR

func (*MessageGetNCChangesRequestV5) UnmarshalNDR

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

type MessageGetNCChangesRequestV7

type MessageGetNCChangesRequestV7 struct {
	// uuidTransportObj:  The objectGUID of the interSiteTransport object that identifies
	// the transport by which to send the reply.
	TransportObject *dtyp.UUID `idl:"name:uuidTransportObj" json:"transport_object"`
	// pmtxReturnAddress:  Transport-specific address to which to send the reply.
	ReturnAddress *MTXAddr `idl:"name:pmtxReturnAddress;pointer:ref" json:"return_address"`
	// V3:  Version 3 request.
	V3 *MessageGetNCChangesRequestV3 `idl:"name:V3" json:"v3"`
	// pPartialAttrSet:  A set of one or more attributes whose values are to be replicated
	// to the client's partial replica, or null if the client has a full replica.
	PartialAttributeSet *PartialAttributeVectorV1Ext `idl:"name:pPartialAttrSet;pointer:unique" json:"partial_attribute_set"`
	// pPartialAttrSetEx:  A set of one or more attributes whose values are to be added
	// to the client's existing partial replica, or null.
	PartialAttributeSetEx *PartialAttributeVectorV1Ext `idl:"name:pPartialAttrSetEx;pointer:unique" json:"partial_attribute_set_ex"`
	// PrefixTableDest:  Prefix table with which to convert the ATTRTYP values in pPartialAttrSet
	// and pPartialAttrSetEx to OIDs.
	PrefixTableDestination *SchemaPrefixTable `idl:"name:PrefixTableDest" json:"prefix_table_destination"`
}

MessageGetNCChangesRequestV7 structure represents DRS_MSG_GETCHGREQ_V7 RPC structure.

The DRS_MSG_GETCHGREQ_V7 structure defines the request message sent to the IDL_DRSGetNCChanges method. This message version is a superset of DRS_MSG_GETCHGREQ_V4.<28>

func (*MessageGetNCChangesRequestV7) MarshalNDR

func (*MessageGetNCChangesRequestV7) UnmarshalNDR

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

type MessageGetNCChangesRequestV8

type MessageGetNCChangesRequestV8 struct {
	// uuidDsaObjDest:  DSA GUID of the client DC.
	DSAObjectDestination *dtyp.UUID `idl:"name:uuidDsaObjDest" json:"dsa_object_destination"`
	// uuidInvocIdSrc:  Invocation ID of the server DC.
	InvocationIDSource *dtyp.UUID `idl:"name:uuidInvocIdSrc" json:"invocation_id_source"`
	// pNC:  NC root of the replica to replicate or the FSMO role object for an extended
	// operation.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// usnvecFrom:  Data used to correlate calls to IDL_DRSGetNCChanges.
	From *Vector `idl:"name:usnvecFrom" json:"from"`
	// pUpToDateVecDest:  Stamp filter describing updates the client has already applied.
	UpToDateVectorDestination *UpToDateVectorV1Ext `idl:"name:pUpToDateVecDest;pointer:unique" json:"up_to_date_vector_destination"`
	// ulFlags:  A DRS_OPTIONS bit field.
	Flags uint32 `idl:"name:ulFlags" json:"flags"`
	// cMaxObjects:  Approximate cap on the number of objects to include in the reply.
	MaxObjectsCount uint32 `idl:"name:cMaxObjects" json:"max_objects_count"`
	// cMaxBytes:  Approximate cap on the number of bytes to include in the reply.
	MaxBytesCount uint32 `idl:"name:cMaxBytes" json:"max_bytes_count"`
	// ulExtendedOp:  0 or an extended operation request code (section 4.1.10.2.22).
	ExtendedOperation uint32 `idl:"name:ulExtendedOp" json:"extended_operation"`
	// liFsmoInfo:  0 or a value specific to the requested extended operation.
	FSMOInfo *dtyp.UlargeInteger `idl:"name:liFsmoInfo" json:"fsmo_info"`
	// pPartialAttrSet:  A set of one or more attributes whose values are to be replicated
	// to the client's partial replica, or null if the client has a full replica.
	PartialAttributeSet *PartialAttributeVectorV1Ext `idl:"name:pPartialAttrSet;pointer:unique" json:"partial_attribute_set"`
	// pPartialAttrSetEx:  A set of one or more attributes whose values are to be added
	// to the client's existing partial replica, or null.
	PartialAttributeSetEx *PartialAttributeVectorV1Ext `idl:"name:pPartialAttrSetEx;pointer:unique" json:"partial_attribute_set_ex"`
	// PrefixTableDest:  Prefix table with which to convert the ATTRTYP values in pPartialAttrSet
	// and pPartialAttrSetEx to OIDs.
	PrefixTableDestination *SchemaPrefixTable `idl:"name:PrefixTableDest" json:"prefix_table_destination"`
}

MessageGetNCChangesRequestV8 structure represents DRS_MSG_GETCHGREQ_V8 RPC structure.

The DRS_MSG_GETCHGREQ_V8 structure defines the request message sent to the IDL_DRSGetNCChanges method. This message version is a superset of DRS_MSG_GETCHGREQ_V5.

func (*MessageGetNCChangesRequestV8) MarshalNDR

func (*MessageGetNCChangesRequestV8) UnmarshalNDR

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

type MessageGetNCChangesRequest_V10

type MessageGetNCChangesRequest_V10 struct {
	// V10:  Version 10 request (Windows Server 2008 R2 operating system RPC replication).
	V10 *MessageGetNCChangesRequestV10 `idl:"name:V10" json:"v10"`
}

MessageGetNCChangesRequest_V10 structure represents DRS_MSG_GETCHGREQ RPC union arm.

It has following labels: 10

func (*MessageGetNCChangesRequest_V10) MarshalNDR

func (*MessageGetNCChangesRequest_V10) UnmarshalNDR

type MessageGetNCChangesRequest_V11

type MessageGetNCChangesRequest_V11 struct {
	// V11:  Version 11 request (Windows Server v1803 operating system RPC replication).
	V11 *MessageGetNCChangesRequestV11 `idl:"name:V11" json:"v11"`
}

MessageGetNCChangesRequest_V11 structure represents DRS_MSG_GETCHGREQ RPC union arm.

It has following labels: 11

func (*MessageGetNCChangesRequest_V11) MarshalNDR

func (*MessageGetNCChangesRequest_V11) UnmarshalNDR

type MessageGetNCChangesRequest_V4

type MessageGetNCChangesRequest_V4 struct {
	// V4:  Version 4 request (Windows 2000 operating system SMTP replication [MS-SRPL]).
	V4 *MessageGetNCChangesRequestV4 `idl:"name:V4" json:"v4"`
}

MessageGetNCChangesRequest_V4 structure represents DRS_MSG_GETCHGREQ RPC union arm.

It has following labels: 4

func (*MessageGetNCChangesRequest_V4) MarshalNDR

func (*MessageGetNCChangesRequest_V4) UnmarshalNDR

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

type MessageGetNCChangesRequest_V5

type MessageGetNCChangesRequest_V5 struct {
	// V5:  Version 5 request (Windows 2000 RPC replication).
	V5 *MessageGetNCChangesRequestV5 `idl:"name:V5" json:"v5"`
}

MessageGetNCChangesRequest_V5 structure represents DRS_MSG_GETCHGREQ RPC union arm.

It has following labels: 5

func (*MessageGetNCChangesRequest_V5) MarshalNDR

func (*MessageGetNCChangesRequest_V5) UnmarshalNDR

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

type MessageGetNCChangesRequest_V7

type MessageGetNCChangesRequest_V7 struct {
	// V7:  Version 7 request (Windows Server 2003 operating system SMTP replication [MS-SRPL]).
	V7 *MessageGetNCChangesRequestV7 `idl:"name:V7" json:"v7"`
}

MessageGetNCChangesRequest_V7 structure represents DRS_MSG_GETCHGREQ RPC union arm.

It has following labels: 7

func (*MessageGetNCChangesRequest_V7) MarshalNDR

func (*MessageGetNCChangesRequest_V7) UnmarshalNDR

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

type MessageGetNCChangesRequest_V8

type MessageGetNCChangesRequest_V8 struct {
	// V8:  Version 8 request (Windows Server 2003 RPC replication).
	V8 *MessageGetNCChangesRequestV8 `idl:"name:V8" json:"v8"`
}

MessageGetNCChangesRequest_V8 structure represents DRS_MSG_GETCHGREQ RPC union arm.

It has following labels: 8

func (*MessageGetNCChangesRequest_V8) MarshalNDR

func (*MessageGetNCChangesRequest_V8) UnmarshalNDR

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

type MessageGetReplicationInfoReply

type MessageGetReplicationInfoReply struct {
	// Types that are assignable to Value
	//
	// *MessageGetReplicationInfoReply_Neighbors
	// *MessageGetReplicationInfoReply_Cursors
	// *MessageGetReplicationInfoReply_ObjectMetadata
	// *MessageGetReplicationInfoReply_ConnectFailures
	// *MessageGetReplicationInfoReply_LinkFailures
	// *MessageGetReplicationInfoReply_PendingOperations
	// *MessageGetReplicationInfoReply_AttributeValueMetadata
	// *MessageGetReplicationInfoReply_Cursors2
	// *MessageGetReplicationInfoReply_Cursors3
	// *MessageGetReplicationInfoReply_ObjectMetaData2
	// *MessageGetReplicationInfoReply_AttributeValueMetaData2
	// *MessageGetReplicationInfoReply_ServerOutgoingCalls
	// *MessageGetReplicationInfoReply_UpToDateVector
	// *MessageGetReplicationInfoReply_ClientContexts
	// *MessageGetReplicationInfoReply_RepsTo
	Value is_MessageGetReplicationInfoReply `json:"value"`
}

MessageGetReplicationInfoReply structure represents DRS_MSG_GETREPLINFO_REPLY RPC union.

The DRS_MSG_GETREPLINFO_REPLY union defines response messages received from the IDL_DRSGetReplInfo method.

func (*MessageGetReplicationInfoReply) GetValue

func (o *MessageGetReplicationInfoReply) GetValue() any

func (*MessageGetReplicationInfoReply) MarshalUnionNDR

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

func (*MessageGetReplicationInfoReply) NDRSwitchValue

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

func (*MessageGetReplicationInfoReply) UnmarshalUnionNDR

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

type MessageGetReplicationInfoReply_AttributeValueMetaData2

type MessageGetReplicationInfoReply_AttributeValueMetaData2 struct {
	// pAttrValueMetaData2:  Link value stamps.
	AttributeValueMetaData2 *DSReplicationAttributeValueMetadata2 `idl:"name:pAttrValueMetaData2" json:"attribute_value_meta_data2"`
}

MessageGetReplicationInfoReply_AttributeValueMetaData2 structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 10

func (*MessageGetReplicationInfoReply_AttributeValueMetaData2) MarshalNDR

func (*MessageGetReplicationInfoReply_AttributeValueMetaData2) UnmarshalNDR

type MessageGetReplicationInfoReply_AttributeValueMetadata

type MessageGetReplicationInfoReply_AttributeValueMetadata struct {
	// pAttrValueMetaData:  Link value stamps.
	AttributeValueMetadata *DSReplicationAttributeValueMetadata `idl:"name:pAttrValueMetaData" json:"attribute_value_metadata"`
}

MessageGetReplicationInfoReply_AttributeValueMetadata structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 6

func (*MessageGetReplicationInfoReply_AttributeValueMetadata) MarshalNDR

func (*MessageGetReplicationInfoReply_AttributeValueMetadata) UnmarshalNDR

type MessageGetReplicationInfoReply_ClientContexts

type MessageGetReplicationInfoReply_ClientContexts struct {
	// pClientContexts:  Active RPC client connections.
	ClientContexts *DSReplicationClientContexts `idl:"name:pClientContexts" json:"client_contexts"`
}

MessageGetReplicationInfoReply_ClientContexts structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 4294967292

func (*MessageGetReplicationInfoReply_ClientContexts) MarshalNDR

func (*MessageGetReplicationInfoReply_ClientContexts) UnmarshalNDR

type MessageGetReplicationInfoReply_ConnectFailures

type MessageGetReplicationInfoReply_ConnectFailures struct {
	// pConnectFailures:  Connection failure data.
	ConnectFailures *DSReplicationKCCDSAFailures `idl:"name:pConnectFailures" json:"connect_failures"`
}

MessageGetReplicationInfoReply_ConnectFailures structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 3

func (*MessageGetReplicationInfoReply_ConnectFailures) MarshalNDR

func (*MessageGetReplicationInfoReply_ConnectFailures) UnmarshalNDR

type MessageGetReplicationInfoReply_Cursors

type MessageGetReplicationInfoReply_Cursors struct {
	// pCursors:  Cursors for an NC replica.
	Cursors *DSReplicationCursors `idl:"name:pCursors" json:"cursors"`
}

MessageGetReplicationInfoReply_Cursors structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 1

func (*MessageGetReplicationInfoReply_Cursors) MarshalNDR

func (*MessageGetReplicationInfoReply_Cursors) UnmarshalNDR

type MessageGetReplicationInfoReply_Cursors2

type MessageGetReplicationInfoReply_Cursors2 struct {
	// pCursors2:  Cursors for an NC replica.
	Cursors2 *DSReplicationCursors2 `idl:"name:pCursors2" json:"cursors2"`
}

MessageGetReplicationInfoReply_Cursors2 structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 7

func (*MessageGetReplicationInfoReply_Cursors2) MarshalNDR

func (*MessageGetReplicationInfoReply_Cursors2) UnmarshalNDR

type MessageGetReplicationInfoReply_Cursors3

type MessageGetReplicationInfoReply_Cursors3 struct {
	// pCursors3:  Cursors for an NC replica.
	Cursors3 *DSReplicationCursorsV3 `idl:"name:pCursors3" json:"cursors3"`
}

MessageGetReplicationInfoReply_Cursors3 structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 8

func (*MessageGetReplicationInfoReply_Cursors3) MarshalNDR

func (*MessageGetReplicationInfoReply_Cursors3) UnmarshalNDR

type MessageGetReplicationInfoReply_LinkFailures

type MessageGetReplicationInfoReply_LinkFailures struct {
	// pLinkFailures:  Link failure data.
	LinkFailures *DSReplicationKCCDSAFailures `idl:"name:pLinkFailures" json:"link_failures"`
}

MessageGetReplicationInfoReply_LinkFailures structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 4

func (*MessageGetReplicationInfoReply_LinkFailures) MarshalNDR

func (*MessageGetReplicationInfoReply_LinkFailures) UnmarshalNDR

type MessageGetReplicationInfoReply_Neighbors

type MessageGetReplicationInfoReply_Neighbors struct {
	// pNeighbors:  Neighbor information.
	Neighbors *DSReplicationNeighbors `idl:"name:pNeighbors" json:"neighbors"`
}

MessageGetReplicationInfoReply_Neighbors structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 0

func (*MessageGetReplicationInfoReply_Neighbors) MarshalNDR

func (*MessageGetReplicationInfoReply_Neighbors) UnmarshalNDR

type MessageGetReplicationInfoReply_ObjectMetaData2

type MessageGetReplicationInfoReply_ObjectMetaData2 struct {
	// pObjMetaData2:  Attribute stamps.
	ObjectMetaData2 *DSReplicationObjectMetadata2 `idl:"name:pObjMetaData2" json:"object_meta_data2"`
}

MessageGetReplicationInfoReply_ObjectMetaData2 structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 9

func (*MessageGetReplicationInfoReply_ObjectMetaData2) MarshalNDR

func (*MessageGetReplicationInfoReply_ObjectMetaData2) UnmarshalNDR

type MessageGetReplicationInfoReply_ObjectMetadata

type MessageGetReplicationInfoReply_ObjectMetadata struct {
	// pObjMetaData:  Attribute stamps.
	ObjectMetadata *DSReplicationObjectMetadata `idl:"name:pObjMetaData" json:"object_metadata"`
}

MessageGetReplicationInfoReply_ObjectMetadata structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 2

func (*MessageGetReplicationInfoReply_ObjectMetadata) MarshalNDR

func (*MessageGetReplicationInfoReply_ObjectMetadata) UnmarshalNDR

type MessageGetReplicationInfoReply_PendingOperations

type MessageGetReplicationInfoReply_PendingOperations struct {
	// pPendingOps:  Pending operations in the replication queue.
	PendingOperations *DSReplicationPendingOperations `idl:"name:pPendingOps" json:"pending_operations"`
}

MessageGetReplicationInfoReply_PendingOperations structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 5

func (*MessageGetReplicationInfoReply_PendingOperations) MarshalNDR

func (*MessageGetReplicationInfoReply_PendingOperations) UnmarshalNDR

type MessageGetReplicationInfoReply_RepsTo

type MessageGetReplicationInfoReply_RepsTo struct {
	// pRepsTo:  Neighbor information.
	RepsTo *DSReplicationNeighbors `idl:"name:pRepsTo" json:"reps_to"`
}

MessageGetReplicationInfoReply_RepsTo structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 4294967294

func (*MessageGetReplicationInfoReply_RepsTo) MarshalNDR

func (*MessageGetReplicationInfoReply_RepsTo) UnmarshalNDR

type MessageGetReplicationInfoReply_ServerOutgoingCalls

type MessageGetReplicationInfoReply_ServerOutgoingCalls struct {
	// pServerOutgoingCalls:  Outstanding requests from this DC to other DCs.
	ServerOutgoingCalls *DSReplicationServerOutgoingCalls `idl:"name:pServerOutgoingCalls" json:"server_outgoing_calls"`
}

MessageGetReplicationInfoReply_ServerOutgoingCalls structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 4294967290

func (*MessageGetReplicationInfoReply_ServerOutgoingCalls) MarshalNDR

func (*MessageGetReplicationInfoReply_ServerOutgoingCalls) UnmarshalNDR

type MessageGetReplicationInfoReply_UpToDateVector

type MessageGetReplicationInfoReply_UpToDateVector struct {
	// pUpToDateVec:  Cursors for an NC replica.
	UpToDateVector *UpToDateVectorV1Ext `idl:"name:pUpToDateVec" json:"up_to_date_vector"`
}

MessageGetReplicationInfoReply_UpToDateVector structure represents DRS_MSG_GETREPLINFO_REPLY RPC union arm.

It has following labels: 4294967291

func (*MessageGetReplicationInfoReply_UpToDateVector) MarshalNDR

func (*MessageGetReplicationInfoReply_UpToDateVector) UnmarshalNDR

type MessageGetReplicationInfoRequest

type MessageGetReplicationInfoRequest struct {
	// Types that are assignable to Value
	//
	// *MessageGetReplicationInfoRequest_V1
	// *MessageGetReplicationInfoRequest_V2
	Value is_MessageGetReplicationInfoRequest `json:"value"`
}

MessageGetReplicationInfoRequest structure represents DRS_MSG_GETREPLINFO_REQ RPC union.

The DRS_MSG_GETREPLINFO_REQ union defines the request message versions sent to the IDL_DRSGetReplInfo method.

func (*MessageGetReplicationInfoRequest) GetValue

func (o *MessageGetReplicationInfoRequest) GetValue() any

func (*MessageGetReplicationInfoRequest) MarshalUnionNDR

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

func (*MessageGetReplicationInfoRequest) NDRSwitchValue

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

func (*MessageGetReplicationInfoRequest) UnmarshalUnionNDR

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

type MessageGetReplicationInfoRequestV1

type MessageGetReplicationInfoRequestV1 struct {
	// InfoType:  MUST be a DS_REPL_INFO code.
	InfoType uint32 `idl:"name:InfoType" json:"info_type"`
	// pszObjectDN:  DN of the object on which the operation is to be performed. The meaning
	// of this parameter depends on the value of the InfoType parameter.
	ObjectDN string `idl:"name:pszObjectDN;string" json:"object_dn"`
	// uuidSourceDsaObjGuid:  NULL GUID or the DSA GUID of a DC.
	SourceDSAObjectGUID *dtyp.UUID `idl:"name:uuidSourceDsaObjGuid" json:"source_dsa_object_guid"`
}

MessageGetReplicationInfoRequestV1 structure represents DRS_MSG_GETREPLINFO_REQ_V1 RPC structure.

The DRS_MSG_GETREPLINFO_REQ_V1 structure defines a version 1 request message sent to the IDL_DRSGetReplInfo method.

func (*MessageGetReplicationInfoRequestV1) MarshalNDR

func (*MessageGetReplicationInfoRequestV1) UnmarshalNDR

type MessageGetReplicationInfoRequestV2

type MessageGetReplicationInfoRequestV2 struct {
	// InfoType:  MUST be a DS_REPL_INFO code.
	InfoType uint32 `idl:"name:InfoType" json:"info_type"`
	// pszObjectDN:  DN of the object on which the operation is to be performed. The meaning
	// of this parameter depends on the value of the InfoType parameter.
	ObjectDN string `idl:"name:pszObjectDN;string" json:"object_dn"`
	// uuidSourceDsaObjGuid:  NULL GUID or the DSA GUID of a DC.
	SourceDSAObjectGUID *dtyp.UUID `idl:"name:uuidSourceDsaObjGuid" json:"source_dsa_object_guid"`
	// ulFlags:  Zero or more of the following bit flags, which are presented in little-endian
	// byte order.
	//
	//	+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 | 5 | 6 |  7  | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |   |   |     |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| X | X | X | X | X | X | X | M T | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
	//	+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero and ignored.
	Flags uint32 `idl:"name:ulFlags" json:"flags"`
	// pszAttributeName:  Null, or the lDAPDisplayName of a link attribute.
	AttributeName string `idl:"name:pszAttributeName;string" json:"attribute_name"`
	// pszValueDN:  Null, or the DN of the link value for which to retrieve a stamp.
	ValueDN string `idl:"name:pszValueDN;string" json:"value_dn"`
	// dwEnumerationContext:  Zero, or the value of dwEnumerationContext returned by the
	// server on a previous call to IDL_DRSGetReplInfo. For an informative description of
	// the sequencing issues associated with this field, see section 1.3.2.
	EnumerationContext uint32 `idl:"name:dwEnumerationContext" json:"enumeration_context"`
}

MessageGetReplicationInfoRequestV2 structure represents DRS_MSG_GETREPLINFO_REQ_V2 RPC structure.

The DRS_MSG_GETREPLINFO_REQ_V2 structure defines a version 2 request message sent to the IDL_DRSGetReplInfo method. The V2 request structure is a superset of the V1 request structure.

func (*MessageGetReplicationInfoRequestV2) MarshalNDR

func (*MessageGetReplicationInfoRequestV2) UnmarshalNDR

type MessageGetReplicationInfoRequest_V1

type MessageGetReplicationInfoRequest_V1 struct {
	// V1:  Version 1 request.
	V1 *MessageGetReplicationInfoRequestV1 `idl:"name:V1" json:"v1"`
}

MessageGetReplicationInfoRequest_V1 structure represents DRS_MSG_GETREPLINFO_REQ RPC union arm.

It has following labels: 1

func (*MessageGetReplicationInfoRequest_V1) MarshalNDR

func (*MessageGetReplicationInfoRequest_V1) UnmarshalNDR

type MessageGetReplicationInfoRequest_V2

type MessageGetReplicationInfoRequest_V2 struct {
	// V2:  Version 2 request. The V2 request structure is a superset of the V1 request
	// structure.
	V2 *MessageGetReplicationInfoRequestV2 `idl:"name:V2" json:"v2"`
}

MessageGetReplicationInfoRequest_V2 structure represents DRS_MSG_GETREPLINFO_REQ RPC union arm.

It has following labels: 2

func (*MessageGetReplicationInfoRequest_V2) MarshalNDR

func (*MessageGetReplicationInfoRequest_V2) UnmarshalNDR

type MessageInitDemotionReply

type MessageInitDemotionReply struct {
	// Types that are assignable to Value
	//
	// *MessageInitDemotionReply_V1
	Value is_MessageInitDemotionReply `json:"value"`
}

MessageInitDemotionReply structure represents DRS_MSG_INIT_DEMOTIONREPLY RPC union.

The DRS_MSG_INIT_DEMOTIONREPLY union defines the response messages received from the IDL_DRSInitDemotion method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageInitDemotionReply) GetValue

func (o *MessageInitDemotionReply) GetValue() any

func (*MessageInitDemotionReply) MarshalUnionNDR

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

func (*MessageInitDemotionReply) NDRSwitchValue

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

func (*MessageInitDemotionReply) UnmarshalUnionNDR

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

type MessageInitDemotionReplyV1

type MessageInitDemotionReplyV1 struct {
	// dwOpError:  A Win32 error code, as specified in [MS-ERREF] section 2.2.
	OperationError uint32 `idl:"name:dwOpError" json:"operation_error"`
}

MessageInitDemotionReplyV1 structure represents DRS_MSG_INIT_DEMOTIONREPLY_V1 RPC structure.

The DRS_MSG_INIT_DEMOTIONREPLY_V1 structure defines a response message received from the IDL_DRSInitDemotion method.

func (*MessageInitDemotionReplyV1) MarshalNDR

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

func (*MessageInitDemotionReplyV1) UnmarshalNDR

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

type MessageInitDemotionReply_V1

type MessageInitDemotionReply_V1 struct {
	// V1:  Version 1 reply.
	V1 *MessageInitDemotionReplyV1 `idl:"name:V1" json:"v1"`
}

MessageInitDemotionReply_V1 structure represents DRS_MSG_INIT_DEMOTIONREPLY RPC union arm.

It has following labels: 1

func (*MessageInitDemotionReply_V1) MarshalNDR

func (*MessageInitDemotionReply_V1) UnmarshalNDR

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

type MessageInitDemotionRequest

type MessageInitDemotionRequest struct {
	// Types that are assignable to Value
	//
	// *MessageInitDemotionRequest_V1
	Value is_MessageInitDemotionRequest `json:"value"`
}

MessageInitDemotionRequest structure represents DRS_MSG_INIT_DEMOTIONREQ RPC union.

The DRS_MSG_INIT_DEMOTIONREQ union defines request messages sent to the IDL_DRSInitDemotion method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageInitDemotionRequest) GetValue

func (o *MessageInitDemotionRequest) GetValue() any

func (*MessageInitDemotionRequest) MarshalUnionNDR

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

func (*MessageInitDemotionRequest) NDRSwitchValue

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

func (*MessageInitDemotionRequest) UnmarshalUnionNDR

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

type MessageInitDemotionRequestV1

type MessageInitDemotionRequestV1 struct {
	// contains filtered or unexported fields
}

MessageInitDemotionRequestV1 structure represents DRS_MSG_INIT_DEMOTIONREQ_V1 RPC structure.

The DRS_MSG_INIT_DEMOTIONREQ_V1 structure defines a request message sent to the IDL_DRSInitDemotion method.

func (*MessageInitDemotionRequestV1) MarshalNDR

func (*MessageInitDemotionRequestV1) UnmarshalNDR

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

type MessageInitDemotionRequest_V1

type MessageInitDemotionRequest_V1 struct {
	// V1:  Version 1 request. Currently, only one version is defined.
	V1 *MessageInitDemotionRequestV1 `idl:"name:V1" json:"v1"`
}

MessageInitDemotionRequest_V1 structure represents DRS_MSG_INIT_DEMOTIONREQ RPC union arm.

It has following labels: 1

func (*MessageInitDemotionRequest_V1) MarshalNDR

func (*MessageInitDemotionRequest_V1) UnmarshalNDR

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

type MessageKCCExecute

type MessageKCCExecute struct {
	// Types that are assignable to Value
	//
	// *MessageKCCExecute_V1
	Value is_MessageKCCExecute `json:"value"`
}

MessageKCCExecute structure represents DRS_MSG_KCC_EXECUTE RPC union.

The DRS_MSG_KCC_EXECUTE union defines the request messages sent to the IDL_DRSExecuteKCC method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageKCCExecute) GetValue

func (o *MessageKCCExecute) GetValue() any

func (*MessageKCCExecute) MarshalUnionNDR

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

func (*MessageKCCExecute) NDRSwitchValue

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

func (*MessageKCCExecute) UnmarshalUnionNDR

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

type MessageKCCExecuteV1

type MessageKCCExecuteV1 struct {
	// dwTaskID:  MUST be 0.
	TaskID uint32 `idl:"name:dwTaskID" json:"task_id"`
	// dwFlags:  Zero or more of the following bit flags, which are presented in little-endian
	// byte order.
	//
	//	+---+---+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 | 5 |  6  |  7  | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |   |     |     |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| X | X | X | X | X | X | D P | A S | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
	//	+---+---+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero and ignored.
	//
	// AS (DS_KCC_FLAG_ASYNC_OP, 0x00000001): Request the KCC to run, then return immediately.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
}

MessageKCCExecuteV1 structure represents DRS_MSG_KCC_EXECUTE_V1 RPC structure.

The DRS_MSG_KCC_EXECUTE_V1 structure defines the request message sent to the IDL_DRSExecuteKCC method.

func (*MessageKCCExecuteV1) MarshalNDR

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

func (*MessageKCCExecuteV1) UnmarshalNDR

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

type MessageKCCExecute_V1

type MessageKCCExecute_V1 struct {
	// V1:  Version 1 request.
	V1 *MessageKCCExecuteV1 `idl:"name:V1" json:"v1"`
}

MessageKCCExecute_V1 structure represents DRS_MSG_KCC_EXECUTE RPC union arm.

It has following labels: 1

func (*MessageKCCExecute_V1) MarshalNDR

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

func (*MessageKCCExecute_V1) UnmarshalNDR

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

type MessageModifyReplica

type MessageModifyReplica struct {
	// Types that are assignable to Value
	//
	// *MessageModifyReplica_V1
	Value is_MessageModifyReplica `json:"value"`
}

MessageModifyReplica structure represents DRS_MSG_REPMOD RPC union.

The DRS_MSG_REPMOD union defines the request messages for the IDL_DRSReplicaModify method. Only one version, identified by dwVersion = 1, is currently defined.

func (*MessageModifyReplica) GetValue

func (o *MessageModifyReplica) GetValue() any

func (*MessageModifyReplica) MarshalUnionNDR

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

func (*MessageModifyReplica) NDRSwitchValue

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

func (*MessageModifyReplica) UnmarshalUnionNDR

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

type MessageModifyReplicaV1

type MessageModifyReplicaV1 struct {
	// pNC:  A pointer to the DSName of the root of an NC replica on the server.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// uuidSourceDRA:  The DSA GUID.
	DRASourceID *dtyp.UUID `idl:"name:uuidSourceDRA" json:"dra_source_id"`
	// pszSourceDRA:  The transport-specific NetworkAddress of a DC.
	SourceDRA string `idl:"name:pszSourceDRA;string;pointer:unique" json:"source_dra"`
	// rtSchedule:  The periodic replication schedule.
	Schedule *ReplicationTimes `idl:"name:rtSchedule" json:"schedule"`
	// ulReplicaFlags:  The DRS_OPTIONS flags for the repsFrom value.
	ReplicaFlags uint32 `idl:"name:ulReplicaFlags" json:"replica_flags"`
	// ulModifyFields:  The fields to update(presented in little-endian byte order).
	//
	//	+---+---+---+---+---+-----+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 |  5  |  6  |  7  | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |     |     |     |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+-----+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+-----+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| X | X | X | X | X | U S | U A | U F | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
	//	+---+---+---+---+---+-----+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero and ignored.
	//
	// UF (DRS_UPDATE_FLAGS, 0x00000001): Updates the flags associated with the server.
	//
	// UA (DRS_UPDATE_ADDRESS, 0x00000002): Updates the transport-specific address associated
	// with the server.
	ModifyFields uint32 `idl:"name:ulModifyFields" json:"modify_fields"`
	// ulOptions:  The DRS_OPTIONS flags for execution of this method.
	Options uint32 `idl:"name:ulOptions" json:"options"`
}

MessageModifyReplicaV1 structure represents DRS_MSG_REPMOD_V1 RPC structure.

The DRS_MSG_REPMOD_V1 structure defines a request message for the IDL_DRSReplicaModify method.

func (*MessageModifyReplicaV1) MarshalNDR

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

func (*MessageModifyReplicaV1) UnmarshalNDR

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

type MessageModifyReplica_V1

type MessageModifyReplica_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageModifyReplicaV1 `idl:"name:V1" json:"v1"`
}

MessageModifyReplica_V1 structure represents DRS_MSG_REPMOD RPC union arm.

It has following labels: 1

func (*MessageModifyReplica_V1) MarshalNDR

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

func (*MessageModifyReplica_V1) UnmarshalNDR

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

type MessageMoveReply

type MessageMoveReply struct {
	// Types that are assignable to Value
	//
	// *MessageMoveReply_V1
	// *MessageMoveReply_V2
	Value is_MessageMoveReply `json:"value"`
}

MessageMoveReply structure represents DRS_MSG_MOVEREPLY RPC union.

The DRS_MSG_MOVEREPLY union defines the response messages received from the IDL_DRSInterDomainMove method.

func (*MessageMoveReply) GetValue

func (o *MessageMoveReply) GetValue() any

func (*MessageMoveReply) MarshalUnionNDR

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

func (*MessageMoveReply) NDRSwitchValue

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

func (*MessageMoveReply) UnmarshalUnionNDR

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

type MessageMoveReplyV1

type MessageMoveReplyV1 struct {
	// ppResult:  The object as it appears following the move operation.
	Result *EntityInfo `idl:"name:ppResult" json:"result"`
	// PrefixTable:  The prefix table with which to translate the ATTRTYP values in ppResult
	// to OIDs.
	PrefixTable *SchemaPrefixTable `idl:"name:PrefixTable" json:"prefix_table"`
	// pError:  0 if successful, or non-zero if a fatal error occurred.
	Error uint32 `idl:"name:pError" json:"error"`
}

MessageMoveReplyV1 structure represents DRS_MSG_MOVEREPLY_V1 RPC structure.

The DRS_MSG_MOVEREPLY_V1 structure defines a response message received from the IDL_DRSInterDomainMove method. This response version is obsolete.<35>

func (*MessageMoveReplyV1) MarshalNDR

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

func (*MessageMoveReplyV1) UnmarshalNDR

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

type MessageMoveReplyV2

type MessageMoveReplyV2 struct {
	// win32Error:  0 if successful, or non-zero if a fatal error occurred.
	Win32Error uint32 `idl:"name:win32Error" json:"win32_error"`
	// pAddedName:  The name of the object in its new domain.
	AddedName *DSName `idl:"name:pAddedName;pointer:unique" json:"added_name"`
}

MessageMoveReplyV2 structure represents DRS_MSG_MOVEREPLY_V2 RPC structure.

The DRS_MSG_MOVEREPLY_V2 structure defines a response message received from the IDL_DRSInterDomainMove method.

func (*MessageMoveReplyV2) MarshalNDR

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

func (*MessageMoveReplyV2) UnmarshalNDR

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

type MessageMoveReply_V1

type MessageMoveReply_V1 struct {
	// V1:  The version 1 response (obsolete).
	V1 *MessageMoveReplyV1 `idl:"name:V1" json:"v1"`
}

MessageMoveReply_V1 structure represents DRS_MSG_MOVEREPLY RPC union arm.

It has following labels: 1

func (*MessageMoveReply_V1) MarshalNDR

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

func (*MessageMoveReply_V1) UnmarshalNDR

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

type MessageMoveReply_V2

type MessageMoveReply_V2 struct {
	// V2:  The version 2 response.
	V2 *MessageMoveReplyV2 `idl:"name:V2" json:"v2"`
}

MessageMoveReply_V2 structure represents DRS_MSG_MOVEREPLY RPC union arm.

It has following labels: 2

func (*MessageMoveReply_V2) MarshalNDR

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

func (*MessageMoveReply_V2) UnmarshalNDR

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

type MessageMoveRequest

type MessageMoveRequest struct {
	// Types that are assignable to Value
	//
	// *MessageMoveRequest_V1
	// *MessageMoveRequest_V2
	Value is_MessageMoveRequest `json:"value"`
}

MessageMoveRequest structure represents DRS_MSG_MOVEREQ RPC union.

The DRS_MSG_MOVEREQ union defines the request messages sent to the IDL_DRSInterDomainMove method.

func (*MessageMoveRequest) GetValue

func (o *MessageMoveRequest) GetValue() any

func (*MessageMoveRequest) MarshalUnionNDR

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

func (*MessageMoveRequest) NDRSwitchValue

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

func (*MessageMoveRequest) UnmarshalUnionNDR

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

type MessageMoveRequestV1

type MessageMoveRequestV1 struct {
	// pSourceDSA:  The NetworkAddress of the client DC.
	SourceDSA string `idl:"name:pSourceDSA" json:"source_dsa"`
	// pObject:  The object to be moved.
	Object *EntityInfo `idl:"name:pObject" json:"object"`
	// pParentUUID:  The objectGUID of the new parent object.
	ParentUUID *dtyp.UUID `idl:"name:pParentUUID" json:"parent_uuid"`
	// PrefixTable:  The prefix table with which to translate the ATTRTYP values in pObject
	// to OIDs.
	PrefixTable *SchemaPrefixTable `idl:"name:PrefixTable" json:"prefix_table"`
	// ulFlags:  Unused. MUST be 0 and ignored.
	Flags uint32 `idl:"name:ulFlags" json:"flags"`
}

MessageMoveRequestV1 structure represents DRS_MSG_MOVEREQ_V1 RPC structure.

The DRS_MSG_MOVEREQ_V1 structure defines a request message sent to the IDL_DRSInterDomainMove method. This request version is obsolete.<34>

func (*MessageMoveRequestV1) MarshalNDR

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

func (*MessageMoveRequestV1) UnmarshalNDR

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

type MessageMoveRequestV2

type MessageMoveRequestV2 struct {
	// pSrcDSA:  The client DC nTDSDSA object.
	SourceDSA *DSName `idl:"name:pSrcDSA" json:"source_dsa"`
	// pSrcObject:  The object to be moved.
	SourceObject *EntityInfo `idl:"name:pSrcObject" json:"source_object"`
	// pDstName:  The name the object will have in the destination domain.
	DestinationName *DSName `idl:"name:pDstName" json:"destination_name"`
	// pExpectedTargetNC:  The NC to which pSrcObject is being moved.
	ExpectedTargetNC *DSName `idl:"name:pExpectedTargetNC" json:"expected_target_nc"`
	// pClientCreds:  The credentials of the user initiating the call.
	ClientCreds *SecurityBufferDesc `idl:"name:pClientCreds" json:"client_creds"`
	// PrefixTable:  The prefix table with which to translate the ATTRTYP values in pSrcObject
	// to OIDs.
	PrefixTable *SchemaPrefixTable `idl:"name:PrefixTable" json:"prefix_table"`
	// ulFlags:  Unused. MUST be 0 and ignored.
	Flags uint32 `idl:"name:ulFlags" json:"flags"`
}

MessageMoveRequestV2 structure represents DRS_MSG_MOVEREQ_V2 RPC structure.

The DRS_MSG_MOVEREQ_V2 structure defines a request message sent to the IDL_DRSInterDomainMove method.

func (*MessageMoveRequestV2) MarshalNDR

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

func (*MessageMoveRequestV2) UnmarshalNDR

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

type MessageMoveRequest_V1

type MessageMoveRequest_V1 struct {
	// V1:  The version 1 request (obsolete).
	V1 *MessageMoveRequestV1 `idl:"name:V1" json:"v1"`
}

MessageMoveRequest_V1 structure represents DRS_MSG_MOVEREQ RPC union arm.

It has following labels: 1

func (*MessageMoveRequest_V1) MarshalNDR

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

func (*MessageMoveRequest_V1) UnmarshalNDR

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

type MessageMoveRequest_V2

type MessageMoveRequest_V2 struct {
	// V2:  The version 2 request.
	V2 *MessageMoveRequestV2 `idl:"name:V2" json:"v2"`
}

MessageMoveRequest_V2 structure represents DRS_MSG_MOVEREQ RPC union arm.

It has following labels: 2

func (*MessageMoveRequest_V2) MarshalNDR

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

func (*MessageMoveRequest_V2) UnmarshalNDR

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

type MessageNT4ChangeLogReply

type MessageNT4ChangeLogReply struct {
	// Types that are assignable to Value
	//
	// *MessageNT4ChangeLogReply_V1
	Value is_MessageNT4ChangeLogReply `json:"value"`
}

MessageNT4ChangeLogReply structure represents DRS_MSG_NT4_CHGLOG_REPLY RPC union.

The DRS_MSG_NT4_CHGLOG_REPLY union defines the response messages received from the IDL_DRSGetNT4ChangeLog method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageNT4ChangeLogReply) GetValue

func (o *MessageNT4ChangeLogReply) GetValue() any

func (*MessageNT4ChangeLogReply) MarshalUnionNDR

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

func (*MessageNT4ChangeLogReply) NDRSwitchValue

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

func (*MessageNT4ChangeLogReply) UnmarshalUnionNDR

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

type MessageNT4ChangeLogReplyV1

type MessageNT4ChangeLogReplyV1 struct {
	// cbRestart:  Zero if pRestart = null. Otherwise, the size, in bytes, of pRestart^.
	RestartLength uint32 `idl:"name:cbRestart" json:"restart_length"`
	// cbLog:  Zero if pRestart = null. Otherwise, the size, in bytes, of pLog^.
	LogLength uint32 `idl:"name:cbLog" json:"log_length"`
	// ReplicationState:  The replication state for Windows NT 4.0 operating system DCs.
	ReplicationState *NT4ReplicationState `idl:"name:ReplicationState" json:"replication_state"`
	// ActualNtStatus:  A STATUS code. See the pseudo-code for interpretation.
	ActualNTStatus uint32 `idl:"name:ActualNtStatus" json:"actual_nt_status"`
	// pRestart:  Null if no entries were returned. Otherwise, a pointer to an opaque value
	// identifying the last entry returned in pLog.
	Restart []byte `idl:"name:pRestart;size_is:(cbRestart)" json:"restart"`
	// pLog:  The buffer containing the next entries from the change log.
	Log []byte `idl:"name:pLog;size_is:(cbLog)" json:"log"`
}

MessageNT4ChangeLogReplyV1 structure represents DRS_MSG_NT4_CHGLOG_REPLY_V1 RPC structure.

The DRS_MSG_NT4_CHGLOG_REPLY_V1 structure defines the response message received from the IDL_DRSGetNT4ChangeLog method.

func (*MessageNT4ChangeLogReplyV1) MarshalNDR

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

func (*MessageNT4ChangeLogReplyV1) UnmarshalNDR

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

type MessageNT4ChangeLogReply_V1

type MessageNT4ChangeLogReply_V1 struct {
	// V1:  The version 1 reply.
	V1 *MessageNT4ChangeLogReplyV1 `idl:"name:V1" json:"v1"`
}

MessageNT4ChangeLogReply_V1 structure represents DRS_MSG_NT4_CHGLOG_REPLY RPC union arm.

It has following labels: 1

func (*MessageNT4ChangeLogReply_V1) MarshalNDR

func (*MessageNT4ChangeLogReply_V1) UnmarshalNDR

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

type MessageNT4ChangeLogRequest

type MessageNT4ChangeLogRequest struct {
	// Types that are assignable to Value
	//
	// *MessageNT4ChangeLogRequest_V1
	Value is_MessageNT4ChangeLogRequest `json:"value"`
}

MessageNT4ChangeLogRequest structure represents DRS_MSG_NT4_CHGLOG_REQ RPC union.

The DRS_MSG_NT4_CHGLOG_REQ_V1 structure defines the request message sent to the IDL_DRSGetNT4ChangeLog method.

func (*MessageNT4ChangeLogRequest) GetValue

func (o *MessageNT4ChangeLogRequest) GetValue() any

func (*MessageNT4ChangeLogRequest) MarshalUnionNDR

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

func (*MessageNT4ChangeLogRequest) NDRSwitchValue

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

func (*MessageNT4ChangeLogRequest) UnmarshalUnionNDR

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

type MessageNT4ChangeLogRequestV1

type MessageNT4ChangeLogRequestV1 struct {
	// dwFlags:  Zero or more of the following bit flags, which are presented in little-endian
	// byte order:
	//
	//	+---+---+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 | 5 |  6  |  7  | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |   |     |     |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| X | X | X | X | X | X | S N | C L | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
	//	+---+---+---+---+---+---+-----+-----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero and ignored.
	//
	// CL (DRS_NT4_CHGLOG_GET_CHANGE_LOG, 0x00000001): If set, the server returns the PDC
	// change log.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// PreferredMaximumLength:  The maximum size, in bytes, of the change log data that
	// is to be retrieved in a single operation.
	PreferredMaximumLength uint32 `idl:"name:PreferredMaximumLength" json:"preferred_maximum_length"`
	// cbRestart: Zero if pRestart = null. Otherwise, the size, in bytes, of pRestart^.
	RestartLength uint32 `idl:"name:cbRestart" json:"restart_length"`
	// pRestart: Null to request the change log from the beginning. Otherwise, a pointer
	// to an opaque value, returned in some previous call to IDL_DRSGetNT4ChangeLog, identifying
	// the last change log entry returned in that previous call.
	Restart []byte `idl:"name:pRestart;size_is:(cbRestart)" json:"restart"`
}

MessageNT4ChangeLogRequestV1 structure represents DRS_MSG_NT4_CHGLOG_REQ_V1 RPC structure.

The DRS_MSG_NT4_CHGLOG_REQ_V1 structure defines the request message sent to the IDL_DRSGetNT4ChangeLog method.

func (*MessageNT4ChangeLogRequestV1) MarshalNDR

func (*MessageNT4ChangeLogRequestV1) UnmarshalNDR

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

type MessageNT4ChangeLogRequest_V1

type MessageNT4ChangeLogRequest_V1 struct {
	V1 *MessageNT4ChangeLogRequestV1 `idl:"name:V1" json:"v1"`
}

MessageNT4ChangeLogRequest_V1 structure represents DRS_MSG_NT4_CHGLOG_REQ RPC union arm.

It has following labels: 1

func (*MessageNT4ChangeLogRequest_V1) MarshalNDR

func (*MessageNT4ChangeLogRequest_V1) UnmarshalNDR

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

type MessageQuerySitesReply

type MessageQuerySitesReply struct {
	// Types that are assignable to Value
	//
	// *MessageQuerySitesReply_V1
	Value is_MessageQuerySitesReply `json:"value"`
}

MessageQuerySitesReply structure represents DRS_MSG_QUERYSITESREPLY RPC union.

The DRS_MSG_QUERYSITESREPLY union defines the response messages received from the IDL_DRSQuerySitesByCost method.

func (*MessageQuerySitesReply) GetValue

func (o *MessageQuerySitesReply) GetValue() any

func (*MessageQuerySitesReply) MarshalUnionNDR

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

func (*MessageQuerySitesReply) NDRSwitchValue

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

func (*MessageQuerySitesReply) UnmarshalUnionNDR

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

type MessageQuerySitesReplyElementV1

type MessageQuerySitesReplyElementV1 struct {
	// dwErrorCode:  0 if this "from-to" computation was successful, or ERROR_DS_OBJ_NOT_FOUND
	// if the "to" site does not exist.
	ErrorCode uint32 `idl:"name:dwErrorCode" json:"error_code"`
	// dwCost:  The communication cost between the "from" site and this "to" site, or 0xFFFFFFFF
	// if the sites are not connected.
	Cost uint32 `idl:"name:dwCost" json:"cost"`
}

MessageQuerySitesReplyElementV1 structure represents DRS_MSG_QUERYSITESREPLYELEMENT_V1 RPC structure.

The DRS_MSG_QUERYSITESREPLYELEMENT_V1 structure defines the computed cost of communication between two sites.

func (*MessageQuerySitesReplyElementV1) MarshalNDR

func (*MessageQuerySitesReplyElementV1) UnmarshalNDR

type MessageQuerySitesReplyV1

type MessageQuerySitesReplyV1 struct {
	// cToSites:  The number of items in the rgCostInfo array.
	ToSitesCount uint32 `idl:"name:cToSites" json:"to_sites_count"`
	// rgCostInfo:  The sequence of computed site costs, in the same order as the rgszToSites
	// field in the request message.
	CostInfo []*MessageQuerySitesReplyElementV1 `idl:"name:rgCostInfo;size_is:(cToSites)" json:"cost_info"`
	// dwFlags:  Unused. MUST be 0 and ignored.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
}

MessageQuerySitesReplyV1 structure represents DRS_MSG_QUERYSITESREPLY_V1 RPC structure.

The DRS_MSG_QUERYSITESREPLY_V1 structure defines a response message received from the IDL_DRSQuerySitesByCost method.

func (*MessageQuerySitesReplyV1) MarshalNDR

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

func (*MessageQuerySitesReplyV1) UnmarshalNDR

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

type MessageQuerySitesReply_V1

type MessageQuerySitesReply_V1 struct {
	// V1:  The version 1 response.
	V1 *MessageQuerySitesReplyV1 `idl:"name:V1" json:"v1"`
}

MessageQuerySitesReply_V1 structure represents DRS_MSG_QUERYSITESREPLY RPC union arm.

It has following labels: 1

func (*MessageQuerySitesReply_V1) MarshalNDR

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

func (*MessageQuerySitesReply_V1) UnmarshalNDR

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

type MessageQuerySitesRequest

type MessageQuerySitesRequest struct {
	// Types that are assignable to Value
	//
	// *MessageQuerySitesRequest_V1
	Value is_MessageQuerySitesRequest `json:"value"`
}

MessageQuerySitesRequest structure represents DRS_MSG_QUERYSITESREQ RPC union.

The DRS_MSG_QUERYSITESREQ union defines the request message versions sent to the IDL_DRSQuerySitesByCost method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageQuerySitesRequest) GetValue

func (o *MessageQuerySitesRequest) GetValue() any

func (*MessageQuerySitesRequest) MarshalUnionNDR

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

func (*MessageQuerySitesRequest) NDRSwitchValue

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

func (*MessageQuerySitesRequest) UnmarshalUnionNDR

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

type MessageQuerySitesRequestV1

type MessageQuerySitesRequestV1 struct {
	// pwszFromSite:  The RDN of the site object of the "from" site.
	FromSite string `idl:"name:pwszFromSite;string" json:"from_site"`
	// cToSites:  The number of items in the rgszToSites array (the count of "to" sites).
	ToSitesCount uint32 `idl:"name:cToSites" json:"to_sites_count"`
	// rgszToSites:  The RDNs of the site objects of the "to" sites.
	ToSites []string `idl:"name:rgszToSites;size_is:(cToSites);string" json:"to_sites"`
	// dwFlags:  Unused. MUST be 0 and ignored.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
}

MessageQuerySitesRequestV1 structure represents DRS_MSG_QUERYSITESREQ_V1 RPC structure.

The DRS_MSG_QUERYSITESREQ_V1 structure defines a request message sent to the IDL_DRSQuerySitesByCost method.

func (*MessageQuerySitesRequestV1) MarshalNDR

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

func (*MessageQuerySitesRequestV1) UnmarshalNDR

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

type MessageQuerySitesRequest_V1

type MessageQuerySitesRequest_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageQuerySitesRequestV1 `idl:"name:V1" json:"v1"`
}

MessageQuerySitesRequest_V1 structure represents DRS_MSG_QUERYSITESREQ RPC union arm.

It has following labels: 1

func (*MessageQuerySitesRequest_V1) MarshalNDR

func (*MessageQuerySitesRequest_V1) UnmarshalNDR

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

type MessageReadNGCKeyReply

type MessageReadNGCKeyReply struct {
	// Types that are assignable to Value
	//
	// *MessageReadNGCKeyReply_V1
	Value is_MessageReadNGCKeyReply `json:"value"`
}

MessageReadNGCKeyReply structure represents DRS_MSG_READNGCKEYREPLY RPC union.

func (*MessageReadNGCKeyReply) GetValue

func (o *MessageReadNGCKeyReply) GetValue() any

func (*MessageReadNGCKeyReply) MarshalUnionNDR

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

func (*MessageReadNGCKeyReply) NDRSwitchValue

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

func (*MessageReadNGCKeyReply) UnmarshalUnionNDR

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

type MessageReadNGCKeyReplyV1

type MessageReadNGCKeyReplyV1 struct {
	ReturnValue uint32 `idl:"name:retVal" json:"return_value"`
	NGCKeyCount uint32 `idl:"name:cNgcKey" json:"ngc_key_count"`
	NGCKey      []byte `idl:"name:pNgcKey;size_is:(cNgcKey)" json:"ngc_key"`
}

MessageReadNGCKeyReplyV1 structure represents DRS_MSG_READNGCKEYREPLY_V1 RPC structure.

func (*MessageReadNGCKeyReplyV1) MarshalNDR

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

func (*MessageReadNGCKeyReplyV1) UnmarshalNDR

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

type MessageReadNGCKeyReply_V1

type MessageReadNGCKeyReply_V1 struct {
	V1 *MessageReadNGCKeyReplyV1 `idl:"name:V1" json:"v1"`
}

MessageReadNGCKeyReply_V1 structure represents DRS_MSG_READNGCKEYREPLY RPC union arm.

It has following labels: 1

func (*MessageReadNGCKeyReply_V1) MarshalNDR

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

func (*MessageReadNGCKeyReply_V1) UnmarshalNDR

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

type MessageReadNGCKeyRequest

type MessageReadNGCKeyRequest struct {
	// Types that are assignable to Value
	//
	// *MessageReadNGCKeyRequest_V1
	Value is_MessageReadNGCKeyRequest `json:"value"`
}

MessageReadNGCKeyRequest structure represents DRS_MSG_READNGCKEYREQ RPC union.

func (*MessageReadNGCKeyRequest) GetValue

func (o *MessageReadNGCKeyRequest) GetValue() any

func (*MessageReadNGCKeyRequest) MarshalUnionNDR

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

func (*MessageReadNGCKeyRequest) NDRSwitchValue

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

func (*MessageReadNGCKeyRequest) UnmarshalUnionNDR

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

type MessageReadNGCKeyRequestV1

type MessageReadNGCKeyRequestV1 struct {
	Account string `idl:"name:pwszAccount;string" json:"account"`
}

MessageReadNGCKeyRequestV1 structure represents DRS_MSG_READNGCKEYREQ_V1 RPC structure.

func (*MessageReadNGCKeyRequestV1) MarshalNDR

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

func (*MessageReadNGCKeyRequestV1) UnmarshalNDR

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

type MessageReadNGCKeyRequest_V1

type MessageReadNGCKeyRequest_V1 struct {
	V1 *MessageReadNGCKeyRequestV1 `idl:"name:V1" json:"v1"`
}

MessageReadNGCKeyRequest_V1 structure represents DRS_MSG_READNGCKEYREQ RPC union arm.

It has following labels: 1

func (*MessageReadNGCKeyRequest_V1) MarshalNDR

func (*MessageReadNGCKeyRequest_V1) UnmarshalNDR

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

type MessageRemoveDSDomainReply

type MessageRemoveDSDomainReply struct {
	// Types that are assignable to Value
	//
	// *MessageRemoveDSDomainReply_V1
	Value is_MessageRemoveDSDomainReply `json:"value"`
}

MessageRemoveDSDomainReply structure represents DRS_MSG_RMDMNREPLY RPC union.

The DRS_MSG_RMDMNREPLY union defines the response messages received from the IDL_DRSRemoveDsDomain method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageRemoveDSDomainReply) GetValue

func (o *MessageRemoveDSDomainReply) GetValue() any

func (*MessageRemoveDSDomainReply) MarshalUnionNDR

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

func (*MessageRemoveDSDomainReply) NDRSwitchValue

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

func (*MessageRemoveDSDomainReply) UnmarshalUnionNDR

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

type MessageRemoveDSDomainReplyV1

type MessageRemoveDSDomainReplyV1 struct {
	// contains filtered or unexported fields
}

MessageRemoveDSDomainReplyV1 structure represents DRS_MSG_RMDMNREPLY_V1 RPC structure.

The DRS_MSG_RMDMNREPLY_V1 structure defines a response message received from the IDL_DRSRemoveDsDomain method.

func (*MessageRemoveDSDomainReplyV1) MarshalNDR

func (*MessageRemoveDSDomainReplyV1) UnmarshalNDR

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

type MessageRemoveDSDomainReply_V1

type MessageRemoveDSDomainReply_V1 struct {
	// V1:  The version 1 response.
	V1 *MessageRemoveDSDomainReplyV1 `idl:"name:V1" json:"v1"`
}

MessageRemoveDSDomainReply_V1 structure represents DRS_MSG_RMDMNREPLY RPC union arm.

It has following labels: 1

func (*MessageRemoveDSDomainReply_V1) MarshalNDR

func (*MessageRemoveDSDomainReply_V1) UnmarshalNDR

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

type MessageRemoveDSDomainRequest

type MessageRemoveDSDomainRequest struct {
	// Types that are assignable to Value
	//
	// *MessageRemoveDSDomainRequest_V1
	Value is_MessageRemoveDSDomainRequest `json:"value"`
}

MessageRemoveDSDomainRequest structure represents DRS_MSG_RMDMNREQ RPC union.

The DRS_MSG_RMDMNREQ union defines the request messages sent to the IDL_DRSRemoveDsDomain method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageRemoveDSDomainRequest) GetValue

func (o *MessageRemoveDSDomainRequest) GetValue() any

func (*MessageRemoveDSDomainRequest) MarshalUnionNDR

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

func (*MessageRemoveDSDomainRequest) NDRSwitchValue

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

func (*MessageRemoveDSDomainRequest) UnmarshalUnionNDR

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

type MessageRemoveDSDomainRequestV1

type MessageRemoveDSDomainRequestV1 struct {
	// DomainDN:  The DN of the NC root of the domain NC to remove.
	DomainDN string `idl:"name:DomainDN;string" json:"domain_dn"`
}

MessageRemoveDSDomainRequestV1 structure represents DRS_MSG_RMDMNREQ_V1 RPC structure.

The DRS_MSG_RMDMNREQ_V1 structure defines a request message sent to the IDL_DRSRemoveDsDomain method.

func (*MessageRemoveDSDomainRequestV1) MarshalNDR

func (*MessageRemoveDSDomainRequestV1) UnmarshalNDR

type MessageRemoveDSDomainRequest_V1

type MessageRemoveDSDomainRequest_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageRemoveDSDomainRequestV1 `idl:"name:V1" json:"v1"`
}

MessageRemoveDSDomainRequest_V1 structure represents DRS_MSG_RMDMNREQ RPC union arm.

It has following labels: 1

func (*MessageRemoveDSDomainRequest_V1) MarshalNDR

func (*MessageRemoveDSDomainRequest_V1) UnmarshalNDR

type MessageRemoveServerReply

type MessageRemoveServerReply struct {
	// Types that are assignable to Value
	//
	// *MessageRemoveServerReply_V1
	Value is_MessageRemoveServerReply `json:"value"`
}

MessageRemoveServerReply structure represents DRS_MSG_RMSVRREPLY RPC union.

The DRS_MSG_RMSVRREPLY union defines the response messages received from the IDL_DRSRemoveDsServer method.

func (*MessageRemoveServerReply) GetValue

func (o *MessageRemoveServerReply) GetValue() any

func (*MessageRemoveServerReply) MarshalUnionNDR

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

func (*MessageRemoveServerReply) NDRSwitchValue

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

func (*MessageRemoveServerReply) UnmarshalUnionNDR

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

type MessageRemoveServerReplyV1

type MessageRemoveServerReplyV1 struct {
	// fLastDcInDomain:  True if the DC is the last DC in its domain, and pmsgIn^.V1.DomainDN
	// was set to the DN of the NC root of the domain to which the DC belongs. Otherwise,
	// false.
	LastDCInDomain bool `idl:"name:fLastDcInDomain" json:"last_dc_in_domain"`
}

MessageRemoveServerReplyV1 structure represents DRS_MSG_RMSVRREPLY_V1 RPC structure.

The DRS_MSG_RMSVRREPLY_V1 structure defines a response message received from the IDL_DRSRemoveDsServer method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageRemoveServerReplyV1) MarshalNDR

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

func (*MessageRemoveServerReplyV1) UnmarshalNDR

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

type MessageRemoveServerReply_V1

type MessageRemoveServerReply_V1 struct {
	// V1:  The version 1 response.
	V1 *MessageRemoveServerReplyV1 `idl:"name:V1" json:"v1"`
}

MessageRemoveServerReply_V1 structure represents DRS_MSG_RMSVRREPLY RPC union arm.

It has following labels: 1

func (*MessageRemoveServerReply_V1) MarshalNDR

func (*MessageRemoveServerReply_V1) UnmarshalNDR

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

type MessageRemoveServerRequest

type MessageRemoveServerRequest struct {
	// Types that are assignable to Value
	//
	// *MessageRemoveServerRequest_V1
	Value is_MessageRemoveServerRequest `json:"value"`
}

MessageRemoveServerRequest structure represents DRS_MSG_RMSVRREQ RPC union.

The DRS_MSG_RMSVRREQ union defines the request messages sent to the IDL_DRSRemoveDsServer method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageRemoveServerRequest) GetValue

func (o *MessageRemoveServerRequest) GetValue() any

func (*MessageRemoveServerRequest) MarshalUnionNDR

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

func (*MessageRemoveServerRequest) NDRSwitchValue

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

func (*MessageRemoveServerRequest) UnmarshalUnionNDR

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

type MessageRemoveServerRequestV1

type MessageRemoveServerRequestV1 struct {
	// ServerDN:  The DN of the server object of the DC to remove.
	ServerDN string `idl:"name:ServerDN;string" json:"server_dn"`
	// DomainDN:  The DN of the NC root of the domain that the DC to be removed belongs
	// to. Can be set to null if the client does not want the server to compute the value
	// of pmsgOut^.V1.fLastDCInDomain.
	DomainDN string `idl:"name:DomainDN;string" json:"domain_dn"`
	// fCommit:  True if the DC's metadata should actually be removed from the directory.
	// False if the metadata should not be removed. (This is used by a client that wants
	// to determine the value of pmsgOut^.V1.fLastDcInDomain without altering the directory.)
	Commit bool `idl:"name:fCommit" json:"commit"`
}

MessageRemoveServerRequestV1 structure represents DRS_MSG_RMSVRREQ_V1 RPC structure.

The DRS_MSG_RMSVRREQ_V1 structure defines a request message sent to the IDL_DRSRemoveDsServer method.

func (*MessageRemoveServerRequestV1) MarshalNDR

func (*MessageRemoveServerRequestV1) UnmarshalNDR

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

type MessageRemoveServerRequest_V1

type MessageRemoveServerRequest_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageRemoveServerRequestV1 `idl:"name:V1" json:"v1"`
}

MessageRemoveServerRequest_V1 structure represents DRS_MSG_RMSVRREQ RPC union arm.

It has following labels: 1

func (*MessageRemoveServerRequest_V1) MarshalNDR

func (*MessageRemoveServerRequest_V1) UnmarshalNDR

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

type MessageReplicaDemotionReply

type MessageReplicaDemotionReply struct {
	// Types that are assignable to Value
	//
	// *MessageReplicaDemotionReply_V1
	Value is_MessageReplicaDemotionReply `json:"value"`
}

MessageReplicaDemotionReply structure represents DRS_MSG_REPLICA_DEMOTIONREPLY RPC union.

The DRS_MSG_REPLICA_DEMOTIONREPLY union defines the response messages received from the IDL_DRSReplicaDemotion method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

V1: The version 1 reply.

func (*MessageReplicaDemotionReply) GetValue

func (o *MessageReplicaDemotionReply) GetValue() any

func (*MessageReplicaDemotionReply) MarshalUnionNDR

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

func (*MessageReplicaDemotionReply) NDRSwitchValue

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

func (*MessageReplicaDemotionReply) UnmarshalUnionNDR

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

type MessageReplicaDemotionReplyV1

type MessageReplicaDemotionReplyV1 struct {
	// dwOpError:  The Win32 error code, as specified in [MS-ERREF] section 2.2.
	OperationError uint32 `idl:"name:dwOpError" json:"operation_error"`
}

MessageReplicaDemotionReplyV1 structure represents DRS_MSG_REPLICA_DEMOTIONREPLY_V1 RPC structure.

The DRS_MSG_REPLICA_DEMOTIONREPLY_V1 structure defines a response message received from the IDL_DRSReplicaDemotion method.

func (*MessageReplicaDemotionReplyV1) MarshalNDR

func (*MessageReplicaDemotionReplyV1) UnmarshalNDR

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

type MessageReplicaDemotionReply_V1

type MessageReplicaDemotionReply_V1 struct {
	V1 *MessageReplicaDemotionReplyV1 `idl:"name:V1" json:"v1"`
}

MessageReplicaDemotionReply_V1 structure represents DRS_MSG_REPLICA_DEMOTIONREPLY RPC union arm.

It has following labels: 1

func (*MessageReplicaDemotionReply_V1) MarshalNDR

func (*MessageReplicaDemotionReply_V1) UnmarshalNDR

type MessageReplicaDemotionRequest

type MessageReplicaDemotionRequest struct {
	// Types that are assignable to Value
	//
	// *MessageReplicaDemotionRequest_V1
	Value is_MessageReplicaDemotionRequest `json:"value"`
}

MessageReplicaDemotionRequest structure represents DRS_MSG_REPLICA_DEMOTIONREQ RPC union.

The DRS_MSG_REPLICA_DEMOTIONREQ union defines the request messages sent to the IDL_DRSReplicaDemotion method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageReplicaDemotionRequest) GetValue

func (o *MessageReplicaDemotionRequest) GetValue() any

func (*MessageReplicaDemotionRequest) MarshalUnionNDR

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

func (*MessageReplicaDemotionRequest) NDRSwitchValue

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

func (*MessageReplicaDemotionRequest) UnmarshalUnionNDR

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

type MessageReplicaDemotionRequestV1

type MessageReplicaDemotionRequestV1 struct {
	// dwFlags:  Zero or more of the following bit flags, which are presented in little-endian
	// byte order.
	//
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| X | X | X | X | X | X | X | T | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// uuidHelperDest:  Unused. Must be NULL GUID and ignored.
	HelperDestination *dtyp.UUID `idl:"name:uuidHelperDest" json:"helper_destination"`
	// pNC:  The DSNAME of the NC to replicate off.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
}

MessageReplicaDemotionRequestV1 structure represents DRS_MSG_REPLICA_DEMOTIONREQ_V1 RPC structure.

The DRS_MSG_REPLICA_DEMOTIONREQ_V1 structure defines a request message sent to the IDL_DRSReplicaDemotion method.

func (*MessageReplicaDemotionRequestV1) MarshalNDR

func (*MessageReplicaDemotionRequestV1) UnmarshalNDR

type MessageReplicaDemotionRequest_V1

type MessageReplicaDemotionRequest_V1 struct {
	// V1:  The version 1 request. Only one version is defined.
	V1 *MessageReplicaDemotionRequestV1 `idl:"name:V1" json:"v1"`
}

MessageReplicaDemotionRequest_V1 structure represents DRS_MSG_REPLICA_DEMOTIONREQ RPC union arm.

It has following labels: 1

func (*MessageReplicaDemotionRequest_V1) MarshalNDR

func (*MessageReplicaDemotionRequest_V1) UnmarshalNDR

type MessageReplicaSync

type MessageReplicaSync struct {
	// Types that are assignable to Value
	//
	// *MessageReplicaSync_V1
	// *MessageReplicaSync_V2
	Value is_MessageReplicaSync `json:"value"`
}

MessageReplicaSync structure represents DRS_MSG_REPSYNC RPC union.

The DRS_MSG_REPSYNC union defines the request messages sent to the IDL_DRSReplicaSync method. Only one version, identified by dwVersion = 1, is currently defined.

func (*MessageReplicaSync) GetValue

func (o *MessageReplicaSync) GetValue() any

func (*MessageReplicaSync) MarshalUnionNDR

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

func (*MessageReplicaSync) NDRSwitchValue

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

func (*MessageReplicaSync) UnmarshalUnionNDR

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

type MessageReplicaSyncV1

type MessageReplicaSyncV1 struct {
	// pNC:  A pointer to DSName of the root of an NC replica on the server.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// uuidDsaSrc:  The DSA GUID.
	DSASourceID *dtyp.UUID `idl:"name:uuidDsaSrc" json:"dsa_source_id"`
	// pszDsaSrc:  The transport-specific NetworkAddress of a DC.
	DSASource string `idl:"name:pszDsaSrc;string;pointer:unique" json:"dsa_source"`
	// ulOptions:  The DRS_OPTIONS flags.
	Options uint32 `idl:"name:ulOptions" json:"options"`
}

MessageReplicaSyncV1 structure represents DRS_MSG_REPSYNC_V1 RPC structure.

The DRS_MSG_REPSYNC_V1 structure defines a request message sent to the IDL_DRSReplicaSync method.

func (*MessageReplicaSyncV1) MarshalNDR

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

func (*MessageReplicaSyncV1) UnmarshalNDR

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

type MessageReplicaSyncV2

type MessageReplicaSyncV2 struct {
	NC             *DSName                   `idl:"name:pNC;pointer:ref" json:"nc"`
	DSASourceID    *dtyp.UUID                `idl:"name:uuidDsaSrc" json:"dsa_source_id"`
	DSASource      string                    `idl:"name:pszDsaSrc;string;pointer:unique" json:"dsa_source"`
	Options        uint32                    `idl:"name:ulOptions" json:"options"`
	CorrelationID  *dtyp.GUID                `idl:"name:correlationID" json:"correlation_id"`
	ReservedBuffer *VarSizeBufferWithVersion `idl:"name:pReservedBuffer;pointer:unique" json:"reserved_buffer"`
}

MessageReplicaSyncV2 structure represents DRS_MSG_REPSYNC_V2 RPC structure.

func (*MessageReplicaSyncV2) MarshalNDR

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

func (*MessageReplicaSyncV2) UnmarshalNDR

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

type MessageReplicaSync_V1

type MessageReplicaSync_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageReplicaSyncV1 `idl:"name:V1" json:"v1"`
}

MessageReplicaSync_V1 structure represents DRS_MSG_REPSYNC RPC union arm.

It has following labels: 1

func (*MessageReplicaSync_V1) MarshalNDR

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

func (*MessageReplicaSync_V1) UnmarshalNDR

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

type MessageReplicaSync_V2

type MessageReplicaSync_V2 struct {
	// V2:  The version 2 request.
	V2 *MessageReplicaSyncV2 `idl:"name:V2" json:"v2"`
}

MessageReplicaSync_V2 structure represents DRS_MSG_REPSYNC RPC union arm.

It has following labels: 2

func (*MessageReplicaSync_V2) MarshalNDR

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

func (*MessageReplicaSync_V2) UnmarshalNDR

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

type MessageReverseMembershipReply

type MessageReverseMembershipReply struct {
	// Types that are assignable to Value
	//
	// *MessageReverseMembershipReply_V1
	Value is_MessageReverseMembershipReply `json:"value"`
}

MessageReverseMembershipReply structure represents DRS_MSG_REVMEMB_REPLY RPC union.

The DRS_MSG_REVMEMB_REPLY union defines the response messages received from the IDL_DRSGetMemberships method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageReverseMembershipReply) GetValue

func (o *MessageReverseMembershipReply) GetValue() any

func (*MessageReverseMembershipReply) MarshalUnionNDR

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

func (*MessageReverseMembershipReply) NDRSwitchValue

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

func (*MessageReverseMembershipReply) UnmarshalUnionNDR

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

type MessageReverseMembershipReplyV1

type MessageReverseMembershipReplyV1 struct {
	// errCode:  0 on success. On failure, this can be one of the following.
	//
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	|                                          |                                                                                  |
	//	|                  VALUE                   |                                     MEANING                                      |
	//	|                                          |                                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| STATUS_INSUFFICIENT_RESOURCES 0xC000009A | Insufficient system resources exist to complete the request.                     |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| STATUS_TOO_MANY_CONTEXT_IDS 0xC000015A   | The number of groups is greater than the number that can be returned to the      |
	//	|                                          | caller.                                                                          |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	ErrorCode uint32 `idl:"name:errCode" json:"error_code"`
	// cDsNames:  Count of items in the ppDsNames array.
	DSNamesCount uint32 `idl:"name:cDsNames" json:"ds_names_count"`
	// cSidHistory:  Count of items in the ppSidHistory array.
	SIDHistoryCount uint32 `idl:"name:cSidHistory" json:"sid_history_count"`
	// ppDsNames:  The filtered group membership. This list contains the combined membership
	// for all the names specified in ppDsNames field of the input DRS_MSG_REVMEMB_REQ_V1
	// structure.
	DSNames []*DSName `idl:"name:ppDsNames;size_is:(cDsNames, )" json:"ds_names"`
	// pAttributes:  Properties of the returned groups. Values are chosen from SE_GROUP
	// values.
	Attributes []uint32 `idl:"name:pAttributes;size_is:(cDsNames)" json:"attributes"`
	// ppSidHistory:  SID history of the returned groups.
	SIDHistory []*NT4SID `idl:"name:ppSidHistory;size_is:(cSidHistory, )" json:"sid_history"`
}

MessageReverseMembershipReplyV1 structure represents DRS_MSG_REVMEMB_REPLY_V1 RPC structure.

The DRS_MSG_REVMEMB_REPLY_V1 structure defines the response message received from the IDL_DRSGetMemberships method.

func (*MessageReverseMembershipReplyV1) MarshalNDR

func (*MessageReverseMembershipReplyV1) UnmarshalNDR

type MessageReverseMembershipReply_V1

type MessageReverseMembershipReply_V1 struct {
	// V1:  Version 1 reply.
	V1 *MessageReverseMembershipReplyV1 `idl:"name:V1" json:"v1"`
}

MessageReverseMembershipReply_V1 structure represents DRS_MSG_REVMEMB_REPLY RPC union arm.

It has following labels: 1

func (*MessageReverseMembershipReply_V1) MarshalNDR

func (*MessageReverseMembershipReply_V1) UnmarshalNDR

type MessageReverseMembershipRequest

type MessageReverseMembershipRequest struct {
	// Types that are assignable to Value
	//
	// *MessageReverseMembershipRequest_V1
	Value is_MessageReverseMembershipRequest `json:"value"`
}

MessageReverseMembershipRequest structure represents DRS_MSG_REVMEMB_REQ RPC union.

The DRS_MSG_REVMEMB_REQ union defines the request messages sent to the IDL_DRSGetMemberships method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageReverseMembershipRequest) GetValue

func (o *MessageReverseMembershipRequest) GetValue() any

func (*MessageReverseMembershipRequest) MarshalUnionNDR

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

func (*MessageReverseMembershipRequest) NDRSwitchValue

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

func (*MessageReverseMembershipRequest) UnmarshalUnionNDR

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

type MessageReverseMembershipRequestV1

type MessageReverseMembershipRequestV1 struct {
	// cDsNames:  The count of items in the ppDsNames array.
	DSNamesCount uint32 `idl:"name:cDsNames" json:"ds_names_count"`
	// ppDsNames:  The DSName of the object whose reverse membership is being requested,
	// plus the DSNames of groups of the appropriate type(s) of which it is already known
	// to be a member.
	DSNames []*DSName `idl:"name:ppDsNames;size_is:(cDsNames, )" json:"ds_names"`
	// dwFlags:  Zero or more of the following bit flags, which are presented in little-endian
	// byte order.
	//
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| X | X | X | X | X | X | X | A | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero and ignored.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// OperationType: The type of group membership evaluation to be performed.
	OperationType ReverseMembershipOperationType `idl:"name:OperationType" json:"operation_type"`
	// pLimitingDomain: Domain filter; resulting objects that are not from this domain are
	// neither returned nor followed transitively.
	LimitingDomain *DSName `idl:"name:pLimitingDomain" json:"limiting_domain"`
}

MessageReverseMembershipRequestV1 structure represents DRS_MSG_REVMEMB_REQ_V1 RPC structure.

The DRS_MSG_REVMEMB_REQ_V1 structure defines the request message sent to the IDL_DRSGetMemberships method.

func (*MessageReverseMembershipRequestV1) MarshalNDR

func (*MessageReverseMembershipRequestV1) UnmarshalNDR

type MessageReverseMembershipRequest_V1

type MessageReverseMembershipRequest_V1 struct {
	// V1:  Version 1 request. Currently only one version is defined.
	V1 *MessageReverseMembershipRequestV1 `idl:"name:V1" json:"v1"`
}

MessageReverseMembershipRequest_V1 structure represents DRS_MSG_REVMEMB_REQ RPC union arm.

It has following labels: 1

func (*MessageReverseMembershipRequest_V1) MarshalNDR

func (*MessageReverseMembershipRequest_V1) UnmarshalNDR

type MessageUpdateReferences

type MessageUpdateReferences struct {
	// Types that are assignable to Value
	//
	// *MessageUpdateReferences_V1
	// *MessageUpdateReferences_V2
	Value is_MessageUpdateReferences `json:"value"`
}

MessageUpdateReferences structure represents DRS_MSG_UPDREFS RPC union.

The DRS_MSG_UPDREFS union defines the request message versions sent to the IDL_DRSUpdateRefs method. Only one version, identified by dwVersion = 1, is currently defined.

func (*MessageUpdateReferences) GetValue

func (o *MessageUpdateReferences) GetValue() any

func (*MessageUpdateReferences) MarshalUnionNDR

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

func (*MessageUpdateReferences) NDRSwitchValue

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

func (*MessageUpdateReferences) UnmarshalUnionNDR

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

type MessageUpdateReferencesV1

type MessageUpdateReferencesV1 struct {
	// pNC:  A pointer to the DSNAME of the root of an NC replica on the server.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// pszDsaDest:  The transport-specific NetworkAddress of a DC.
	DSADestination string `idl:"name:pszDsaDest;string;pointer:ref" json:"dsa_destination"`
	// uuidDsaObjDest:  The DSA GUID.
	DSAObjectDestination *dtyp.UUID `idl:"name:uuidDsaObjDest" json:"dsa_object_destination"`
	// ulOptions:  The DRS_OPTIONS that control the update.
	Options uint32 `idl:"name:ulOptions" json:"options"`
}

MessageUpdateReferencesV1 structure represents DRS_MSG_UPDREFS_V1 RPC structure.

The DRS_MSG_UPDREFS_V1 structure defines a request message sent to the IDL_DRSUpdateRefs method.

func (*MessageUpdateReferencesV1) MarshalNDR

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

func (*MessageUpdateReferencesV1) UnmarshalNDR

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

type MessageUpdateReferencesV2

type MessageUpdateReferencesV2 struct {
	NC                   *DSName                   `idl:"name:pNC;pointer:ref" json:"nc"`
	DSADestination       string                    `idl:"name:pszDsaDest;string;pointer:ref" json:"dsa_destination"`
	DSAObjectDestination *dtyp.UUID                `idl:"name:uuidDsaObjDest" json:"dsa_object_destination"`
	Options              uint32                    `idl:"name:ulOptions" json:"options"`
	CorrelationID        *dtyp.GUID                `idl:"name:correlationID" json:"correlation_id"`
	ReservedBuffer       *VarSizeBufferWithVersion `idl:"name:pReservedBuffer;pointer:unique" json:"reserved_buffer"`
}

MessageUpdateReferencesV2 structure represents DRS_MSG_UPDREFS_V2 RPC structure.

func (*MessageUpdateReferencesV2) MarshalNDR

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

func (*MessageUpdateReferencesV2) UnmarshalNDR

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

type MessageUpdateReferences_V1

type MessageUpdateReferences_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageUpdateReferencesV1 `idl:"name:V1" json:"v1"`
}

MessageUpdateReferences_V1 structure represents DRS_MSG_UPDREFS RPC union arm.

It has following labels: 1

func (*MessageUpdateReferences_V1) MarshalNDR

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

func (*MessageUpdateReferences_V1) UnmarshalNDR

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

type MessageUpdateReferences_V2

type MessageUpdateReferences_V2 struct {
	// V2:  The version 2 request.
	V2 *MessageUpdateReferencesV2 `idl:"name:V2" json:"v2"`
}

MessageUpdateReferences_V2 structure represents DRS_MSG_UPDREFS RPC union arm.

It has following labels: 2

func (*MessageUpdateReferences_V2) MarshalNDR

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

func (*MessageUpdateReferences_V2) UnmarshalNDR

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

type MessageVerifyReply

type MessageVerifyReply struct {
	// Types that are assignable to Value
	//
	// *MessageVerifyReply_V1
	Value is_MessageVerifyReply `json:"value"`
}

MessageVerifyReply structure represents DRS_MSG_VERIFYREPLY RPC union.

The DRS_MSG_VERIFYREPLY union defines the response messages received from the IDL_DRSVerifyNames method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageVerifyReply) GetValue

func (o *MessageVerifyReply) GetValue() any

func (*MessageVerifyReply) MarshalUnionNDR

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

func (*MessageVerifyReply) NDRSwitchValue

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

func (*MessageVerifyReply) UnmarshalUnionNDR

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

type MessageVerifyReplyObject

type MessageVerifyReplyObject struct {
	// Types that are assignable to Value
	//
	// *MessageVerifyReplyObject_V1
	Value is_MessageVerifyReplyObject `json:"value"`
}

MessageVerifyReplyObject structure represents DRS_MSG_REPVERIFYOBJ RPC union.

The DRS_MSG_REPVERIFYOBJ union defines the request messages sent to the IDL_DRSReplicaVerifyObjects method. Only one version, identified by dwVersion = 1, is currently defined.

func (*MessageVerifyReplyObject) GetValue

func (o *MessageVerifyReplyObject) GetValue() any

func (*MessageVerifyReplyObject) MarshalUnionNDR

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

func (*MessageVerifyReplyObject) NDRSwitchValue

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

func (*MessageVerifyReplyObject) UnmarshalUnionNDR

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

type MessageVerifyReplyObjectV1

type MessageVerifyReplyObjectV1 struct {
	// pNC:  The NC to verify.
	NC *DSName `idl:"name:pNC;pointer:ref" json:"nc"`
	// uuidDsaSrc:  The objectGUID of the nTDSDSA object for the reference DC.
	DSASourceID *dtyp.UUID `idl:"name:uuidDsaSrc" json:"dsa_source_id"`
	// ulOptions:  0 to expunge each object that is not verified, or 1 to log an event that
	// identifies each such object.
	Options uint32 `idl:"name:ulOptions" json:"options"`
}

MessageVerifyReplyObjectV1 structure represents DRS_MSG_REPVERIFYOBJ_V1 RPC structure.

The DRS_MSG_REPVERIFYOBJ_V1 structure defines a request message sent to the IDL_DRSReplicaVerifyObjects method.

func (*MessageVerifyReplyObjectV1) MarshalNDR

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

func (*MessageVerifyReplyObjectV1) UnmarshalNDR

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

type MessageVerifyReplyObject_V1

type MessageVerifyReplyObject_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageVerifyReplyObjectV1 `idl:"name:V1" json:"v1"`
}

MessageVerifyReplyObject_V1 structure represents DRS_MSG_REPVERIFYOBJ RPC union arm.

It has following labels: 1

func (*MessageVerifyReplyObject_V1) MarshalNDR

func (*MessageVerifyReplyObject_V1) UnmarshalNDR

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

type MessageVerifyReplyV1

type MessageVerifyReplyV1 struct {
	// error:  Unused. MUST be 0 and ignored.
	Error uint32 `idl:"name:error" json:"error"`
	// cNames:  The number of items in the rpEntInf array.
	NamesCount uint32 `idl:"name:cNames" json:"names_count"`
	// rpEntInf:  An array of ENTINF structures that contain the attributes requested in
	// the RequiredAttrs field of the input DRS_MSG_VERIFYREQ_V1 structure if the corresponding
	// name is verified.
	EntityInfo []*EntityInfo `idl:"name:rpEntInf;size_is:(cNames)" json:"entity_info"`
	// PrefixTable:  The prefix table used to translate ATTRTYP values in the response to
	// OIDs.
	PrefixTable *SchemaPrefixTable `idl:"name:PrefixTable" json:"prefix_table"`
}

MessageVerifyReplyV1 structure represents DRS_MSG_VERIFYREPLY_V1 RPC structure.

The DRS_MSG_VERIFYREPLY_V1 structure defines a response message received from the IDL_DRSVerifyNames method.

func (*MessageVerifyReplyV1) MarshalNDR

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

func (*MessageVerifyReplyV1) UnmarshalNDR

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

type MessageVerifyReply_V1

type MessageVerifyReply_V1 struct {
	// V1:  The version 1 reply.
	V1 *MessageVerifyReplyV1 `idl:"name:V1" json:"v1"`
}

MessageVerifyReply_V1 structure represents DRS_MSG_VERIFYREPLY RPC union arm.

It has following labels: 1

func (*MessageVerifyReply_V1) MarshalNDR

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

func (*MessageVerifyReply_V1) UnmarshalNDR

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

type MessageVerifyRequest

type MessageVerifyRequest struct {
	// Types that are assignable to Value
	//
	// *MessageVerifyRequest_V1
	Value is_MessageVerifyRequest `json:"value"`
}

MessageVerifyRequest structure represents DRS_MSG_VERIFYREQ RPC union.

The DRS_MSG_VERIFYREQ union defines the request messages sent to the IDL_DRSVerifyNames method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageVerifyRequest) GetValue

func (o *MessageVerifyRequest) GetValue() any

func (*MessageVerifyRequest) MarshalUnionNDR

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

func (*MessageVerifyRequest) NDRSwitchValue

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

func (*MessageVerifyRequest) UnmarshalUnionNDR

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

type MessageVerifyRequestV1

type MessageVerifyRequestV1 struct {
	// dwFlags:  The type of name to be verified; MUST have one of the following values:
	//
	//	+-----------------------------------------+----------------------------------------+
	//	|                                         |                                        |
	//	|                  VALUE                  |                MEANING                 |
	//	|                                         |                                        |
	//	+-----------------------------------------+----------------------------------------+
	//	+-----------------------------------------+----------------------------------------+
	//	| DRS_VERIFY_DSNAMES 0x00000000           | Verify DSName values.                  |
	//	+-----------------------------------------+----------------------------------------+
	//	| DRS_VERIFY_SIDS 0x00000001              | Verify objectSid values.               |
	//	+-----------------------------------------+----------------------------------------+
	//	| DRS_VERIFY_SAM_ACCOUNT_NAMES 0x00000002 | Verify sAMAccountName values.          |
	//	+-----------------------------------------+----------------------------------------+
	//	| DRS_VERIFY_FPOS 0x00000003              | Verify foreign principal object names. |
	//	+-----------------------------------------+----------------------------------------+
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// cNames:  The number of items in the rpNames array.
	NamesCount uint32 `idl:"name:cNames" json:"names_count"`
	// rpNames:  An array of pointers to DSNames that need to be verified.
	Names []*DSName `idl:"name:rpNames;size_is:(cNames)" json:"names"`
	// RequiredAttrs:  The list of attributes to be retrieved for each name that is verified.
	RequiredAttrs *AttributeBlock `idl:"name:RequiredAttrs" json:"required_attrs"`
	// PrefixTable:  The prefix table used to translate ATTRTYP values in RequiredAttrs
	// to OID values.
	PrefixTable *SchemaPrefixTable `idl:"name:PrefixTable" json:"prefix_table"`
}

MessageVerifyRequestV1 structure represents DRS_MSG_VERIFYREQ_V1 RPC structure.

The DRS_MSG_VERIFYREQ_V1 structure defines a request message sent to the IDL_DRSVerifyNames method.

func (*MessageVerifyRequestV1) MarshalNDR

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

func (*MessageVerifyRequestV1) UnmarshalNDR

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

type MessageVerifyRequest_V1

type MessageVerifyRequest_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageVerifyRequestV1 `idl:"name:V1" json:"v1"`
}

MessageVerifyRequest_V1 structure represents DRS_MSG_VERIFYREQ RPC union arm.

It has following labels: 1

func (*MessageVerifyRequest_V1) MarshalNDR

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

func (*MessageVerifyRequest_V1) UnmarshalNDR

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

type MessageWriteNGCKeyReply

type MessageWriteNGCKeyReply struct {
	// Types that are assignable to Value
	//
	// *MessageWriteNGCKeyReply_V1
	Value is_MessageWriteNGCKeyReply `json:"value"`
}

MessageWriteNGCKeyReply structure represents DRS_MSG_WRITENGCKEYREPLY RPC union.

func (*MessageWriteNGCKeyReply) GetValue

func (o *MessageWriteNGCKeyReply) GetValue() any

func (*MessageWriteNGCKeyReply) MarshalUnionNDR

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

func (*MessageWriteNGCKeyReply) NDRSwitchValue

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

func (*MessageWriteNGCKeyReply) UnmarshalUnionNDR

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

type MessageWriteNGCKeyReplyV1

type MessageWriteNGCKeyReplyV1 struct {
	ReturnValue uint32 `idl:"name:retVal" json:"return_value"`
}

MessageWriteNGCKeyReplyV1 structure represents DRS_MSG_WRITENGCKEYREPLY_V1 RPC structure.

func (*MessageWriteNGCKeyReplyV1) MarshalNDR

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

func (*MessageWriteNGCKeyReplyV1) UnmarshalNDR

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

type MessageWriteNGCKeyReply_V1

type MessageWriteNGCKeyReply_V1 struct {
	V1 *MessageWriteNGCKeyReplyV1 `idl:"name:V1" json:"v1"`
}

MessageWriteNGCKeyReply_V1 structure represents DRS_MSG_WRITENGCKEYREPLY RPC union arm.

It has following labels: 1

func (*MessageWriteNGCKeyReply_V1) MarshalNDR

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

func (*MessageWriteNGCKeyReply_V1) UnmarshalNDR

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

type MessageWriteNGCKeyRequest

type MessageWriteNGCKeyRequest struct {
	// Types that are assignable to Value
	//
	// *MessageWriteNGCKeyRequest_V1
	Value is_MessageWriteNGCKeyRequest `json:"value"`
}

MessageWriteNGCKeyRequest structure represents DRS_MSG_WRITENGCKEYREQ RPC union.

func (*MessageWriteNGCKeyRequest) GetValue

func (o *MessageWriteNGCKeyRequest) GetValue() any

func (*MessageWriteNGCKeyRequest) MarshalUnionNDR

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

func (*MessageWriteNGCKeyRequest) NDRSwitchValue

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

func (*MessageWriteNGCKeyRequest) UnmarshalUnionNDR

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

type MessageWriteNGCKeyRequestV1

type MessageWriteNGCKeyRequestV1 struct {
	Account     string `idl:"name:pwszAccount;string" json:"account"`
	NGCKeyCount uint32 `idl:"name:cNgcKey" json:"ngc_key_count"`
	NGCKey      []byte `idl:"name:pNgcKey;size_is:(cNgcKey)" json:"ngc_key"`
}

MessageWriteNGCKeyRequestV1 structure represents DRS_MSG_WRITENGCKEYREQ_V1 RPC structure.

func (*MessageWriteNGCKeyRequestV1) MarshalNDR

func (*MessageWriteNGCKeyRequestV1) UnmarshalNDR

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

type MessageWriteNGCKeyRequest_V1

type MessageWriteNGCKeyRequest_V1 struct {
	V1 *MessageWriteNGCKeyRequestV1 `idl:"name:V1" json:"v1"`
}

MessageWriteNGCKeyRequest_V1 structure represents DRS_MSG_WRITENGCKEYREQ RPC union arm.

It has following labels: 1

func (*MessageWriteNGCKeyRequest_V1) MarshalNDR

func (*MessageWriteNGCKeyRequest_V1) UnmarshalNDR

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

type MessageWriteSPNReply

type MessageWriteSPNReply struct {
	// Types that are assignable to Value
	//
	// *MessageWriteSPNReply_V1
	Value is_MessageWriteSPNReply `json:"value"`
}

MessageWriteSPNReply structure represents DRS_MSG_SPNREPLY RPC union.

The DRS_MSG_SPNREPLY union defines the response messages received from the IDL_DRSWriteSPN method. Only one version, identified by pdwOutVersion^ = 1, is currently defined.

func (*MessageWriteSPNReply) GetValue

func (o *MessageWriteSPNReply) GetValue() any

func (*MessageWriteSPNReply) MarshalUnionNDR

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

func (*MessageWriteSPNReply) NDRSwitchValue

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

func (*MessageWriteSPNReply) UnmarshalUnionNDR

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

type MessageWriteSPNReplyV1

type MessageWriteSPNReplyV1 struct {
	// retVal:  0, or a Windows error code.
	ReturnValue uint32 `idl:"name:retVal" json:"return_value"`
}

MessageWriteSPNReplyV1 structure represents DRS_MSG_SPNREPLY_V1 RPC structure.

The DRS_MSG_SPNREPLY_V1 structure defines a response message received from the IDL_DRSWriteSPN method.

func (*MessageWriteSPNReplyV1) MarshalNDR

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

func (*MessageWriteSPNReplyV1) UnmarshalNDR

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

type MessageWriteSPNReply_V1

type MessageWriteSPNReply_V1 struct {
	// V1:  The version 1 response.
	V1 *MessageWriteSPNReplyV1 `idl:"name:V1" json:"v1"`
}

MessageWriteSPNReply_V1 structure represents DRS_MSG_SPNREPLY RPC union arm.

It has following labels: 1

func (*MessageWriteSPNReply_V1) MarshalNDR

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

func (*MessageWriteSPNReply_V1) UnmarshalNDR

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

type MessageWriteSPNRequest

type MessageWriteSPNRequest struct {
	// Types that are assignable to Value
	//
	// *MessageWriteSPNRequest_V1
	Value is_MessageWriteSPNRequest `json:"value"`
}

MessageWriteSPNRequest structure represents DRS_MSG_SPNREQ RPC union.

The DRS_MSG_SPNREQ union defines the request messages sent to the IDL_DRSWriteSPN method. Only one version, identified by dwInVersion = 1, is currently defined.

func (*MessageWriteSPNRequest) GetValue

func (o *MessageWriteSPNRequest) GetValue() any

func (*MessageWriteSPNRequest) MarshalUnionNDR

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

func (*MessageWriteSPNRequest) NDRSwitchValue

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

func (*MessageWriteSPNRequest) UnmarshalUnionNDR

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

type MessageWriteSPNRequestV1

type MessageWriteSPNRequestV1 struct {
	// operation:  The SPN operation to perform. MUST be one of the DS_SPN_OPERATION values.
	Operation uint32 `idl:"name:operation" json:"operation"`
	// flags:  Unused. MUST be 0 and ignored.
	Flags uint32 `idl:"name:flags" json:"flags"`
	// pwszAccount:  The DN of the object to modify.
	Account string `idl:"name:pwszAccount;string" json:"account"`
	// cSPN:  The number of items in the rpwszSPN array.
	SPNCount uint32 `idl:"name:cSPN" json:"spn_count"`
	// rpwszSPN:  The SPN values.
	SPN []string `idl:"name:rpwszSPN;size_is:(cSPN);string" json:"spn"`
}

MessageWriteSPNRequestV1 structure represents DRS_MSG_SPNREQ_V1 RPC structure.

The DRS_MSG_SPNREQ_V1 structure defines a request message sent to the IDL_DRSWriteSPN method.

func (*MessageWriteSPNRequestV1) MarshalNDR

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

func (*MessageWriteSPNRequestV1) UnmarshalNDR

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

type MessageWriteSPNRequest_V1

type MessageWriteSPNRequest_V1 struct {
	// V1:  The version 1 request.
	V1 *MessageWriteSPNRequestV1 `idl:"name:V1" json:"v1"`
}

MessageWriteSPNRequest_V1 structure represents DRS_MSG_SPNREQ RPC union arm.

It has following labels: 1

func (*MessageWriteSPNRequest_V1) MarshalNDR

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

func (*MessageWriteSPNRequest_V1) UnmarshalNDR

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

type ModifyReplicaRequest

type ModifyReplicaRequest struct {
	// hDrs: The RPC context handle returned by IDL_DRSBind.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwVersion: The version of the request message.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// pmsgMod: A pointer to the request message.
	Modify *MessageModifyReplica `idl:"name:pmsgMod;switch_is:dwVersion;pointer:ref" json:"modify"`
}

ModifyReplicaRequest structure represents the IDL_DRSReplicaModify operation request

func (*ModifyReplicaRequest) MarshalNDR

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

func (*ModifyReplicaRequest) UnmarshalNDR

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

type ModifyReplicaResponse

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

ModifyReplicaResponse structure represents the IDL_DRSReplicaModify operation response

func (*ModifyReplicaResponse) MarshalNDR

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

func (*ModifyReplicaResponse) UnmarshalNDR

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

type NT4ReplicationState

type NT4ReplicationState struct {
	// SamSerialNumber:  The Windows NT 4.0 replication update sequence number for the SAM
	// database.
	SAMSerialNumber *dtyp.LargeInteger `idl:"name:SamSerialNumber" json:"sam_serial_number"`
	// SamCreationTime:  The time at which the Windows NT 4.0 replication update sequence
	// number for the SAM database was set to 1.
	SAMCreationTime *dtyp.LargeInteger `idl:"name:SamCreationTime" json:"sam_creation_time"`
	// BuiltinSerialNumber:  The Windows NT 4.0 replication update sequence number for the
	// built-in database.
	BuiltinSerialNumber *dtyp.LargeInteger `idl:"name:BuiltinSerialNumber" json:"builtin_serial_number"`
	// BuiltinCreationTime:  The time at which the Windows NT 4.0 replication update sequence
	// number for the built-in database was set to 1.
	BuiltinCreationTime *dtyp.LargeInteger `idl:"name:BuiltinCreationTime" json:"builtin_creation_time"`
	// LsaSerialNumber:  The Windows NT 4.0 replication update sequence number for the local
	// security authority (LSA) database.
	LSASerialNumber *dtyp.LargeInteger `idl:"name:LsaSerialNumber" json:"lsa_serial_number"`
	// LsaCreationTime:  The time at which the Windows NT 4.0 replication update sequence
	// number for the LSA database was set to 1.
	LSACreationTime *dtyp.LargeInteger `idl:"name:LsaCreationTime" json:"lsa_creation_time"`
}

NT4ReplicationState structure represents NT4_REPLICATION_STATE RPC structure.

The NT4_REPLICATION_STATE structure defines the replication state for Windows NT 4.0 operating system DCs, whose interpretation is specified in [MS-ADTS] section 3.1.1.7.1.

func (*NT4ReplicationState) MarshalNDR

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

func (*NT4ReplicationState) UnmarshalNDR

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

type NT4SID

type NT4SID struct {
	// Data:  Bytes that make up a SID structure, as specified in [MS-DTYP] section 2.4.2,
	// in little-endian byte order.
	Data []byte `idl:"name:Data" json:"data"`
}

NT4SID structure represents NT4SID RPC structure.

The NT4SID structure defines a concrete type for a SID.

func (*NT4SID) IsZero added in v1.0.2

func (o *NT4SID) IsZero() bool

IsZero returns true if the NT4SID is nil or all zeros.

func (*NT4SID) MarshalJSON added in v1.0.2

func (o *NT4SID) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (*NT4SID) MarshalNDR

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

func (*NT4SID) SID added in v1.0.2

func (o *NT4SID) SID() (*dtyp.SID, error)

SID returns the SID from the NT4SID.

func (*NT4SID) UnmarshalNDR

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

type NameError

type NameError struct {
	// dsid:  The implementation-specific diagnostic code.
	DSID uint32 `idl:"name:dsid" json:"dsid"`
	// extendedErr:  0, STATUS code, or Windows error code.
	ExtendedError uint32 `idl:"name:extendedErr" json:"extended_error"`
	// extendedData:  The implementation-specific diagnostic code.
	ExtendedData uint32 `idl:"name:extendedData" json:"extended_data"`
	// problem:  0 or PROBLEM error code (section 4.1.1.1.26).
	Problem uint16 `idl:"name:problem" json:"problem"`
	// pMatched:  The best match for the supplied object identity.
	Matched *DSName `idl:"name:pMatched" json:"matched"`
}

NameError structure represents NAMERR_DRS_WIRE_V1 RPC structure.

The NAMERR_DRS_WIRE_V1 structure defines a name resolution error.

func (*NameError) MarshalNDR

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

func (*NameError) UnmarshalNDR

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

type NameResolutionOperation

type NameResolutionOperation struct {
	// nameRes:  MUST be the uppercase ASCII character "S".
	NameResolution uint8 `idl:"name:nameRes" json:"name_resolution"`

	// nextRDN:  Unused. MUST be 0 and ignored.
	NextRDN uint16 `idl:"name:nextRDN" json:"next_rdn"`
	// contains filtered or unexported fields
}

NameResolutionOperation structure represents NAMERESOP_DRS_WIRE_V1 RPC structure.

The NAMERESOP_DRS_WIRE_V1 structure defines the state of name resolution.

func (*NameResolutionOperation) MarshalNDR

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

func (*NameResolutionOperation) UnmarshalNDR

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

type OID

type OID struct {
	// length:  The size, in bytes, of the elements array.
	Length uint32 `idl:"name:length" json:"length"`
	// elements:  An array of bytes that constitute an OID or a prefix of an OID.
	Elements []byte `idl:"name:elements;size_is:(length)" json:"elements"`
}

OID structure represents OID_t RPC structure.

The OID_t structure defines a concrete type for an OID or a prefix of an OID; it is a component of type PrefixTableEntry.

func (*OID) MarshalNDR

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

func (*OID) UnmarshalNDR

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

type PartialAttributeVectorV1Ext

type PartialAttributeVectorV1Ext struct {
	// dwVersion:  The version of this structure; MUST be 1.
	Version uint32 `idl:"name:dwVersion" json:"version"`

	// cAttrs:  The number of attributes in the rgPartialAttr array.
	AttrsCount uint32 `idl:"name:cAttrs" json:"attrs_count"`
	// rgPartialAttr:  The attributes in the set.
	PartialAttribute []uint32 `idl:"name:rgPartialAttr;size_is:(cAttrs)" json:"partial_attribute"`
	// contains filtered or unexported fields
}

PartialAttributeVectorV1Ext structure represents PARTIAL_ATTR_VECTOR_V1_EXT RPC structure.

The PARTIAL_ATTR_VECTOR_V1_EXT structure defines a concrete type for a set of attributes to be replicated to a given partial replica.

func (*PartialAttributeVectorV1Ext) MarshalNDR

func (*PartialAttributeVectorV1Ext) NDRSizeInfo

func (o *PartialAttributeVectorV1Ext) NDRSizeInfo() []uint64

func (*PartialAttributeVectorV1Ext) UnmarshalNDR

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

type PrefixTable added in v1.0.2

type PrefixTable map[uint32][]byte

func (PrefixTable) AttributeToOID added in v1.0.2

func (o PrefixTable) AttributeToOID(attrType uint32) (asn1.ObjectIdentifier, error)

type PrefixTableEntry

type PrefixTableEntry struct {
	// ndx:  The index assigned to the prefix.
	Index uint32 `idl:"name:ndx" json:"index"`
	// prefix:  An OID or a prefix of an OID.
	Prefix *OID `idl:"name:prefix" json:"prefix"`
}

PrefixTableEntry structure represents PrefixTableEntry RPC structure.

The PrefixTableEntry structure defines a concrete type for mapping a range of ATTRTYP values to and from OIDs. It is a component of the type SCHEMA_PREFIX_TABLE.

func (*PrefixTableEntry) MarshalNDR

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

func (*PrefixTableEntry) UnmarshalNDR

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

type ProblemList

type ProblemList struct {
	// pNextProblem:  Null, or a pointer to the next item in the list.
	NextProblem *ProblemList `idl:"name:pNextProblem" json:"next_problem"`
	// intprob:  Attribute error description.
	AttributeProblem *AttributeProblem `idl:"name:intprob" json:"attribute_problem"`
}

ProblemList structure represents PROBLEMLIST_DRS_WIRE_V1 RPC structure.

The PROBLEMLIST_DRS_WIRE_V1 structure defines an attribute error link entry.

func (*ProblemList) MarshalNDR

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

func (*ProblemList) UnmarshalNDR

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

type PropertyMetadataExt

type PropertyMetadataExt struct {
	// dwVersion:  The version of the attribute values, starting at 1 and increasing by
	// one with each originating update.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// timeChanged:  The time at which the originating update was performed.
	TimeChanged int64 `idl:"name:timeChanged" json:"time_changed"`
	// uuidDsaOriginating:  The invocationId of the DC that performed the originating update.
	DSAOriginating *dtyp.UUID `idl:"name:uuidDsaOriginating" json:"dsa_originating"`
	// usnOriginating:  The USN of the DC assigned to the originating update.
	Originating int64 `idl:"name:usnOriginating" json:"originating"`
}

PropertyMetadataExt structure represents PROPERTY_META_DATA_EXT RPC structure.

The PROPERTY_META_DATA_EXT structure defines a concrete type for the stamp of the last originating update to an attribute.

func (*PropertyMetadataExt) MarshalNDR

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

func (*PropertyMetadataExt) UnmarshalNDR

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

type PropertyMetadataExtVector

type PropertyMetadataExtVector struct {
	// cNumProps:  The number of items in the rgMetaData array.
	PropertiesCount uint32 `idl:"name:cNumProps" json:"properties_count"`
	// rgMetaData:  An array of attribute stamps.
	Metadata []*PropertyMetadataExt `idl:"name:rgMetaData;size_is:(cNumProps)" json:"metadata"`
}

PropertyMetadataExtVector structure represents PROPERTY_META_DATA_EXT_VECTOR RPC structure.

The PROPERTY_META_DATA_EXT_VECTOR structure defines a concrete type for a sequence of attribute stamps.

func (*PropertyMetadataExtVector) MarshalNDR

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

func (*PropertyMetadataExtVector) NDRSizeInfo

func (o *PropertyMetadataExtVector) NDRSizeInfo() []uint64

func (*PropertyMetadataExtVector) UnmarshalNDR

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

type QuerySitesByCostRequest

type QuerySitesByCostRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageQuerySitesRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

QuerySitesByCostRequest structure represents the IDL_DRSQuerySitesByCost operation request

func (*QuerySitesByCostRequest) MarshalNDR

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

func (*QuerySitesByCostRequest) UnmarshalNDR

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

type QuerySitesByCostResponse

type QuerySitesByCostResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageQuerySitesReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSQuerySitesByCost return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

QuerySitesByCostResponse structure represents the IDL_DRSQuerySitesByCost operation response

func (*QuerySitesByCostResponse) MarshalNDR

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

func (*QuerySitesByCostResponse) UnmarshalNDR

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

type ReadNGCKeyRequest

type ReadNGCKeyRequest struct {
	Handle    *Handle                   `idl:"name:hDrs;pointer:ref" json:"handle"`
	InVersion uint32                    `idl:"name:dwInVersion" json:"in_version"`
	In        *MessageReadNGCKeyRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

ReadNGCKeyRequest structure represents the IDL_DRSReadNgcKey operation request

func (*ReadNGCKeyRequest) MarshalNDR

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

func (*ReadNGCKeyRequest) UnmarshalNDR

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

type ReadNGCKeyResponse

type ReadNGCKeyResponse struct {
	OutVersion uint32                  `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	Out        *MessageReadNGCKeyReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSReadNgcKey return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ReadNGCKeyResponse structure represents the IDL_DRSReadNgcKey operation response

func (*ReadNGCKeyResponse) MarshalNDR

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

func (*ReadNGCKeyResponse) UnmarshalNDR

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

type ReferralError

type ReferralError struct {
	// dsid:  The implementation-specific diagnostic code.
	DSID uint32 `idl:"name:dsid" json:"dsid"`
	// extendedErr:  0, STATUS code, or Windows error code.
	ExtendedError uint32 `idl:"name:extendedErr" json:"extended_error"`
	// extendedData:  The implementation-specific diagnostic code.
	ExtendedData uint32 `idl:"name:extendedData" json:"extended_data"`
	// Refer:  The DCs to contact to chase the referral.
	Refer *ContinuationReferral `idl:"name:Refer" json:"refer"`
}

ReferralError structure represents REFERR_DRS_WIRE_V1 RPC structure.

The REFERR_DRS_WIRE_V1 structure defines a referral to other DCs.

func (*ReferralError) MarshalNDR

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

func (*ReferralError) UnmarshalNDR

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

type RemoveDSDomainRequest

type RemoveDSDomainRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message. This must be set to 1, because this
	// is the only version supported.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageRemoveDSDomainRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

RemoveDSDomainRequest structure represents the IDL_DRSRemoveDsDomain operation request

func (*RemoveDSDomainRequest) MarshalNDR

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

func (*RemoveDSDomainRequest) UnmarshalNDR

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

type RemoveDSDomainResponse

type RemoveDSDomainResponse struct {
	// pdwOutVersion: A pointer to the version of the response message. The value must be
	// 1 because that is the only version supported.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageRemoveDSDomainReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSRemoveDsDomain return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

RemoveDSDomainResponse structure represents the IDL_DRSRemoveDsDomain operation response

func (*RemoveDSDomainResponse) MarshalNDR

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

func (*RemoveDSDomainResponse) UnmarshalNDR

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

type RemoveDSServerRequest

type RemoveDSServerRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message. Must be set to 1 because that is
	// the only version supported.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageRemoveServerRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

RemoveDSServerRequest structure represents the IDL_DRSRemoveDsServer operation request

func (*RemoveDSServerRequest) MarshalNDR

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

func (*RemoveDSServerRequest) UnmarshalNDR

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

type RemoveDSServerResponse

type RemoveDSServerResponse struct {
	// pdwOutVersion: A pointer to the version of the response message. The value must be
	// 1 because that is the only version supported.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageRemoveServerReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSRemoveDsServer return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

RemoveDSServerResponse structure represents the IDL_DRSRemoveDsServer operation response

func (*RemoveDSServerResponse) MarshalNDR

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

func (*RemoveDSServerResponse) UnmarshalNDR

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

type ReplicationEntityInfoList

type ReplicationEntityInfoList struct {
	// pNextEntInf:  The next REPLENTINFLIST in the sequence, or null.
	NextEntityInfo *ReplicationEntityInfoList `idl:"name:pNextEntInf" json:"next_entity_info"`
	// Entinf:  The object and its updated attributes.
	EntityInfo *EntityInfo `idl:"name:Entinf" json:"entity_info"`
	// fIsNCPrefix:  TRUE only if the object is an NC root.
	IsNCPrefix bool `idl:"name:fIsNCPrefix" json:"is_nc_prefix"`
	// pParentGuid:  The value of the objectGUID attribute of the parent of the object,
	// or null if not known or not specified.
	ParentGUID *dtyp.UUID `idl:"name:pParentGuid" json:"parent_guid"`
	// pMetaDataExt:  The stamps for the attributes specified in Entinf.AttrBlock. Entinf.AttrBlock
	// and pMetaDataExt.rgMetaData are parallel arrays. For a given integer i in [0 .. Entinf.AttrBlock.attrCount],
	// the stamp for the attribute described by Entinf.AttrBlock.pAttr^[i] is pMetaDataExt^.rgMetaData[i].
	MetadataExt *PropertyMetadataExtVector `idl:"name:pMetaDataExt" json:"metadata_ext"`
}

ReplicationEntityInfoList structure represents REPLENTINFLIST RPC structure.

The REPLENTINFLIST structure defines a concrete type for updates to one or more attributes of a given object.

func (*ReplicationEntityInfoList) MarshalNDR

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

func (*ReplicationEntityInfoList) UnmarshalNDR

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

type ReplicationTimes

type ReplicationTimes struct {
	// rgTimes:  A byte array of length 84 that is used to set periodic replication times.
	// Each bit in this byte array represents a 15-minute period for which replication can
	// be scheduled within a one-week period. The replication schedule begins on Sunday
	// 12:00:00 AM UTC. Each byte in the array represents a two-hour period of a week in
	// ascending order, starting Sunday 12:00:00 AM UTC. The most significant bit of a byte
	// represents the earliest 15-minute period in the two-hour period, and the rest of
	// the bits in the byte represent their respective 15-minute periods in this order.
	//
	// The following diagram shows an alternative representation of this structure.
	//
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| rgTimes...                                                                                                                    |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| ...                                                                                                                           |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	//	| ...rgTimes                                                                                                                    |
	//	+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
	Times []byte `idl:"name:rgTimes" json:"times"`
}

ReplicationTimes structure represents REPLTIMES RPC structure.

The REPLTIMES structure defines a concrete type for times at which periodic replication occurs.

func (*ReplicationTimes) MarshalNDR

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

func (*ReplicationTimes) UnmarshalNDR

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

type ReplicationValueInfoV1

type ReplicationValueInfoV1 struct {
	Object        *DSName             `idl:"name:pObject" json:"object"`
	AttributeType uint32              `idl:"name:attrTyp" json:"attribute_type"`
	Aval          *AttributeValue     `idl:"name:Aval" json:"aval"`
	IsPresent     bool                `idl:"name:fIsPresent" json:"is_present"`
	Metadata      *ValueMetadataExtV1 `idl:"name:MetaData" json:"metadata"`
}

ReplicationValueInfoV1 structure represents REPLVALINF_V1 RPC structure.

func (*ReplicationValueInfoV1) MarshalNDR

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

func (*ReplicationValueInfoV1) UnmarshalNDR

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

type ReplicationValueInfoV3

type ReplicationValueInfoV3 struct {
	Object        *DSName             `idl:"name:pObject" json:"object"`
	AttributeType uint32              `idl:"name:attrTyp" json:"attribute_type"`
	Aval          *AttributeValue     `idl:"name:Aval" json:"aval"`
	IsPresent     bool                `idl:"name:fIsPresent" json:"is_present"`
	Metadata      *ValueMetadataExtV3 `idl:"name:MetaData" json:"metadata"`
}

ReplicationValueInfoV3 structure represents REPLVALINF_V3 RPC structure.

func (*ReplicationValueInfoV3) MarshalNDR

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

func (*ReplicationValueInfoV3) UnmarshalNDR

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

type ReverseMembershipOperationType

type ReverseMembershipOperationType uint16

ReverseMembershipOperationType type represents REVERSE_MEMBERSHIP_OPERATION_TYPE RPC enumeration.

The REVERSE_MEMBERSHIP_OPERATION_TYPE enumeration defines the type of reverse membership evaluation.

var (
	// RevMembGetGroupsForUser:  Nontransitive membership in groups that are confined to
	// a given domain, excluding built-in groups and domain-local groups. See [MS-ADSC]
	// section 2.14.
	ReverseMembershipOperationTypeGetGroupsForUser ReverseMembershipOperationType = 1
	// RevMembGetAliasMembership:  Nontransitive membership in domain-local groups that
	// are confined to a given domain.
	ReverseMembershipOperationTypeGetAliasMembership ReverseMembershipOperationType = 2
	// RevMembGetAccountGroups:  Transitive membership in all account groups in a given
	// domain, excluding built-in groups.
	ReverseMembershipOperationTypeGetAccountGroups ReverseMembershipOperationType = 3
	// RevMembGetResourceGroups:  Transitive membership in all domain-local groups in a
	// given domain, excluding built-in groups.
	ReverseMembershipOperationTypeGetResourceGroups ReverseMembershipOperationType = 4
	// RevMembGetUniversalGroups:  Transitive membership in all universal groups, excluding
	// built-in groups.
	ReverseMembershipOperationTypeGetUniversalGroups ReverseMembershipOperationType = 5
	// GroupMembersTransitive:  Transitive closure of members of a group based on the information
	// present in the server's NC replicas, including the primary group.
	ReverseMembershipOperationTypeGroupMembersTransitive ReverseMembershipOperationType = 6
	// RevMembGlobalGroupsNonTransitive:  Non-transitive membership in global groups, excluding
	// built-in groups.
	ReverseMembershipOperationTypeGlobalGroupsNonTransitive ReverseMembershipOperationType = 7
)

func (ReverseMembershipOperationType) String

type SchemaPrefixTable

type SchemaPrefixTable struct {
	// PrefixCount:  The number of items in the pPrefixEntry array.
	PrefixCount uint32 `idl:"name:PrefixCount" json:"prefix_count"`
	// pPrefixEntry:  An array of PrefixTableEntry items in the table.
	PrefixEntry []*PrefixTableEntry `idl:"name:pPrefixEntry;size_is:(PrefixCount)" json:"prefix_entry"`
}

SchemaPrefixTable structure represents SCHEMA_PREFIX_TABLE RPC structure.

The SCHEMA_PREFIX_TABLE structure defines the concrete type for a table to map ATTRTYP values to and from OIDs.

func (*SchemaPrefixTable) Build added in v1.0.2

func (o *SchemaPrefixTable) Build() PrefixTable

func (*SchemaPrefixTable) MarshalNDR

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

func (*SchemaPrefixTable) UnmarshalNDR

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

type SecurityBuffer

type SecurityBuffer struct {
	// cbBuffer:  The size, in bytes, of the pvBuffer array.
	BufferLength uint32 `idl:"name:cbBuffer" json:"buffer_length"`
	// BufferType:  A bit field, presented in little-endian byte order, that contains the
	// following values:
	//
	//	+---+---+---+---+---+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+
	//	| 0 | 1 | 2 | 3 | 4 |   5   | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 |  4  | 5 | 6 | 7 | 8 | 9 | 3 | 1 |
	//	|   |   |   |   |   |       |   |   |   |   | 0 |   |   |   |   |   |   |   |   |   | 0 |   |   |   |     |   |   |   |   |   | 0 |   |
	//	+---+---+---+---+---+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+
	//	+---+---+---+---+---+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+
	//	| X | X | X | X | X | T Y P | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | R O | X | X | X | X | X | X | X |
	//	+---+---+---+---+---+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-----+---+---+---+---+---+---+---+
	//
	// X: Unused. MUST be zero and ignored.
	//
	// TYP: Can be one of the following values:
	//
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	|                                     |                                                                                  |
	//	|                VALUE                |                                     MEANING                                      |
	//	|                                     |                                                                                  |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| SECBUFFER_EMPTY 0x00000000          | A placeholder in the buffer array. The caller can supply several such entries in |
	//	|                                     | the array, and the security package can return data in them.                     |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| SECBUFFER_DATA 0x00000001           | Used for common data. The security package can read this data and write it, for  |
	//	|                                     | example, to encrypt some or all of it.                                           |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| SECBUFFER_TOKEN 0x00000002          | This buffer is used to indicate the security token portion of the message. This  |
	//	|                                     | is read-only for input parameters or read/write for output parameters.           |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| SECBUFFER_PKG_PARAMS 0x00000003     | These are transport-to-package–specific parameters. For example, the Netware     |
	//	|                                     | redirector can supply the server object identifier, while DCE RPC can supply an  |
	//	|                                     | association UUID, and so on.                                                     |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| SECBUFFER_MISSING 0x00000004        | The security package uses this value to indicate the number of missing bytes in  |
	//	|                                     | a particular message. The pvBuffer member is ignored in this type.               |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| SECBUFFER_EXTRA 0x00000005          | The security package uses this value to indicate the number of extra or          |
	//	|                                     | unprocessed bytes in a message.                                                  |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| SECBUFFER_STREAM_TRAILER 0x00000006 | Indicates a protocol-specific trailer for a particular record.                   |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| SECBUFFER_STREAM_HEADER 0x00000007  | Indicates a protocol-specific header for a particular record.                    |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	BufferType uint32 `idl:"name:BufferType" json:"buffer_type"`
	// pvBuffer:  Authentication data.
	Buffer []byte `idl:"name:pvBuffer;size_is:(cbBuffer)" json:"buffer"`
}

SecurityBuffer structure represents DRS_SecBuffer RPC structure.

DRS_SecBuffer is a concrete type for a buffer that contains authentication data.

func (*SecurityBuffer) MarshalNDR

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

func (*SecurityBuffer) UnmarshalNDR

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

type SecurityBufferDesc

type SecurityBufferDesc struct {
	// ulVersion:  MUST be 0.
	Version uint32 `idl:"name:ulVersion" json:"version"`
	// cBuffers:  The number of items in the Buffers array.
	BuffersCount uint32 `idl:"name:cBuffers" json:"buffers_count"`
	// Buffers:  Buffers that contain authentication data.
	Buffers []*SecurityBuffer `idl:"name:Buffers;size_is:(cBuffers)" json:"buffers"`
}

SecurityBufferDesc structure represents DRS_SecBufferDesc RPC structure.

DRS_SecBufferDesc is a Generic Security Service (GSS) Kerberos authentication token, as specified in [RFC1964].

func (*SecurityBufferDesc) MarshalNDR

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

func (*SecurityBufferDesc) UnmarshalNDR

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

type SecurityError

type SecurityError struct {
	// dsid:  The implementation-specific diagnostic code.
	DSID uint32 `idl:"name:dsid" json:"dsid"`
	// extendedErr:  0, STATUS code, or Windows error code.
	ExtendedError uint32 `idl:"name:extendedErr" json:"extended_error"`
	// extendedData:  The implementation-specific diagnostic code.
	ExtendedData uint32 `idl:"name:extendedData" json:"extended_data"`
	// problem:  0 or PROBLEM error code (section 4.1.1.1.26).
	Problem uint16 `idl:"name:problem" json:"problem"`
}

SecurityError structure represents SECERR_DRS_WIRE_V1 RPC structure.

The SECERR_DRS_WIRE_V1 structure defines a security error.

func (*SecurityError) MarshalNDR

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

func (*SecurityError) UnmarshalNDR

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

type ServiceError

type ServiceError struct {
	// dsid:  The implementation-specific diagnostic code.
	DSID uint32 `idl:"name:dsid" json:"dsid"`
	// extendedErr:  0, STATUS code, or Windows error code.
	ExtendedError uint32 `idl:"name:extendedErr" json:"extended_error"`
	// extendedData:  The implementation-specific diagnostic code.
	ExtendedData uint32 `idl:"name:extendedData" json:"extended_data"`
	// problem:  0 or PROBLEM error code (section 4.1.1.1.26).
	Problem uint16 `idl:"name:problem" json:"problem"`
}

ServiceError structure represents SVCERR_DRS_WIRE_V1 RPC structure.

The SVCERR_DRS_WIRE_V1 structure defines a service error.

func (*ServiceError) MarshalNDR

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

func (*ServiceError) UnmarshalNDR

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

type SyncReplicaRequest

type SyncReplicaRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwVersion: The version of the request message.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// pmsgSync: A pointer to the request message.
	Sync *MessageReplicaSync `idl:"name:pmsgSync;switch_is:dwVersion;pointer:ref" json:"sync"`
}

SyncReplicaRequest structure represents the IDL_DRSReplicaSync operation request

func (*SyncReplicaRequest) MarshalNDR

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

func (*SyncReplicaRequest) UnmarshalNDR

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

type SyncReplicaResponse

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

SyncReplicaResponse structure represents the IDL_DRSReplicaSync operation response

func (*SyncReplicaResponse) MarshalNDR

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

func (*SyncReplicaResponse) UnmarshalNDR

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

type SystemError

type SystemError struct {
	// dsid:  The implementation-specific diagnostic code.
	DSID uint32 `idl:"name:dsid" json:"dsid"`
	// extendedErr:  0, STATUS code, or Windows error code.
	ExtendedError uint32 `idl:"name:extendedErr" json:"extended_error"`
	// extendedData:  The implementation-specific diagnostic code.
	ExtendedData uint32 `idl:"name:extendedData" json:"extended_data"`
	// problem:  0 or PROBLEM error code (section 4.1.1.1.26).
	Problem uint16 `idl:"name:problem" json:"problem"`
}

SystemError structure represents SYSERR_DRS_WIRE_V1 RPC structure.

The SYSERR_DRS_WIRE_V1 structure defines a system error.

func (*SystemError) MarshalNDR

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

func (*SystemError) UnmarshalNDR

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

type UnbindRequest

type UnbindRequest struct {
	// phDrs: A pointer to the RPC context handle returned by the IDL_DRSBind method. The
	// value is set to null on return.
	DRS *Handle `idl:"name:phDrs;pointer:ref" json:"drs"`
}

UnbindRequest structure represents the IDL_DRSUnbind operation request

func (*UnbindRequest) MarshalNDR

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

func (*UnbindRequest) UnmarshalNDR

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

type UnbindResponse

type UnbindResponse struct {
	// phDrs: A pointer to the RPC context handle returned by the IDL_DRSBind method. The
	// value is set to null on return.
	DRS *Handle `idl:"name:phDrs;pointer:ref" json:"drs"`
	// Return: The IDL_DRSUnbind return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

UnbindResponse structure represents the IDL_DRSUnbind operation response

func (*UnbindResponse) MarshalNDR

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

func (*UnbindResponse) UnmarshalNDR

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

type UnimplementedDrsuapiServer added in v1.1.5

type UnimplementedDrsuapiServer struct {
}

Unimplemented drsuapi

func (UnimplementedDrsuapiServer) AddCloneDC added in v1.1.5

func (UnimplementedDrsuapiServer) AddEntry added in v1.1.5

func (UnimplementedDrsuapiServer) AddReplica added in v1.1.5

func (UnimplementedDrsuapiServer) AddSIDHistory added in v1.1.5

func (UnimplementedDrsuapiServer) Bind added in v1.1.5

func (UnimplementedDrsuapiServer) CrackNames added in v1.1.5

func (UnimplementedDrsuapiServer) DeleteReplica added in v1.1.5

func (UnimplementedDrsuapiServer) DemotionReplica added in v1.1.5

func (UnimplementedDrsuapiServer) DomainControllerInfo added in v1.1.5

func (UnimplementedDrsuapiServer) ExecuteKCC added in v1.1.5

func (UnimplementedDrsuapiServer) FinishDemotion added in v1.1.5

func (UnimplementedDrsuapiServer) GetMemberships added in v1.1.5

func (UnimplementedDrsuapiServer) GetMemberships2 added in v1.1.5

func (UnimplementedDrsuapiServer) GetNCChanges added in v1.1.5

func (UnimplementedDrsuapiServer) GetNT4ChangeLog added in v1.1.5

func (UnimplementedDrsuapiServer) GetObjectExistence added in v1.1.5

func (UnimplementedDrsuapiServer) GetReplicationInfo added in v1.1.5

func (UnimplementedDrsuapiServer) InitDemotion added in v1.1.5

func (UnimplementedDrsuapiServer) InterdomainMove added in v1.1.5

func (UnimplementedDrsuapiServer) ModifyReplica added in v1.1.5

func (UnimplementedDrsuapiServer) QuerySitesByCost added in v1.1.5

func (UnimplementedDrsuapiServer) ReadNGCKey added in v1.1.5

func (UnimplementedDrsuapiServer) RemoveDSDomain added in v1.1.5

func (UnimplementedDrsuapiServer) RemoveDSServer added in v1.1.5

func (UnimplementedDrsuapiServer) SyncReplica added in v1.1.5

func (UnimplementedDrsuapiServer) Unbind added in v1.1.5

func (UnimplementedDrsuapiServer) UpdateReferences added in v1.1.5

func (UnimplementedDrsuapiServer) VerifyNames added in v1.1.5

func (UnimplementedDrsuapiServer) VerifyObjectsReplica added in v1.1.5

func (UnimplementedDrsuapiServer) WriteNGCKey added in v1.1.5

func (UnimplementedDrsuapiServer) WriteSPN added in v1.1.5

type UpToDateCursorV1

type UpToDateCursorV1 struct {
	// uuidDsa:  The invocationId of the DC performing the update.
	DSA *dtyp.UUID `idl:"name:uuidDsa" json:"dsa"`
	// usnHighPropUpdate:  The USN of the update on the updating DC.
	//
	// A cursor c with c.uuidDsa = x and c.usnHighPropUpdate = y indicates a replication
	// state that includes all changes originated by DC x at USN less than or equal to y.
	HighPropertyUpdate int64 `idl:"name:usnHighPropUpdate" json:"high_property_update"`
}

UpToDateCursorV1 structure represents UPTODATE_CURSOR_V1 RPC structure.

The UPTODATE_CURSOR_V1 structure is a concrete type for the replication state relative to a given DC.

func (*UpToDateCursorV1) MarshalNDR

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

func (*UpToDateCursorV1) UnmarshalNDR

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

type UpToDateCursorV2

type UpToDateCursorV2 struct {
	// uuidDsa:  The invocationId of the DC performing the update.
	DSA *dtyp.UUID `idl:"name:uuidDsa" json:"dsa"`
	// usnHighPropUpdate:  The USN of the update on the updating DC.
	HighPropertyUpdate int64 `idl:"name:usnHighPropUpdate" json:"high_property_update"`
	// timeLastSyncSuccess:  The time at which the last successful replication occurred
	// from the DC identified by uuidDsa; for replication latency reporting only.
	//
	// A cursor c with c.uuidDsa = x and c.usnHighPropUpdate = y indicates a replication
	// state that includes all changes originated by DC x at USN less than or equal to y.
	TimeLastSyncSuccess int64 `idl:"name:timeLastSyncSuccess" json:"time_last_sync_success"`
}

UpToDateCursorV2 structure represents UPTODATE_CURSOR_V2 RPC structure.

The UPTODATE_CURSOR_V2 structure defines a concrete type for the replication state relative to a given DC.

func (*UpToDateCursorV2) MarshalNDR

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

func (*UpToDateCursorV2) UnmarshalNDR

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

type UpToDateVectorV1Ext

type UpToDateVectorV1Ext struct {
	// dwVersion:  The version of this structure; MUST be 1.
	Version uint32 `idl:"name:dwVersion" json:"version"`

	// cNumCursors:  The number of items in the rgCursors array.
	CursorsCount uint32 `idl:"name:cNumCursors" json:"cursors_count"`

	// rgCursors:  An array of UPTODATE_CURSOR_V1. The items in this field MUST be sorted
	// in increasing order of the uuidDsa field.
	Cursors []*UpToDateCursorV1 `idl:"name:rgCursors;size_is:(cNumCursors)" json:"cursors"`
	// contains filtered or unexported fields
}

UpToDateVectorV1Ext structure represents UPTODATE_VECTOR_V1_EXT RPC structure.

The UPTODATE_VECTOR_V1_EXT structure defines a concrete type for the replication state relative to a set of DCs.

func (*UpToDateVectorV1Ext) MarshalNDR

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

func (*UpToDateVectorV1Ext) NDRSizeInfo

func (o *UpToDateVectorV1Ext) NDRSizeInfo() []uint64

func (*UpToDateVectorV1Ext) UnmarshalNDR

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

type UpToDateVectorV2Ext

type UpToDateVectorV2Ext struct {
	// dwVersion:  The version of this structure; MUST be 2.
	Version uint32 `idl:"name:dwVersion" json:"version"`

	// cNumCursors:  The number of items in the rgCursors array.
	CursorsCount uint32 `idl:"name:cNumCursors" json:"cursors_count"`

	// rgCursors:  An array of UPTODATE_CURSOR_V2. The items in this field MUST be sorted
	// in increasing order of the uuidDsa field.
	Cursors []*UpToDateCursorV2 `idl:"name:rgCursors;size_is:(cNumCursors)" json:"cursors"`
	// contains filtered or unexported fields
}

UpToDateVectorV2Ext structure represents UPTODATE_VECTOR_V2_EXT RPC structure.

The UPTODATE_VECTOR_V2_EXT structure defines a concrete type for the replication state relative to a set of DCs.

func (*UpToDateVectorV2Ext) MarshalNDR

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

func (*UpToDateVectorV2Ext) NDRSizeInfo

func (o *UpToDateVectorV2Ext) NDRSizeInfo() []uint64

func (*UpToDateVectorV2Ext) UnmarshalNDR

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

type UpdateError

type UpdateError struct {
	// dsid:  The implementation-specific diagnostic code.
	DSID uint32 `idl:"name:dsid" json:"dsid"`
	// extendedErr:  0, STATUS code, or Windows error code.
	ExtendedError uint32 `idl:"name:extendedErr" json:"extended_error"`
	// extendedData:  The implementation-specific diagnostic code.
	ExtendedData uint32 `idl:"name:extendedData" json:"extended_data"`
	// problem:  0 or PROBLEM error code (section 4.1.1.1.26).
	Problem uint16 `idl:"name:problem" json:"problem"`
}

UpdateError structure represents UPDERR_DRS_WIRE_V1 RPC structure.

The UPDERR_DRS_WIRE_V1 structure defines an update error.

func (*UpdateError) MarshalNDR

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

func (*UpdateError) UnmarshalNDR

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

type UpdateReferencesRequest

type UpdateReferencesRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwVersion: The version of the request message.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// pmsgUpdRefs: A pointer to the request message.
	UpdateReferences *MessageUpdateReferences `idl:"name:pmsgUpdRefs;switch_is:dwVersion;pointer:ref" json:"update_references"`
}

UpdateReferencesRequest structure represents the IDL_DRSUpdateRefs operation request

func (*UpdateReferencesRequest) MarshalNDR

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

func (*UpdateReferencesRequest) UnmarshalNDR

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

type UpdateReferencesResponse

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

UpdateReferencesResponse structure represents the IDL_DRSUpdateRefs operation response

func (*UpdateReferencesResponse) MarshalNDR

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

func (*UpdateReferencesResponse) UnmarshalNDR

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

type ValueMetadataExtV1

type ValueMetadataExtV1 struct {
	// timeCreated:  The date and time at which the first originating update was made.
	TimeCreated int64 `idl:"name:timeCreated" json:"time_created"`
	// MetaData:  The remainder of the stamp; has the same PROPERTY_META_DATA_EXT type as
	// used for the stamp of an attribute.
	Metadata *PropertyMetadataExt `idl:"name:MetaData" json:"metadata"`
}

ValueMetadataExtV1 structure represents VALUE_META_DATA_EXT_V1 RPC structure.

The VALUE_META_DATA_EXT_V1 structure defines a concrete type for the stamp of a link value.

func (*ValueMetadataExtV1) MarshalNDR

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

func (*ValueMetadataExtV1) UnmarshalNDR

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

type ValueMetadataExtV3

type ValueMetadataExtV3 struct {
	TimeCreated int64                `idl:"name:timeCreated" json:"time_created"`
	Metadata    *PropertyMetadataExt `idl:"name:MetaData" json:"metadata"`

	TimeExpired int64 `idl:"name:timeExpired" json:"time_expired"`
	// contains filtered or unexported fields
}

ValueMetadataExtV3 structure represents VALUE_META_DATA_EXT_V3 RPC structure.

func (*ValueMetadataExtV3) MarshalNDR

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

func (*ValueMetadataExtV3) UnmarshalNDR

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

type VarSizeBufferWithVersion

type VarSizeBufferWithVersion struct {
	Version      uint32 `idl:"name:ulVersion" json:"version"`
	BufferLength uint32 `idl:"name:cbByteBuffer" json:"buffer_length"`
	Padding      uint64 `idl:"name:ullPadding" json:"padding"`
	Buffer       []byte `idl:"name:rgbBuffer;size_is:(cbByteBuffer)" json:"buffer"`
}

VarSizeBufferWithVersion structure represents VAR_SIZE_BUFFER_WITH_VERSION RPC structure.

func (*VarSizeBufferWithVersion) MarshalNDR

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

func (*VarSizeBufferWithVersion) NDRSizeInfo

func (o *VarSizeBufferWithVersion) NDRSizeInfo() []uint64

func (*VarSizeBufferWithVersion) UnmarshalNDR

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

type Vector

type Vector struct {
	// usnHighObjUpdate:  A USN.
	HighObjectUpdate int64 `idl:"name:usnHighObjUpdate" json:"high_object_update"`

	// usnHighPropUpdate:  A USN.
	//
	// The USN_VECTOR type, as shown, is used in the DRS IDL. However, only the size of
	// USN_VECTOR (24 bytes) and the representation of its null value (24 zero bytes) are
	// standardized for interoperability.
	HighPropertyUpdate int64 `idl:"name:usnHighPropUpdate" json:"high_property_update"`
	// contains filtered or unexported fields
}

Vector structure represents USN_VECTOR RPC structure.

The USN_VECTOR structure defines a concrete type for the cookie (section 1.3.2) used to pass state between calls to IDL_DRSGetNCChanges.

func (*Vector) MarshalNDR

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

func (*Vector) UnmarshalNDR

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

type VerifyNamesRequest

type VerifyNamesRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageVerifyRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

VerifyNamesRequest structure represents the IDL_DRSVerifyNames operation request

func (*VerifyNamesRequest) MarshalNDR

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

func (*VerifyNamesRequest) UnmarshalNDR

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

type VerifyNamesResponse

type VerifyNamesResponse struct {
	// pdwOutVersion: A pointer to the version of the response message.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageVerifyReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSVerifyNames return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

VerifyNamesResponse structure represents the IDL_DRSVerifyNames operation response

func (*VerifyNamesResponse) MarshalNDR

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

func (*VerifyNamesResponse) UnmarshalNDR

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

type VerifyObjectsReplicaRequest

type VerifyObjectsReplicaRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwVersion: The version of the request message.
	Version uint32 `idl:"name:dwVersion" json:"version"`
	// pmsgVerify: A pointer to the request message.
	Verify *MessageVerifyReplyObject `idl:"name:pmsgVerify;switch_is:dwVersion;pointer:ref" json:"verify"`
}

VerifyObjectsReplicaRequest structure represents the IDL_DRSReplicaVerifyObjects operation request

func (*VerifyObjectsReplicaRequest) MarshalNDR

func (*VerifyObjectsReplicaRequest) UnmarshalNDR

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

type VerifyObjectsReplicaResponse

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

VerifyObjectsReplicaResponse structure represents the IDL_DRSReplicaVerifyObjects operation response

func (*VerifyObjectsReplicaResponse) MarshalNDR

func (*VerifyObjectsReplicaResponse) UnmarshalNDR

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

type WriteNGCKeyRequest

type WriteNGCKeyRequest struct {
	Handle    *Handle                    `idl:"name:hDrs;pointer:ref" json:"handle"`
	InVersion uint32                     `idl:"name:dwInVersion" json:"in_version"`
	In        *MessageWriteNGCKeyRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

WriteNGCKeyRequest structure represents the IDL_DRSWriteNgcKey operation request

func (*WriteNGCKeyRequest) MarshalNDR

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

func (*WriteNGCKeyRequest) UnmarshalNDR

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

type WriteNGCKeyResponse

type WriteNGCKeyResponse struct {
	OutVersion uint32                   `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	Out        *MessageWriteNGCKeyReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSWriteNgcKey return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

WriteNGCKeyResponse structure represents the IDL_DRSWriteNgcKey operation response

func (*WriteNGCKeyResponse) MarshalNDR

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

func (*WriteNGCKeyResponse) UnmarshalNDR

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

type WriteSPNRequest

type WriteSPNRequest struct {
	// hDrs: The RPC context handle returned by the IDL_DRSBind method.
	Handle *Handle `idl:"name:hDrs;pointer:ref" json:"handle"`
	// dwInVersion: The version of the request message. Must be set to 1, because that is
	// the only version supported.
	InVersion uint32 `idl:"name:dwInVersion" json:"in_version"`
	// pmsgIn: A pointer to the request message.
	In *MessageWriteSPNRequest `idl:"name:pmsgIn;switch_is:dwInVersion;pointer:ref" json:"in"`
}

WriteSPNRequest structure represents the IDL_DRSWriteSPN operation request

func (*WriteSPNRequest) MarshalNDR

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

func (*WriteSPNRequest) UnmarshalNDR

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

type WriteSPNResponse

type WriteSPNResponse struct {
	// pdwOutVersion: A pointer to the version of the response message. The value must be
	// 1 because that is the only version supported.
	OutVersion uint32 `idl:"name:pdwOutVersion;pointer:ref" json:"out_version"`
	// pmsgOut: A pointer to the response message.
	Out *MessageWriteSPNReply `idl:"name:pmsgOut;switch_is:*pdwOutVersion;pointer:ref" json:"out"`
	// Return: The IDL_DRSWriteSPN return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

WriteSPNResponse structure represents the IDL_DRSWriteSPN operation response

func (*WriteSPNResponse) MarshalNDR

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

func (*WriteSPNResponse) UnmarshalNDR

func (o *WriteSPNResponse) 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