msdrsr
import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-drsr"
Index
- Constants
- type ADDENTRY_REPLY_INFO
- type ATRERR_DRS_WIRE_V1
- type ATTR
- type ATTRBLOCK
- type ATTRTYP
- type ATTRVAL
- type ATTRVALBLOCK
- type CONTREF_DRS_WIRE_V1
- type DIRERR_DRS_WIRE_V1
- type DRS_COMPRESSED_BLOB
- type DRS_COMP_ALG_TYPE
- type DRS_ERROR_DATA
- type DRS_ERROR_DATA_V1
- type DRS_EXTENSIONS
- type DRS_EXTENSIONS_INT
- type DRS_HANDLE
- type DRS_MSG_ADDCLONEDCREPLY
- type DRS_MSG_ADDCLONEDCREPLY_V1
- type DRS_MSG_ADDCLONEDCREQ
- type DRS_MSG_ADDCLONEDCREQ_V1
- type DRS_MSG_ADDENTRYREPLY
- type DRS_MSG_ADDENTRYREPLY_V1
- type DRS_MSG_ADDENTRYREPLY_V2
- type DRS_MSG_ADDENTRYREPLY_V3
- type DRS_MSG_ADDENTRYREQ
- type DRS_MSG_ADDENTRYREQ_V1
- type DRS_MSG_ADDENTRYREQ_V2
- type DRS_MSG_ADDENTRYREQ_V3
- type DRS_MSG_ADDSIDREPLY
- type DRS_MSG_ADDSIDREPLY_V1
- type DRS_MSG_ADDSIDREQ
- type DRS_MSG_ADDSIDREQ_V1
- type DRS_MSG_CRACKREPLY
- type DRS_MSG_CRACKREPLY_V1
- type DRS_MSG_CRACKREQ
- type DRS_MSG_CRACKREQ_V1
- type DRS_MSG_DCINFOREPLY
- type DRS_MSG_DCINFOREPLY_V1
- type DRS_MSG_DCINFOREPLY_V2
- type DRS_MSG_DCINFOREPLY_V3
- type DRS_MSG_DCINFOREPLY_VFFFFFFFF
- type DRS_MSG_DCINFOREQ
- type DRS_MSG_DCINFOREQ_V1
- type DRS_MSG_EXISTREPLY
- type DRS_MSG_EXISTREPLY_V1
- type DRS_MSG_EXISTREQ
- type DRS_MSG_EXISTREQ_V1
- type DRS_MSG_FINISH_DEMOTIONREPLY
- type DRS_MSG_FINISH_DEMOTIONREPLY_V1
- type DRS_MSG_FINISH_DEMOTIONREQ
- type DRS_MSG_FINISH_DEMOTIONREQ_V1
- type DRS_MSG_GETCHGREPLY
- type DRS_MSG_GETCHGREPLY_V1
- type DRS_MSG_GETCHGREPLY_V2
- type DRS_MSG_GETCHGREPLY_V6
- type DRS_MSG_GETCHGREPLY_V7
- type DRS_MSG_GETCHGREPLY_V9
- type DRS_MSG_GETCHGREQ
- type DRS_MSG_GETCHGREQ_V10
- type DRS_MSG_GETCHGREQ_V11
- type DRS_MSG_GETCHGREQ_V3
- type DRS_MSG_GETCHGREQ_V4
- type DRS_MSG_GETCHGREQ_V5
- type DRS_MSG_GETCHGREQ_V7
- type DRS_MSG_GETCHGREQ_V8
- type DRS_MSG_GETMEMBERSHIPS2_REPLY
- type DRS_MSG_GETMEMBERSHIPS2_REPLY_V1
- type DRS_MSG_GETMEMBERSHIPS2_REQ
- type DRS_MSG_GETMEMBERSHIPS2_REQ_V1
- type DRS_MSG_GETREPLINFO_REPLY
- type DRS_MSG_GETREPLINFO_REQ
- type DRS_MSG_GETREPLINFO_REQ_V1
- type DRS_MSG_GETREPLINFO_REQ_V2
- type DRS_MSG_INIT_DEMOTIONREPLY
- type DRS_MSG_INIT_DEMOTIONREPLY_V1
- type DRS_MSG_INIT_DEMOTIONREQ
- type DRS_MSG_INIT_DEMOTIONREQ_V1
- type DRS_MSG_KCC_EXECUTE
- type DRS_MSG_KCC_EXECUTE_V1
- type DRS_MSG_MOVEREPLY
- type DRS_MSG_MOVEREPLY_V1
- type DRS_MSG_MOVEREPLY_V2
- type DRS_MSG_MOVEREQ
- type DRS_MSG_MOVEREQ_V1
- type DRS_MSG_MOVEREQ_V2
- type DRS_MSG_NT4_CHGLOG_REPLY
- type DRS_MSG_NT4_CHGLOG_REPLY_V1
- type DRS_MSG_NT4_CHGLOG_REQ
- type DRS_MSG_NT4_CHGLOG_REQ_V1
- type DRS_MSG_QUERYSITESREPLY
- type DRS_MSG_QUERYSITESREPLYELEMENT_V1
- type DRS_MSG_QUERYSITESREPLY_V1
- type DRS_MSG_QUERYSITESREQ
- type DRS_MSG_QUERYSITESREQ_V1
- type DRS_MSG_READNGCKEYREPLY
- type DRS_MSG_READNGCKEYREPLY_V1
- type DRS_MSG_READNGCKEYREQ
- type DRS_MSG_READNGCKEYREQ_V1
- type DRS_MSG_REPADD
- type DRS_MSG_REPADD_V1
- type DRS_MSG_REPADD_V2
- type DRS_MSG_REPADD_V3
- type DRS_MSG_REPDEL
- type DRS_MSG_REPDEL_V1
- type DRS_MSG_REPLICA_DEMOTIONREPLY
- type DRS_MSG_REPLICA_DEMOTIONREPLY_V1
- type DRS_MSG_REPLICA_DEMOTIONREQ
- type DRS_MSG_REPLICA_DEMOTIONREQ_V1
- type DRS_MSG_REPMOD
- type DRS_MSG_REPMOD_V1
- type DRS_MSG_REPSYNC
- type DRS_MSG_REPSYNC_V1
- type DRS_MSG_REPSYNC_V2
- type DRS_MSG_REPVERIFYOBJ
- type DRS_MSG_REPVERIFYOBJ_V1
- type DRS_MSG_REVMEMB_REPLY
- type DRS_MSG_REVMEMB_REPLY_V1
- type DRS_MSG_REVMEMB_REQ
- type DRS_MSG_REVMEMB_REQ_V1
- type DRS_MSG_RMDMNREPLY
- type DRS_MSG_RMDMNREPLY_V1
- type DRS_MSG_RMDMNREQ
- type DRS_MSG_RMDMNREQ_V1
- type DRS_MSG_RMSVRREPLY
- type DRS_MSG_RMSVRREPLY_V1
- type DRS_MSG_RMSVRREQ
- type DRS_MSG_RMSVRREQ_V1
- type DRS_MSG_SPNREPLY
- type DRS_MSG_SPNREPLY_V1
- type DRS_MSG_SPNREQ
- type DRS_MSG_SPNREQ_V1
- type DRS_MSG_UPDREFS
- type DRS_MSG_UPDREFS_V1
- type DRS_MSG_UPDREFS_V2
- type DRS_MSG_VERIFYREPLY
- type DRS_MSG_VERIFYREPLY_V1
- type DRS_MSG_VERIFYREQ
- type DRS_MSG_VERIFYREQ_V1
- type DRS_MSG_WRITENGCKEYREPLY
- type DRS_MSG_WRITENGCKEYREPLY_V1
- type DRS_MSG_WRITENGCKEYREQ
- type DRS_MSG_WRITENGCKEYREQ_V1
- type DRS_SecBuffer
- type DRS_SecBufferDesc
- type DSA_ADDRESS_LIST_DRS_WIRE_V1
- type DSA_MSG_EXECUTE_SCRIPT_REPLY
- type DSA_MSG_EXECUTE_SCRIPT_REPLY_V1
- type DSA_MSG_EXECUTE_SCRIPT_REQ
- type DSA_MSG_EXECUTE_SCRIPT_REQ_V1
- type DSA_MSG_PREPARE_SCRIPT_REPLY
- type DSA_MSG_PREPARE_SCRIPT_REPLY_V1
- type DSA_MSG_PREPARE_SCRIPT_REQ
- type DSA_MSG_PREPARE_SCRIPT_REQ_V1
- type DSNAME
- type DSTIME
- type DS_DOMAIN_CONTROLLER_INFO_1W
- type DS_DOMAIN_CONTROLLER_INFO_2W
- type DS_DOMAIN_CONTROLLER_INFO_3W
- type DS_DOMAIN_CONTROLLER_INFO_FFFFFFFFW
- type DS_NAME_RESULTW
- type DS_NAME_RESULT_ITEMW
- type DS_REPL_ATTR_META_DATA
- type DS_REPL_ATTR_META_DATA_2
- type DS_REPL_ATTR_VALUE_META_DATA
- type DS_REPL_ATTR_VALUE_META_DATA_2
- type DS_REPL_CLIENT_CONTEXT
- type DS_REPL_CLIENT_CONTEXTS
- type DS_REPL_CURSOR
- type DS_REPL_CURSORS
- type DS_REPL_CURSORS_2
- type DS_REPL_CURSORS_3W
- type DS_REPL_CURSOR_2
- type DS_REPL_CURSOR_3W
- type DS_REPL_KCC_DSA_FAILURESW
- type DS_REPL_KCC_DSA_FAILUREW
- type DS_REPL_NEIGHBORSW
- type DS_REPL_NEIGHBORW
- type DS_REPL_OBJ_META_DATA
- type DS_REPL_OBJ_META_DATA_2
- type DS_REPL_OPW
- type DS_REPL_OP_TYPE
- type DS_REPL_PENDING_OPSW
- type DS_REPL_SERVER_OUTGOING_CALL
- type DS_REPL_SERVER_OUTGOING_CALLS
- type DS_REPL_VALUE_META_DATA
- type DS_REPL_VALUE_META_DATA_2
- type ENTINF
- type ENTINFLIST
- type FILETIME
- type INTFORMPROB_DRS_WIRE_V1
- type MTX_ADDR
- type NAMERESOP_DRS_WIRE_V1
- type NAMERR_DRS_WIRE_V1
- type NT4SID
- type NT4_REPLICATION_STATE
- type OID_t
- type PARTIAL_ATTR_VECTOR_V1_EXT
- type PROBLEMLIST_DRS_WIRE_V1
- type PROPERTY_META_DATA_EXT
- type PROPERTY_META_DATA_EXT_VECTOR
- type PrefixTableEntry
- type REFERR_DRS_WIRE_V1
- type REPLENTINFLIST
- type REPLTIMES
- type REPLVALINF_V1
- type REPLVALINF_V3
- type REVERSE_MEMBERSHIP_OPERATION_TYPE
- type SCHEMA_PREFIX_TABLE
- type SECERR_DRS_WIRE_V1
- type SVCERR_DRS_WIRE_V1
- type SYSERR_DRS_WIRE_V1
- type UPDERR_DRS_WIRE_V1
- type UPTODATE_CURSOR_V1
- type UPTODATE_CURSOR_V2
- type UPTODATE_VECTOR_V1_EXT
- type UPTODATE_VECTOR_V2_EXT
- type USN
- type USN_VECTOR
- type UUID
- type VALUE_META_DATA_EXT_V1
- type VALUE_META_DATA_EXT_V3
- type VAR_SIZE_BUFFER_WITH_VERSION
Constants
dwFlags capability bits ([MS-DRSR] 5.39).
const (
DRS_EXT_BASE uint32 = 0x00000001
DRS_EXT_ASYNCREPL uint32 = 0x00000002
DRS_EXT_REMOVEAPI uint32 = 0x00000004
DRS_EXT_MOVEREQ_V2 uint32 = 0x00000008
DRS_EXT_GETCHG_DEFLATE uint32 = 0x00000010
DRS_EXT_DCINFO_V1 uint32 = 0x00000020
DRS_EXT_RESTORE_USN_OPTIMIZATION uint32 = 0x00000040
DRS_EXT_ADDENTRY uint32 = 0x00000080
DRS_EXT_KCC_EXECUTE uint32 = 0x00000100
DRS_EXT_ADDENTRY_V2 uint32 = 0x00000200
DRS_EXT_LINKED_VALUE_REPLICATION uint32 = 0x00000400
DRS_EXT_DCINFO_V2 uint32 = 0x00000800
DRS_EXT_INSTANCE_TYPE_NOT_REQ uint32 = 0x00001000
DRS_EXT_CRYPTO_BIND uint32 = 0x00002000
DRS_EXT_GET_REPL_INFO uint32 = 0x00004000
DRS_EXT_STRONG_ENCRYPTION uint32 = 0x00008000
DRS_EXT_DCINFO_VFFFFFFFF uint32 = 0x00010000
DRS_EXT_TRANSITIVE_MEMBERSHIP uint32 = 0x00020000
DRS_EXT_ADD_SID_HISTORY uint32 = 0x00040000
DRS_EXT_POST_BETA3 uint32 = 0x00080000
DRS_EXT_GETCHGREQ_V5 uint32 = 0x00100000
DRS_EXT_GETMEMBERSHIPS2 uint32 = 0x00200000
DRS_EXT_GETCHGREQ_V6 uint32 = 0x00400000
DRS_EXT_NONDOMAIN_NCS uint32 = 0x00800000
DRS_EXT_GETCHGREQ_V8 uint32 = 0x01000000
DRS_EXT_GETCHGREPLY_V5 uint32 = 0x02000000
DRS_EXT_GETCHGREPLY_V6 uint32 = 0x04000000
DRS_EXT_WHISTLER_BETA3 uint32 = 0x08000000
DRS_EXT_W2K3_DEFLATE uint32 = 0x10000000
DRS_EXT_GETCHGREQ_V10 uint32 = 0x20000000
)
dwFlagsExt capability bits ([MS-DRSR] 5.39).
const (
DRS_EXT_ADAM uint32 = 0x00000001
DRS_EXT_LH_BETA2 uint32 = 0x00000002
DRS_EXT_RECYCLE_BIN uint32 = 0x00000004
DRS_EXT_GETCHGREPLY_V9 uint32 = 0x00000100
DRS_EXT_RPC_CORRELATIONID_1 uint32 = 0x00000400
)
DS_NAME_FORMAT selects how a name is expressed in IDL_DRSCrackNames’ formatOffered/formatDesired ([MS-DRSR] 4.1.4.1.3). DCSync resolves an account name by offering DS_NT4_ACCOUNT_NAME (or DS_USER_PRINCIPAL_NAME / DS_SID_OR_SID_HISTORY_NAME) and requesting DS_UNIQUE_ID_NAME, whose result is the objectGUID in “{…}” form.
const (
DS_UNKNOWN_NAME uint32 = 0
DS_FQDN_1779_NAME uint32 = 1
DS_NT4_ACCOUNT_NAME uint32 = 2
DS_DISPLAY_NAME uint32 = 3
DS_UNIQUE_ID_NAME uint32 = 6
DS_CANONICAL_NAME uint32 = 7
DS_USER_PRINCIPAL_NAME uint32 = 8
DS_CANONICAL_NAME_EX uint32 = 9
DS_SERVICE_PRINCIPAL_NAME uint32 = 10
DS_SID_OR_SID_HISTORY_NAME uint32 = 11
DS_DNS_DOMAIN_NAME uint32 = 12
)
DS_NAME_ERROR is the per-item status in DS_NAME_RESULT_ITEMW.Status ([MS-DRSR] 4.1.4.1.2). DS_NAME_NO_ERROR (0) means the item resolved.
const (
DS_NAME_NO_ERROR uint32 = 0
DS_NAME_ERROR_RESOLVING uint32 = 1
DS_NAME_ERROR_NOT_FOUND uint32 = 2
DS_NAME_ERROR_NOT_UNIQUE uint32 = 3
DS_NAME_ERROR_NO_MAPPING uint32 = 4
DS_NAME_ERROR_DOMAIN_ONLY uint32 = 5
DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING uint32 = 6
DS_NAME_ERROR_TRUST_REFERRAL uint32 = 7
)
EXOP is the extended operation in DRS_MSG_GETCHGREQ_V8.UlExtendedOp ([MS-DRSR] 5.40, “EXOP_REQ Codes”). EXOP_REPL_OBJ replicates a single object by GUID (the DCSync path); EXOP_REPL_SECRETS additionally forces secret values even without recent changes.
const (
EXOP_FSMO_REQ_ROLE uint32 = 0x00000001
EXOP_FSMO_REQ_RID_ALLOC uint32 = 0x00000002
EXOP_FSMO_RID_REQ_ROLE uint32 = 0x00000003
EXOP_FSMO_REQ_PDC uint32 = 0x00000004
EXOP_FSMO_ABANDON_ROLE uint32 = 0x00000005
EXOP_REPL_OBJ uint32 = 0x00000006
EXOP_REPL_SECRETS uint32 = 0x00000007
)
DS_REPL_INFO_TYPE selects which replication information IDL_DRSGetReplInfo returns ([MS-DRSR] 4.1.13.3); it is both the request InfoType and the reply union discriminant.
const (
DS_REPL_INFO_NEIGHBORS uint32 = 0
DS_REPL_INFO_CURSORS_FOR_NC uint32 = 1
DS_REPL_INFO_METADATA_FOR_OBJ uint32 = 2
DS_REPL_INFO_KCC_DSA_CONNECT_FAILURES uint32 = 3
DS_REPL_INFO_KCC_DSA_LINK_FAILURES uint32 = 4
DS_REPL_INFO_PENDING_OPS uint32 = 5
DS_REPL_INFO_METADATA_FOR_ATTR_VALUE uint32 = 6
DS_REPL_INFO_CURSORS_2_FOR_NC uint32 = 7
DS_REPL_INFO_CURSORS_3_FOR_NC uint32 = 8
DS_REPL_INFO_METADATA_2_FOR_OBJ uint32 = 9
DS_REPL_INFO_METADATA_2_FOR_ATTR_VALUE uint32 = 10
)
DRS_OPTIONS are the ulFlags bits of IDL_DRSGetNCChanges and related calls ([MS-DRSR] 5.41). A single-object replication uses DRS_INIT_SYNC | DRS_WRIT_REP.
const (
DRS_ASYNC_OP uint32 = 0x00000001
DRS_WRIT_REP uint32 = 0x00000010
DRS_INIT_SYNC uint32 = 0x00000020
DRS_PER_SYNC uint32 = 0x00000040
DRS_GET_ANC uint32 = 0x00000800
DRS_GET_NC_SIZE uint32 = 0x00001000
DRS_FULL_SYNC_NOW uint32 = 0x00008000
DRS_SYNC_URGENT uint32 = 0x00080000
DRS_NEVER_SYNCED uint32 = 0x00200000
DRS_SPECIAL_SECRET_PROCESSING uint32 = 0x00400000
)
DRSHandleSize is the wire size of an RPC context handle: a 4-octet attributes field plus a 16-octet UUID ([C706] 4.2.16.6, [MS-RPCE] 2.3.2.2).
const DRSHandleSize = 20
DRS_REVMEMB_FLAG_GET_ATTRIBUTES requests the SE_GROUP attributes associated with each group returned by IDL_DRSGetMemberships ([MS-DRSR] 4.1.7.2.1).
const DRS_REVMEMB_FLAG_GET_ATTRIBUTES uint32 = 0x00000001
type ADDENTRY\_REPLY\_INFO
ADDENTRY_REPLY_INFO ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type ADDENTRY_REPLY_INFO struct {
ObjGuid UUID
ObjSid NT4SID
}
type ATRERR\_DRS\_WIRE\_V1
ATRERR_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type ATRERR_DRS_WIRE_V1 struct {
PObject *DSNAME `ndr:"unique"`
Count ndr.DWORD
FirstProblem PROBLEMLIST_DRS_WIRE_V1
}
type ATTR
ATTR ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type ATTR struct {
AttrTyp ndr.DWORD
AttrVal ATTRVALBLOCK
}
type ATTRBLOCK
ATTRBLOCK ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type ATTRBLOCK struct {
AttrCount ndr.DWORD
PAttr []ATTR `ndr:"unique,size_is=AttrCount"`
}
type ATTRTYP
ATTRTYP is a scalar typedef ([MS-DRSR]).
type ATTRTYP ndr.DWORD
type ATTRVAL
ATTRVAL ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type ATTRVAL struct {
ValLen ndr.DWORD
PVal []uint8 `ndr:"unique,size_is=ValLen"`
}
type ATTRVALBLOCK
ATTRVALBLOCK ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type ATTRVALBLOCK struct {
ValCount ndr.DWORD
PAVal []ATTRVAL `ndr:"unique,size_is=ValCount"`
}
type CONTREF\_DRS\_WIRE\_V1
CONTREF_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type CONTREF_DRS_WIRE_V1 struct {
PTarget *DSNAME `ndr:"unique"`
OpState NAMERESOP_DRS_WIRE_V1
AliasRDN uint16
RDNsInternal uint16
RefType uint16
Count uint16
PDAL *DSA_ADDRESS_LIST_DRS_WIRE_V1 `ndr:"unique"`
PNextContRef *CONTREF_DRS_WIRE_V1 `ndr:"unique"`
BNewChoice ndr.BOOL
Choice uint8
}
type DIRERR\_DRS\_WIRE\_V1
DIRERR_DRS_WIRE_V1 is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DIRERR_DRS_WIRE_V1 struct {
Tag ndr.DWORD `ndr:"switch"`
AtrErr ATRERR_DRS_WIRE_V1 `ndr:"case=1"`
NamErr NAMERR_DRS_WIRE_V1 `ndr:"case=2"`
RefErr REFERR_DRS_WIRE_V1 `ndr:"case=3"`
SecErr SECERR_DRS_WIRE_V1 `ndr:"case=4"`
SvcErr SVCERR_DRS_WIRE_V1 `ndr:"case=5"`
UpdErr UPDERR_DRS_WIRE_V1 `ndr:"case=6"`
SysErr SYSERR_DRS_WIRE_V1 `ndr:"case=7"`
}
type DRS\_COMPRESSED\_BLOB
DRS_COMPRESSED_BLOB ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_COMPRESSED_BLOB struct {
CbUncompressedSize ndr.DWORD
CbCompressedSize ndr.DWORD
PbCompressedData []uint8 `ndr:"unique,size_is=CbCompressedSize"`
}
type DRS\_COMP\_ALG\_TYPE
DRS_COMP_ALG_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DRSR]).
type DRS_COMP_ALG_TYPE uint16
const (
DRS_COMP_ALG_NONE DRS_COMP_ALG_TYPE = 0
DRS_COMP_ALG_UNUSED DRS_COMP_ALG_TYPE = 1
DRS_COMP_ALG_MSZIP DRS_COMP_ALG_TYPE = 2
DRS_COMP_ALG_WIN2K3 DRS_COMP_ALG_TYPE = 3
)
type DRS\_ERROR\_DATA
DRS_ERROR_DATA is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_ERROR_DATA struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_ERROR_DATA_V1 `ndr:"case=1"`
}
type DRS\_ERROR\_DATA\_V1
DRS_ERROR_DATA_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_ERROR_DATA_V1 struct {
DwRepError ndr.DWORD
ErrCode ndr.DWORD
PErrInfo *DIRERR_DRS_WIRE_V1 `ndr:"unique"`
}
type DRS\_EXTENSIONS
DRS_EXTENSIONS is the variable-length capability blob exchanged at IDL_DRSBind ([MS-DRSR] 5.38): a byte count followed by Cb opaque bytes. The bytes carry a DRS_EXTENSIONS_INT (5.39) — see DRS_EXTENSIONS_INT and BuildClientExtensions.
Rgb is an INLINE conformant array (`[size_is(cb)] BYTE rgb[]`), not a pointer to one: the maximum_count is hoisted ahead of Cb and no referent id is emitted. (idlgen defaulted this to `unique`, which would emit a stray referent id and fault the bind.)
type DRS_EXTENSIONS struct {
Cb ndr.DWORD
Rgb []uint8 `ndr:"conformant,size_is=Cb"`
}
func (DRS_EXTENSIONS) ParseInt
func (x DRS_EXTENSIONS) ParseInt() (*DRS_EXTENSIONS_INT, error)
ParseInt decodes the DRS_EXTENSIONS_INT carried in a DRS_EXTENSIONS blob (e.g. the server’s negotiated extensions returned by IDL_DRSBind).
type DRS\_EXTENSIONS\_INT
DRS_EXTENSIONS_INT is the capability structure carried by DRS_EXTENSIONS at IDL_DRSBind ([MS-DRSR] 5.39). It is NOT an NDR type: it is a fixed little-endian byte layout, (un)marshalled by hand. Both peers send it to negotiate which request/reply message versions and capabilities they support.
Wire relationship (verified against a live DC): DRS_EXTENSIONS is { DWORD cb; BYTE rgb[cb]; }, and the DRS_EXTENSIONS_INT.cb field IS that same DRS_EXTENSIONS.cb — it is NOT repeated inside rgb. So rgb holds only dwFlags..dwExtCaps (52 bytes) and Cb counts exactly those bytes. (An earlier revision wrongly prepended cb to rgb, which shifted dwFlags and made the server miss the client’s STRONG_ENCRYPTION flag.) Cb here is informational; Marshal/ToExtensions derive it from the field block length.
GUID fields are raw 16-octet RPC-wire values (guid.GUID.ToBytes order); a non-DC client leaves them zero.
type DRS_EXTENSIONS_INT struct {
Cb uint32
DwFlags uint32
SiteObjGuid [16]byte
Pid int32
DwReplEpoch uint32
DwFlagsExt uint32
ConfigObjGUID [16]byte
DwExtCaps uint32
}
func DefaultClientExtensions
func DefaultClientExtensions() *DRS_EXTENSIONS_INT
DefaultClientExtensions returns the DRS_EXTENSIONS_INT a replication client (DCSync) sends at bind. The flags ask the server for the message versions IDL_DRSGetNCChanges needs and assert support for on-wire secret encryption:
- GETCHGREQ_V8 + RESTORE_USN_OPTIMIZATION — issue V8 change requests ([MS-DRSR] 4.1.3.2)
- GETCHGREPLY_V6 — receive the V6 reply DCSync parses ([MS-DRSR] 4.1.3.1)
- STRONG_ENCRYPTION — required for the DC to send secrets over the wire
- GETCHGREQ_V6, NONDOMAIN_NCS — match the widely-deployed impacket client set
dwExtCaps is set to all-ones (impacket’s choice) to assert every extended capability. SiteObjGuid/ConfigObjGUID/Pid/dwReplEpoch stay zero, as a non-DC client has none.
func ParseExtensionsInt
func ParseExtensionsInt(b []byte) (*DRS_EXTENSIONS_INT, error)
ParseExtensionsInt decodes a DRS_EXTENSIONS_INT from a DRS_EXTENSIONS rgb block (which begins at dwFlags, not at cb). Trailing fields a shorter peer omitted are left zero (the structure is forward-extensible). Cb is set to the block length.
func (*DRS_EXTENSIONS_INT) Marshal
func (e *DRS_EXTENSIONS_INT) Marshal() []byte
Marshal serializes the field block dwFlags..dwExtCaps to its [MS-DRSR] 5.39 little-endian wire bytes (52 octets). This is the rgb content of DRS_EXTENSIONS; the cb that precedes rgb is the DRS_EXTENSIONS.Cb field, not part of this block.
func (*DRS_EXTENSIONS_INT) ToExtensions
func (e *DRS_EXTENSIONS_INT) ToExtensions() DRS_EXTENSIONS
ToExtensions wraps the marshalled field block in a DRS_EXTENSIONS, setting Cb to the block length (the value the [size_is(cb)] rgb array is sized by).
type DRS\_HANDLE
DRS_HANDLE is the drsuapi RPC context handle (the IDL’s [context_handle] void*). It is transmitted inline as its 20 octets — not as an NDR pointer referent — and aligned to 4 octets because it begins with the 4-octet attributes word. It is a Marshaler so the codec applies that alignment regardless of what precedes it; the zero value is the null handle. IDL_DRSBind returns it and every subsequent drsuapi call passes it back.
type DRS_HANDLE [DRSHandleSize]byte
func (*DRS_HANDLE) AlignmentNDR
func (*DRS_HANDLE) AlignmentNDR() int
AlignmentNDR reports the 4-octet alignment of a context handle.
func (DRS_HANDLE) IsNull
func (h DRS_HANDLE) IsNull() bool
IsNull reports whether the handle is the null context handle, i.e. its 16-octet UUID (the octets after the 4-octet attributes word) is all zero.
func (*DRS_HANDLE) MarshalNDR
func (h *DRS_HANDLE) MarshalNDR(e *ndr.Encoder) error
MarshalNDR writes the 20 octets of the context handle.
func (*DRS_HANDLE) UnmarshalNDR
func (h *DRS_HANDLE) UnmarshalNDR(d *ndr.Decoder) error
UnmarshalNDR reads the 20 octets of the context handle.
type DRS\_MSG\_ADDCLONEDCREPLY
DRS_MSG_ADDCLONEDCREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_ADDCLONEDCREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_ADDCLONEDCREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_ADDCLONEDCREPLY\_V1
DRS_MSG_ADDCLONEDCREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDCLONEDCREPLY_V1 struct {
PwszCloneDCName *ndr.WSTR `ndr:"unique"`
PwszSite *ndr.WSTR `ndr:"unique"`
CPasswordLength ndr.DWORD
PwsNewDCAccountPassword []uint16 `ndr:"unique,size_is=CPasswordLength"`
}
type DRS\_MSG\_ADDCLONEDCREQ
DRS_MSG_ADDCLONEDCREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_ADDCLONEDCREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_ADDCLONEDCREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_ADDCLONEDCREQ\_V1
DRS_MSG_ADDCLONEDCREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDCLONEDCREQ_V1 struct {
PwszCloneDCName *ndr.WSTR `ndr:"unique"`
PwszSite *ndr.WSTR `ndr:"unique"`
}
type DRS\_MSG\_ADDENTRYREPLY
DRS_MSG_ADDENTRYREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_ADDENTRYREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_ADDENTRYREPLY_V1 `ndr:"case=1"`
V2 DRS_MSG_ADDENTRYREPLY_V2 `ndr:"case=2"`
V3 DRS_MSG_ADDENTRYREPLY_V3 `ndr:"case=3"`
}
type DRS\_MSG\_ADDENTRYREPLY\_V1
DRS_MSG_ADDENTRYREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDENTRYREPLY_V1 struct {
Guid UUID
Sid NT4SID
ErrCode ndr.DWORD
Dsid ndr.DWORD
ExtendedErr ndr.DWORD
ExtendedData ndr.DWORD
Problem uint16
}
type DRS\_MSG\_ADDENTRYREPLY\_V2
DRS_MSG_ADDENTRYREPLY_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDENTRYREPLY_V2 struct {
PErrorObject *DSNAME `ndr:"unique"`
ErrCode ndr.DWORD
Dsid ndr.DWORD
ExtendedErr ndr.DWORD
ExtendedData ndr.DWORD
Problem uint16
CObjectsAdded ndr.DWORD
InfoList []ADDENTRY_REPLY_INFO `ndr:"unique,size_is=CObjectsAdded"`
}
type DRS\_MSG\_ADDENTRYREPLY\_V3
DRS_MSG_ADDENTRYREPLY_V3 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDENTRYREPLY_V3 struct {
PdsErrObject *DSNAME `ndr:"unique"`
DwErrVer ndr.DWORD
PErrData *DRS_ERROR_DATA `ndr:"unique"`
CObjectsAdded ndr.DWORD
InfoList []ADDENTRY_REPLY_INFO `ndr:"unique,size_is=CObjectsAdded"`
}
type DRS\_MSG\_ADDENTRYREQ
DRS_MSG_ADDENTRYREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_ADDENTRYREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_ADDENTRYREQ_V1 `ndr:"case=1"`
V2 DRS_MSG_ADDENTRYREQ_V2 `ndr:"case=2"`
V3 DRS_MSG_ADDENTRYREQ_V3 `ndr:"case=3"`
}
type DRS\_MSG\_ADDENTRYREQ\_V1
DRS_MSG_ADDENTRYREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDENTRYREQ_V1 struct {
PObject *DSNAME `ndr:"unique"`
AttrBlock ATTRBLOCK
}
type DRS\_MSG\_ADDENTRYREQ\_V2
DRS_MSG_ADDENTRYREQ_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDENTRYREQ_V2 struct {
EntInfList ENTINFLIST
}
type DRS\_MSG\_ADDENTRYREQ\_V3
DRS_MSG_ADDENTRYREQ_V3 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDENTRYREQ_V3 struct {
EntInfList ENTINFLIST
PClientCreds *DRS_SecBufferDesc `ndr:"unique"`
}
type DRS\_MSG\_ADDSIDREPLY
DRS_MSG_ADDSIDREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_ADDSIDREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_ADDSIDREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_ADDSIDREPLY\_V1
DRS_MSG_ADDSIDREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDSIDREPLY_V1 struct {
DwWin32Error ndr.DWORD
}
type DRS\_MSG\_ADDSIDREQ
DRS_MSG_ADDSIDREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_ADDSIDREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_ADDSIDREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_ADDSIDREQ\_V1
DRS_MSG_ADDSIDREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_ADDSIDREQ_V1 struct {
Flags ndr.DWORD
SrcDomain *ndr.WSTR `ndr:"unique"`
SrcPrincipal *ndr.WSTR `ndr:"unique"`
SrcDomainController *ndr.WSTR `ndr:"unique"`
SrcCredsUserLength ndr.DWORD
SrcCredsUser []uint16 `ndr:"unique,size_is=SrcCredsUserLength"`
SrcCredsDomainLength ndr.DWORD
SrcCredsDomain []uint16 `ndr:"unique,size_is=SrcCredsDomainLength"`
SrcCredsPasswordLength ndr.DWORD
SrcCredsPassword []uint16 `ndr:"unique,size_is=SrcCredsPasswordLength"`
DstDomain *ndr.WSTR `ndr:"unique"`
DstPrincipal *ndr.WSTR `ndr:"unique"`
}
type DRS\_MSG\_CRACKREPLY
DRS_MSG_CRACKREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_CRACKREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_CRACKREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_CRACKREPLY\_V1
DRS_MSG_CRACKREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_CRACKREPLY_V1 struct {
PResult *DS_NAME_RESULTW `ndr:"unique"`
}
type DRS\_MSG\_CRACKREQ
DRS_MSG_CRACKREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_CRACKREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_CRACKREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_CRACKREQ\_V1
DRS_MSG_CRACKREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_CRACKREQ_V1 struct {
CodePage ndr.DWORD
LocaleId ndr.DWORD
DwFlags ndr.DWORD
FormatOffered ndr.DWORD
FormatDesired ndr.DWORD
CNames ndr.DWORD
RpNames []*ndr.WSTR `ndr:"unique,size_is=CNames"` // IDL: [string] WCHAR **rpNames (array of strings)
}
type DRS\_MSG\_DCINFOREPLY
DRS_MSG_DCINFOREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_DCINFOREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_DCINFOREPLY_V1 `ndr:"case=1"`
V2 DRS_MSG_DCINFOREPLY_V2 `ndr:"case=2"`
V3 DRS_MSG_DCINFOREPLY_V3 `ndr:"case=3"`
VFFFFFFFF DRS_MSG_DCINFOREPLY_VFFFFFFFF `ndr:"case=4294967295"`
}
type DRS\_MSG\_DCINFOREPLY\_V1
DRS_MSG_DCINFOREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_DCINFOREPLY_V1 struct {
CItems ndr.DWORD
RItems []DS_DOMAIN_CONTROLLER_INFO_1W `ndr:"unique,size_is=CItems"`
}
type DRS\_MSG\_DCINFOREPLY\_V2
DRS_MSG_DCINFOREPLY_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_DCINFOREPLY_V2 struct {
CItems ndr.DWORD
RItems []DS_DOMAIN_CONTROLLER_INFO_2W `ndr:"unique,size_is=CItems"`
}
type DRS\_MSG\_DCINFOREPLY\_V3
DRS_MSG_DCINFOREPLY_V3 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_DCINFOREPLY_V3 struct {
CItems ndr.DWORD
RItems []DS_DOMAIN_CONTROLLER_INFO_3W `ndr:"unique,size_is=CItems"`
}
type DRS\_MSG\_DCINFOREPLY\_VFFFFFFFF
DRS_MSG_DCINFOREPLY_VFFFFFFFF ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_DCINFOREPLY_VFFFFFFFF struct {
CItems ndr.DWORD
RItems []DS_DOMAIN_CONTROLLER_INFO_FFFFFFFFW `ndr:"unique,size_is=CItems"`
}
type DRS\_MSG\_DCINFOREQ
DRS_MSG_DCINFOREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_DCINFOREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_DCINFOREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_DCINFOREQ\_V1
DRS_MSG_DCINFOREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_DCINFOREQ_V1 struct {
Domain *ndr.WSTR `ndr:"unique"`
InfoLevel ndr.DWORD
}
type DRS\_MSG\_EXISTREPLY
DRS_MSG_EXISTREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_EXISTREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_EXISTREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_EXISTREPLY\_V1
DRS_MSG_EXISTREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_EXISTREPLY_V1 struct {
DwStatusFlags ndr.DWORD
CNumGuids ndr.DWORD
RgGuids []UUID `ndr:"unique,size_is=CNumGuids"`
}
type DRS\_MSG\_EXISTREQ
DRS_MSG_EXISTREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_EXISTREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_EXISTREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_EXISTREQ\_V1
DRS_MSG_EXISTREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_EXISTREQ_V1 struct {
GuidStart UUID
CGuids ndr.DWORD
PNC *DSNAME `ndr:"unique"`
PUpToDateVecCommonV1 *UPTODATE_VECTOR_V1_EXT `ndr:"unique"`
Md5Digest [16]uint8
}
type DRS\_MSG\_FINISH\_DEMOTIONREPLY
DRS_MSG_FINISH_DEMOTIONREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_FINISH_DEMOTIONREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_FINISH_DEMOTIONREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_FINISH\_DEMOTIONREPLY\_V1
DRS_MSG_FINISH_DEMOTIONREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_FINISH_DEMOTIONREPLY_V1 struct {
DwOperationsDone ndr.DWORD
DwOpFailed ndr.DWORD
DwOpError ndr.DWORD
}
type DRS\_MSG\_FINISH\_DEMOTIONREQ
DRS_MSG_FINISH_DEMOTIONREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_FINISH_DEMOTIONREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_FINISH_DEMOTIONREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_FINISH\_DEMOTIONREQ\_V1
DRS_MSG_FINISH_DEMOTIONREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_FINISH_DEMOTIONREQ_V1 struct {
DwOperations ndr.DWORD
UuidHelperDest UUID
SzScriptBase *ndr.WSTR `ndr:"unique"`
}
type DRS\_MSG\_GETCHGREPLY
DRS_MSG_GETCHGREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_GETCHGREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_GETCHGREPLY_V1 `ndr:"case=1"`
V2 DRS_MSG_GETCHGREPLY_V2 `ndr:"case=2"`
V6 DRS_MSG_GETCHGREPLY_V6 `ndr:"case=6"`
V7 DRS_MSG_GETCHGREPLY_V7 `ndr:"case=7"`
V9 DRS_MSG_GETCHGREPLY_V9 `ndr:"case=9"`
}
type DRS\_MSG\_GETCHGREPLY\_V1
DRS_MSG_GETCHGREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREPLY_V1 struct {
UuidDsaObjSrc UUID
UuidInvocIdSrc UUID
PNC *DSNAME `ndr:"unique"`
UsnvecFrom USN_VECTOR
UsnvecTo USN_VECTOR
PUpToDateVecSrcV1 *UPTODATE_VECTOR_V1_EXT `ndr:"unique"`
PrefixTableSrc SCHEMA_PREFIX_TABLE
UlExtendedRet ndr.DWORD
CNumObjects ndr.DWORD
CNumBytes ndr.DWORD
PObjects *REPLENTINFLIST `ndr:"unique"`
FMoreData ndr.BOOL
}
type DRS\_MSG\_GETCHGREPLY\_V2
DRS_MSG_GETCHGREPLY_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREPLY_V2 struct {
CompressedV1 DRS_COMPRESSED_BLOB
}
type DRS\_MSG\_GETCHGREPLY\_V6
DRS_MSG_GETCHGREPLY_V6 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREPLY_V6 struct {
UuidDsaObjSrc UUID
UuidInvocIdSrc UUID
PNC *DSNAME `ndr:"unique"`
UsnvecFrom USN_VECTOR
UsnvecTo USN_VECTOR
PUpToDateVecSrc *UPTODATE_VECTOR_V2_EXT `ndr:"unique"`
PrefixTableSrc SCHEMA_PREFIX_TABLE
UlExtendedRet ndr.DWORD
CNumObjects ndr.DWORD
CNumBytes ndr.DWORD
PObjects *REPLENTINFLIST `ndr:"unique"`
FMoreData ndr.BOOL
CNumNcSizeObjects ndr.DWORD
CNumNcSizeValues ndr.DWORD
CNumValues ndr.DWORD
RgValues []REPLVALINF_V1 `ndr:"unique,size_is=CNumValues"`
DwDRSError ndr.DWORD
}
type DRS\_MSG\_GETCHGREPLY\_V7
DRS_MSG_GETCHGREPLY_V7 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREPLY_V7 struct {
DwCompressedVersion ndr.DWORD
CompressionAlg DRS_COMP_ALG_TYPE
CompressedAny DRS_COMPRESSED_BLOB
}
type DRS\_MSG\_GETCHGREPLY\_V9
DRS_MSG_GETCHGREPLY_V9 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREPLY_V9 struct {
UuidDsaObjSrc UUID
UuidInvocIdSrc UUID
PNC *DSNAME `ndr:"unique"`
UsnvecFrom USN_VECTOR
UsnvecTo USN_VECTOR
PUpToDateVecSrc *UPTODATE_VECTOR_V2_EXT `ndr:"unique"`
PrefixTableSrc SCHEMA_PREFIX_TABLE
UlExtendedRet ndr.DWORD
CNumObjects ndr.DWORD
CNumBytes ndr.DWORD
PObjects *REPLENTINFLIST `ndr:"unique"`
FMoreData ndr.BOOL
CNumNcSizeObjects ndr.DWORD
CNumNcSizeValues ndr.DWORD
CNumValues ndr.DWORD
RgValues []REPLVALINF_V3 `ndr:"unique,size_is=CNumValues"`
DwDRSError ndr.DWORD
}
type DRS\_MSG\_GETCHGREQ
DRS_MSG_GETCHGREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_GETCHGREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V4 DRS_MSG_GETCHGREQ_V4 `ndr:"case=4"`
V5 DRS_MSG_GETCHGREQ_V5 `ndr:"case=5"`
V7 DRS_MSG_GETCHGREQ_V7 `ndr:"case=7"`
V8 DRS_MSG_GETCHGREQ_V8 `ndr:"case=8"`
V10 DRS_MSG_GETCHGREQ_V10 `ndr:"case=10"`
V11 DRS_MSG_GETCHGREQ_V11 `ndr:"case=11"`
}
type DRS\_MSG\_GETCHGREQ\_V10
DRS_MSG_GETCHGREQ_V10 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREQ_V10 struct {
UuidDsaObjDest UUID
UuidInvocIdSrc UUID
PNC *DSNAME `ndr:"unique"`
UsnvecFrom USN_VECTOR
PUpToDateVecDest *UPTODATE_VECTOR_V1_EXT `ndr:"unique"`
UlFlags ndr.DWORD
CMaxObjects ndr.DWORD
CMaxBytes ndr.DWORD
UlExtendedOp ndr.DWORD
LiFsmoInfo msdtyp.ULARGE_INTEGER
PPartialAttrSet *PARTIAL_ATTR_VECTOR_V1_EXT `ndr:"unique"`
PPartialAttrSetEx *PARTIAL_ATTR_VECTOR_V1_EXT `ndr:"unique"`
PrefixTableDest SCHEMA_PREFIX_TABLE
UlMoreFlags ndr.DWORD
}
type DRS\_MSG\_GETCHGREQ\_V11
DRS_MSG_GETCHGREQ_V11 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREQ_V11 struct {
UuidDsaObjDest UUID
UuidInvocIdSrc UUID
PNC *DSNAME `ndr:"unique"`
UsnvecFrom USN_VECTOR
PUpToDateVecDest *UPTODATE_VECTOR_V1_EXT `ndr:"unique"`
UlFlags ndr.DWORD
CMaxObjects ndr.DWORD
CMaxBytes ndr.DWORD
UlExtendedOp ndr.DWORD
LiFsmoInfo msdtyp.ULARGE_INTEGER
PPartialAttrSet *PARTIAL_ATTR_VECTOR_V1_EXT `ndr:"unique"`
PPartialAttrSetEx *PARTIAL_ATTR_VECTOR_V1_EXT `ndr:"unique"`
PrefixTableDest SCHEMA_PREFIX_TABLE
UlMoreFlags ndr.DWORD
CorrelationID UUID
PReservedBuffer *VAR_SIZE_BUFFER_WITH_VERSION `ndr:"unique"`
}
type DRS\_MSG\_GETCHGREQ\_V3
DRS_MSG_GETCHGREQ_V3 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREQ_V3 struct {
UuidDsaObjDest UUID
UuidInvocIdSrc UUID
PNC *DSNAME `ndr:"unique"`
UsnvecFrom USN_VECTOR
PUpToDateVecDestV1 *UPTODATE_VECTOR_V1_EXT `ndr:"unique"`
PPartialAttrVecDestV1 *PARTIAL_ATTR_VECTOR_V1_EXT `ndr:"unique"`
PrefixTableDest SCHEMA_PREFIX_TABLE
UlFlags ndr.DWORD
CMaxObjects ndr.DWORD
CMaxBytes ndr.DWORD
UlExtendedOp ndr.DWORD
}
type DRS\_MSG\_GETCHGREQ\_V4
DRS_MSG_GETCHGREQ_V4 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREQ_V4 struct {
UuidTransportObj UUID
PmtxReturnAddress *MTX_ADDR `ndr:"unique"`
V3 DRS_MSG_GETCHGREQ_V3
}
type DRS\_MSG\_GETCHGREQ\_V5
DRS_MSG_GETCHGREQ_V5 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREQ_V5 struct {
UuidDsaObjDest UUID
UuidInvocIdSrc UUID
PNC *DSNAME `ndr:"unique"`
UsnvecFrom USN_VECTOR
PUpToDateVecDestV1 *UPTODATE_VECTOR_V1_EXT `ndr:"unique"`
UlFlags ndr.DWORD
CMaxObjects ndr.DWORD
CMaxBytes ndr.DWORD
UlExtendedOp ndr.DWORD
LiFsmoInfo msdtyp.ULARGE_INTEGER
}
type DRS\_MSG\_GETCHGREQ\_V7
DRS_MSG_GETCHGREQ_V7 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREQ_V7 struct {
UuidTransportObj UUID
PmtxReturnAddress *MTX_ADDR `ndr:"unique"`
V3 DRS_MSG_GETCHGREQ_V3
PPartialAttrSet *PARTIAL_ATTR_VECTOR_V1_EXT `ndr:"unique"`
PPartialAttrSetEx *PARTIAL_ATTR_VECTOR_V1_EXT `ndr:"unique"`
PrefixTableDest SCHEMA_PREFIX_TABLE
}
type DRS\_MSG\_GETCHGREQ\_V8
DRS_MSG_GETCHGREQ_V8 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETCHGREQ_V8 struct {
UuidDsaObjDest UUID
UuidInvocIdSrc UUID
PNC *DSNAME `ndr:"unique"`
UsnvecFrom USN_VECTOR
PUpToDateVecDest *UPTODATE_VECTOR_V1_EXT `ndr:"unique"`
UlFlags ndr.DWORD
CMaxObjects ndr.DWORD
CMaxBytes ndr.DWORD
UlExtendedOp ndr.DWORD
LiFsmoInfo msdtyp.ULARGE_INTEGER
PPartialAttrSet *PARTIAL_ATTR_VECTOR_V1_EXT `ndr:"unique"`
PPartialAttrSetEx *PARTIAL_ATTR_VECTOR_V1_EXT `ndr:"unique"`
PrefixTableDest SCHEMA_PREFIX_TABLE
}
type DRS\_MSG\_GETMEMBERSHIPS2\_REPLY
DRS_MSG_GETMEMBERSHIPS2_REPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_GETMEMBERSHIPS2_REPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_GETMEMBERSHIPS2_REPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_GETMEMBERSHIPS2\_REPLY\_V1
DRS_MSG_GETMEMBERSHIPS2_REPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETMEMBERSHIPS2_REPLY_V1 struct {
Count ndr.DWORD
Replies []DRS_MSG_REVMEMB_REPLY_V1 `ndr:"unique,size_is=Count"`
}
type DRS\_MSG\_GETMEMBERSHIPS2\_REQ
DRS_MSG_GETMEMBERSHIPS2_REQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_GETMEMBERSHIPS2_REQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_GETMEMBERSHIPS2_REQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_GETMEMBERSHIPS2\_REQ\_V1
DRS_MSG_GETMEMBERSHIPS2_REQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETMEMBERSHIPS2_REQ_V1 struct {
Count ndr.DWORD
Requests []DRS_MSG_REVMEMB_REQ_V1 `ndr:"unique,size_is=Count"`
}
type DRS\_MSG\_GETREPLINFO\_REPLY
DRS_MSG_GETREPLINFO_REPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_GETREPLINFO_REPLY struct {
Tag ndr.DWORD `ndr:"switch"`
PNeighbors *DS_REPL_NEIGHBORSW `ndr:"case=0,unique"`
PCursors *DS_REPL_CURSORS `ndr:"case=1,unique"`
PObjMetaData *DS_REPL_OBJ_META_DATA `ndr:"case=2,unique"`
PConnectFailures *DS_REPL_KCC_DSA_FAILURESW `ndr:"case=3,unique"`
PLinkFailures *DS_REPL_KCC_DSA_FAILURESW `ndr:"case=4,unique"`
PPendingOps *DS_REPL_PENDING_OPSW `ndr:"case=5,unique"`
PAttrValueMetaData *DS_REPL_ATTR_VALUE_META_DATA `ndr:"case=6,unique"`
PCursors2 *DS_REPL_CURSORS_2 `ndr:"case=7,unique"`
PCursors3 *DS_REPL_CURSORS_3W `ndr:"case=8,unique"`
PObjMetaData2 *DS_REPL_OBJ_META_DATA_2 `ndr:"case=9,unique"`
PAttrValueMetaData2 *DS_REPL_ATTR_VALUE_META_DATA_2 `ndr:"case=10,unique"`
PServerOutgoingCalls *DS_REPL_SERVER_OUTGOING_CALLS `ndr:"case=4294967290,unique"`
PUpToDateVec *UPTODATE_VECTOR_V1_EXT `ndr:"case=4294967291,unique"`
PClientContexts *DS_REPL_CLIENT_CONTEXTS `ndr:"case=4294967292,unique"`
PRepsTo *DS_REPL_NEIGHBORSW `ndr:"case=4294967294,unique"`
}
type DRS\_MSG\_GETREPLINFO\_REQ
DRS_MSG_GETREPLINFO_REQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_GETREPLINFO_REQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_GETREPLINFO_REQ_V1 `ndr:"case=1"`
V2 DRS_MSG_GETREPLINFO_REQ_V2 `ndr:"case=2"`
}
type DRS\_MSG\_GETREPLINFO\_REQ\_V1
DRS_MSG_GETREPLINFO_REQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETREPLINFO_REQ_V1 struct {
InfoType ndr.DWORD
PszObjectDN *ndr.WSTR `ndr:"unique"`
UuidSourceDsaObjGuid UUID
}
type DRS\_MSG\_GETREPLINFO\_REQ\_V2
DRS_MSG_GETREPLINFO_REQ_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_GETREPLINFO_REQ_V2 struct {
InfoType ndr.DWORD
PszObjectDN *ndr.WSTR `ndr:"unique"`
UuidSourceDsaObjGuid UUID
UlFlags ndr.DWORD
PszAttributeName *ndr.WSTR `ndr:"unique"`
PszValueDN *ndr.WSTR `ndr:"unique"`
DwEnumerationContext ndr.DWORD
}
type DRS\_MSG\_INIT\_DEMOTIONREPLY
DRS_MSG_INIT_DEMOTIONREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_INIT_DEMOTIONREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_INIT_DEMOTIONREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_INIT\_DEMOTIONREPLY\_V1
DRS_MSG_INIT_DEMOTIONREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_INIT_DEMOTIONREPLY_V1 struct {
DwOpError ndr.DWORD
}
type DRS\_MSG\_INIT\_DEMOTIONREQ
DRS_MSG_INIT_DEMOTIONREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_INIT_DEMOTIONREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_INIT_DEMOTIONREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_INIT\_DEMOTIONREQ\_V1
DRS_MSG_INIT_DEMOTIONREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_INIT_DEMOTIONREQ_V1 struct {
DwReserved ndr.DWORD
}
type DRS\_MSG\_KCC\_EXECUTE
DRS_MSG_KCC_EXECUTE is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_KCC_EXECUTE struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_KCC_EXECUTE_V1 `ndr:"case=1"`
}
type DRS\_MSG\_KCC\_EXECUTE\_V1
DRS_MSG_KCC_EXECUTE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_KCC_EXECUTE_V1 struct {
DwTaskID ndr.DWORD
DwFlags ndr.DWORD
}
type DRS\_MSG\_MOVEREPLY
DRS_MSG_MOVEREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_MOVEREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_MOVEREPLY_V1 `ndr:"case=1"`
V2 DRS_MSG_MOVEREPLY_V2 `ndr:"case=2"`
}
type DRS\_MSG\_MOVEREPLY\_V1
DRS_MSG_MOVEREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_MOVEREPLY_V1 struct {
PpResult **ENTINF `ndr:"unique"` // IDL: ENTINF **ppResult (double unique ptr); verify referent levels at wire-validation
PrefixTable SCHEMA_PREFIX_TABLE
PError *ndr.DWORD `ndr:"unique"`
}
type DRS\_MSG\_MOVEREPLY\_V2
DRS_MSG_MOVEREPLY_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_MOVEREPLY_V2 struct {
Win32Error ndr.DWORD
PAddedName *DSNAME `ndr:"unique"`
}
type DRS\_MSG\_MOVEREQ
DRS_MSG_MOVEREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_MOVEREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_MOVEREQ_V1 `ndr:"case=1"`
V2 DRS_MSG_MOVEREQ_V2 `ndr:"case=2"`
}
type DRS\_MSG\_MOVEREQ\_V1
DRS_MSG_MOVEREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_MOVEREQ_V1 struct {
PSourceDSA *byte `ndr:"unique"`
PObject *ENTINF `ndr:"unique"`
PParentUUID *UUID `ndr:"unique"`
PrefixTable SCHEMA_PREFIX_TABLE
UlFlags ndr.DWORD
}
type DRS\_MSG\_MOVEREQ\_V2
DRS_MSG_MOVEREQ_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_MOVEREQ_V2 struct {
PSrcDSA *DSNAME `ndr:"unique"`
PSrcObject *ENTINF `ndr:"unique"`
PDstName *DSNAME `ndr:"unique"`
PExpectedTargetNC *DSNAME `ndr:"unique"`
PClientCreds *DRS_SecBufferDesc `ndr:"unique"`
PrefixTable SCHEMA_PREFIX_TABLE
UlFlags ndr.DWORD
}
type DRS\_MSG\_NT4\_CHGLOG\_REPLY
DRS_MSG_NT4_CHGLOG_REPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_NT4_CHGLOG_REPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_NT4_CHGLOG_REPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_NT4\_CHGLOG\_REPLY\_V1
DRS_MSG_NT4_CHGLOG_REPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_NT4_CHGLOG_REPLY_V1 struct {
CbRestart ndr.DWORD
CbLog ndr.DWORD
ReplicationState NT4_REPLICATION_STATE
ActualNtStatus ndr.DWORD
PRestart []uint8 `ndr:"unique,size_is=CbRestart"`
PLog []uint8 `ndr:"unique,size_is=CbLog"`
}
type DRS\_MSG\_NT4\_CHGLOG\_REQ
DRS_MSG_NT4_CHGLOG_REQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_NT4_CHGLOG_REQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_NT4_CHGLOG_REQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_NT4\_CHGLOG\_REQ\_V1
DRS_MSG_NT4_CHGLOG_REQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_NT4_CHGLOG_REQ_V1 struct {
DwFlags ndr.DWORD
PreferredMaximumLength ndr.DWORD
CbRestart ndr.DWORD
PRestart []uint8 `ndr:"unique,size_is=CbRestart"`
}
type DRS\_MSG\_QUERYSITESREPLY
DRS_MSG_QUERYSITESREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_QUERYSITESREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_QUERYSITESREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_QUERYSITESREPLYELEMENT\_V1
DRS_MSG_QUERYSITESREPLYELEMENT_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_QUERYSITESREPLYELEMENT_V1 struct {
DwErrorCode ndr.DWORD
DwCost ndr.DWORD
}
type DRS\_MSG\_QUERYSITESREPLY\_V1
DRS_MSG_QUERYSITESREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_QUERYSITESREPLY_V1 struct {
CToSites ndr.DWORD
RgCostInfo []DRS_MSG_QUERYSITESREPLYELEMENT_V1 `ndr:"unique,size_is=CToSites"`
DwFlags ndr.DWORD
}
type DRS\_MSG\_QUERYSITESREQ
DRS_MSG_QUERYSITESREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_QUERYSITESREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_QUERYSITESREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_QUERYSITESREQ\_V1
DRS_MSG_QUERYSITESREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_QUERYSITESREQ_V1 struct {
PwszFromSite *ndr.WSTR `ndr:"unique"`
CToSites ndr.DWORD
RgszToSites []*ndr.WSTR `ndr:"unique,size_is=CToSites"` // IDL: [string] WCHAR **rgszToSites (array of strings)
DwFlags ndr.DWORD
}
type DRS\_MSG\_READNGCKEYREPLY
DRS_MSG_READNGCKEYREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_READNGCKEYREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_READNGCKEYREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_READNGCKEYREPLY\_V1
DRS_MSG_READNGCKEYREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_READNGCKEYREPLY_V1 struct {
RetVal ndr.DWORD
CNgcKey ndr.DWORD
PNgcKey []uint8 `ndr:"unique,size_is=CNgcKey"`
}
type DRS\_MSG\_READNGCKEYREQ
DRS_MSG_READNGCKEYREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_READNGCKEYREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_READNGCKEYREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_READNGCKEYREQ\_V1
DRS_MSG_READNGCKEYREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_READNGCKEYREQ_V1 struct {
PwszAccount *ndr.WSTR `ndr:"unique"`
}
type DRS\_MSG\_REPADD
DRS_MSG_REPADD is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_REPADD struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_REPADD_V1 `ndr:"case=1"`
V2 DRS_MSG_REPADD_V2 `ndr:"case=2"`
V3 DRS_MSG_REPADD_V3 `ndr:"case=3"`
}
type DRS\_MSG\_REPADD\_V1
DRS_MSG_REPADD_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPADD_V1 struct {
PNC *DSNAME `ndr:"unique"`
PszDsaSrc *ndr.WSTR `ndr:"unique"`
RtSchedule REPLTIMES
UlOptions ndr.DWORD
}
type DRS\_MSG\_REPADD\_V2
DRS_MSG_REPADD_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPADD_V2 struct {
PNC *DSNAME `ndr:"unique"`
PSourceDsaDN *DSNAME `ndr:"unique"`
PTransportDN *DSNAME `ndr:"unique"`
PszSourceDsaAddress *ndr.WSTR `ndr:"unique"`
RtSchedule REPLTIMES
UlOptions ndr.DWORD
}
type DRS\_MSG\_REPADD\_V3
DRS_MSG_REPADD_V3 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPADD_V3 struct {
PNC *DSNAME `ndr:"unique"`
PSourceDsaDN *DSNAME `ndr:"unique"`
PTransportDN *DSNAME `ndr:"unique"`
PszSourceDsaAddress *ndr.WSTR `ndr:"unique"`
RtSchedule REPLTIMES
UlOptions ndr.DWORD
CorrelationID UUID
PReservedBuffer *VAR_SIZE_BUFFER_WITH_VERSION `ndr:"unique"`
}
type DRS\_MSG\_REPDEL
DRS_MSG_REPDEL is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_REPDEL struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_REPDEL_V1 `ndr:"case=1"`
}
type DRS\_MSG\_REPDEL\_V1
DRS_MSG_REPDEL_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPDEL_V1 struct {
PNC *DSNAME `ndr:"unique"`
PszDsaSrc *ndr.WSTR `ndr:"unique"`
UlOptions ndr.DWORD
}
type DRS\_MSG\_REPLICA\_DEMOTIONREPLY
DRS_MSG_REPLICA_DEMOTIONREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_REPLICA_DEMOTIONREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_REPLICA_DEMOTIONREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_REPLICA\_DEMOTIONREPLY\_V1
DRS_MSG_REPLICA_DEMOTIONREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPLICA_DEMOTIONREPLY_V1 struct {
DwOpError ndr.DWORD
}
type DRS\_MSG\_REPLICA\_DEMOTIONREQ
DRS_MSG_REPLICA_DEMOTIONREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_REPLICA_DEMOTIONREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_REPLICA_DEMOTIONREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_REPLICA\_DEMOTIONREQ\_V1
DRS_MSG_REPLICA_DEMOTIONREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPLICA_DEMOTIONREQ_V1 struct {
DwFlags ndr.DWORD
UuidHelperDest UUID
PNC *DSNAME `ndr:"unique"`
}
type DRS\_MSG\_REPMOD
DRS_MSG_REPMOD is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_REPMOD struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_REPMOD_V1 `ndr:"case=1"`
}
type DRS\_MSG\_REPMOD\_V1
DRS_MSG_REPMOD_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPMOD_V1 struct {
PNC *DSNAME `ndr:"unique"`
UuidSourceDRA UUID
PszSourceDRA *ndr.WSTR `ndr:"unique"`
RtSchedule REPLTIMES
UlReplicaFlags ndr.DWORD
UlModifyFields ndr.DWORD
UlOptions ndr.DWORD
}
type DRS\_MSG\_REPSYNC
DRS_MSG_REPSYNC is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_REPSYNC struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_REPSYNC_V1 `ndr:"case=1"`
V2 DRS_MSG_REPSYNC_V2 `ndr:"case=2"`
}
type DRS\_MSG\_REPSYNC\_V1
DRS_MSG_REPSYNC_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPSYNC_V1 struct {
PNC *DSNAME `ndr:"unique"`
UuidDsaSrc UUID
PszDsaSrc *ndr.WSTR `ndr:"unique"`
UlOptions ndr.DWORD
}
type DRS\_MSG\_REPSYNC\_V2
DRS_MSG_REPSYNC_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPSYNC_V2 struct {
PNC *DSNAME `ndr:"unique"`
UuidDsaSrc UUID
PszDsaSrc *ndr.WSTR `ndr:"unique"`
UlOptions ndr.DWORD
CorrelationID UUID
PReservedBuffer *VAR_SIZE_BUFFER_WITH_VERSION `ndr:"unique"`
}
type DRS\_MSG\_REPVERIFYOBJ
DRS_MSG_REPVERIFYOBJ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_REPVERIFYOBJ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_REPVERIFYOBJ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_REPVERIFYOBJ\_V1
DRS_MSG_REPVERIFYOBJ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REPVERIFYOBJ_V1 struct {
PNC *DSNAME `ndr:"unique"`
UuidDsaSrc UUID
UlOptions ndr.DWORD
}
type DRS\_MSG\_REVMEMB\_REPLY
DRS_MSG_REVMEMB_REPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_REVMEMB_REPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_REVMEMB_REPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_REVMEMB\_REPLY\_V1
DRS_MSG_REVMEMB_REPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REVMEMB_REPLY_V1 struct {
ErrCode ndr.DWORD
CDsNames ndr.DWORD
CSidHistory ndr.DWORD
PpDsNames []*DSNAME `ndr:"unique,size_is=CDsNames"` // IDL: DSNAME **ppDsNames
PAttributes []ndr.DWORD `ndr:"unique,size_is=CDsNames"`
PpSidHistory []*NT4SID `ndr:"unique,size_is=CSidHistory"` // IDL: NT4SID **ppSidHistory
}
type DRS\_MSG\_REVMEMB\_REQ
DRS_MSG_REVMEMB_REQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_REVMEMB_REQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_REVMEMB_REQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_REVMEMB\_REQ\_V1
DRS_MSG_REVMEMB_REQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_REVMEMB_REQ_V1 struct {
CDsNames ndr.DWORD
PpDsNames []*DSNAME `ndr:"unique,size_is=CDsNames"` // IDL: DSNAME **ppDsNames
DwFlags ndr.DWORD
OperationType REVERSE_MEMBERSHIP_OPERATION_TYPE
PLimitingDomain *DSNAME `ndr:"unique"`
}
type DRS\_MSG\_RMDMNREPLY
DRS_MSG_RMDMNREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_RMDMNREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_RMDMNREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_RMDMNREPLY\_V1
DRS_MSG_RMDMNREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_RMDMNREPLY_V1 struct {
Reserved ndr.DWORD
}
type DRS\_MSG\_RMDMNREQ
DRS_MSG_RMDMNREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_RMDMNREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_RMDMNREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_RMDMNREQ\_V1
DRS_MSG_RMDMNREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_RMDMNREQ_V1 struct {
DomainDN *ndr.WSTR `ndr:"unique"`
}
type DRS\_MSG\_RMSVRREPLY
DRS_MSG_RMSVRREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_RMSVRREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_RMSVRREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_RMSVRREPLY\_V1
DRS_MSG_RMSVRREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_RMSVRREPLY_V1 struct {
FLastDcInDomain ndr.BOOL
}
type DRS\_MSG\_RMSVRREQ
DRS_MSG_RMSVRREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_RMSVRREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_RMSVRREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_RMSVRREQ\_V1
DRS_MSG_RMSVRREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_RMSVRREQ_V1 struct {
ServerDN *ndr.WSTR `ndr:"unique"`
DomainDN *ndr.WSTR `ndr:"unique"`
FCommit ndr.BOOL
}
type DRS\_MSG\_SPNREPLY
DRS_MSG_SPNREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_SPNREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_SPNREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_SPNREPLY\_V1
DRS_MSG_SPNREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_SPNREPLY_V1 struct {
RetVal ndr.DWORD
}
type DRS\_MSG\_SPNREQ
DRS_MSG_SPNREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_SPNREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_SPNREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_SPNREQ\_V1
DRS_MSG_SPNREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_SPNREQ_V1 struct {
Operation ndr.DWORD
Flags ndr.DWORD
PwszAccount *ndr.WSTR `ndr:"unique"`
CSPN ndr.DWORD
RpwszSPN []*ndr.WSTR `ndr:"unique,size_is=CSPN"` // IDL: [string] WCHAR **rpwszSPN (array of strings)
}
type DRS\_MSG\_UPDREFS
DRS_MSG_UPDREFS is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_UPDREFS struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_UPDREFS_V1 `ndr:"case=1"`
V2 DRS_MSG_UPDREFS_V2 `ndr:"case=2"`
}
type DRS\_MSG\_UPDREFS\_V1
DRS_MSG_UPDREFS_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_UPDREFS_V1 struct {
PNC *DSNAME `ndr:"unique"`
PszDsaDest *ndr.WSTR `ndr:"unique"`
UuidDsaObjDest UUID
UlOptions ndr.DWORD
}
type DRS\_MSG\_UPDREFS\_V2
DRS_MSG_UPDREFS_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_UPDREFS_V2 struct {
PNC *DSNAME `ndr:"unique"`
PszDsaDest *ndr.WSTR `ndr:"unique"`
UuidDsaObjDest UUID
UlOptions ndr.DWORD
CorrelationID UUID
PReservedBuffer *VAR_SIZE_BUFFER_WITH_VERSION `ndr:"unique"`
}
type DRS\_MSG\_VERIFYREPLY
DRS_MSG_VERIFYREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_VERIFYREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_VERIFYREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_VERIFYREPLY\_V1
DRS_MSG_VERIFYREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_VERIFYREPLY_V1 struct {
Error ndr.DWORD
CNames ndr.DWORD
RpEntInf []ENTINF `ndr:"unique,size_is=CNames"`
PrefixTable SCHEMA_PREFIX_TABLE
}
type DRS\_MSG\_VERIFYREQ
DRS_MSG_VERIFYREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_VERIFYREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_VERIFYREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_VERIFYREQ\_V1
DRS_MSG_VERIFYREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_VERIFYREQ_V1 struct {
DwFlags ndr.DWORD
CNames ndr.DWORD
RpNames []*DSNAME `ndr:"unique,size_is=CNames"` // IDL: DSNAME **rpNames (array of unique ptrs)
RequiredAttrs ATTRBLOCK
PrefixTable SCHEMA_PREFIX_TABLE
}
type DRS\_MSG\_WRITENGCKEYREPLY
DRS_MSG_WRITENGCKEYREPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_WRITENGCKEYREPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_WRITENGCKEYREPLY_V1 `ndr:"case=1"`
}
type DRS\_MSG\_WRITENGCKEYREPLY\_V1
DRS_MSG_WRITENGCKEYREPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_WRITENGCKEYREPLY_V1 struct {
RetVal ndr.DWORD
}
type DRS\_MSG\_WRITENGCKEYREQ
DRS_MSG_WRITENGCKEYREQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DRS_MSG_WRITENGCKEYREQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DRS_MSG_WRITENGCKEYREQ_V1 `ndr:"case=1"`
}
type DRS\_MSG\_WRITENGCKEYREQ\_V1
DRS_MSG_WRITENGCKEYREQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_MSG_WRITENGCKEYREQ_V1 struct {
PwszAccount *ndr.WSTR `ndr:"unique"`
CNgcKey ndr.DWORD
PNgcKey []uint8 `ndr:"unique,size_is=CNgcKey"`
}
type DRS\_SecBuffer
DRS_SecBuffer ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_SecBuffer struct {
CbBuffer ndr.DWORD
BufferType ndr.DWORD
PvBuffer []uint8 `ndr:"unique,size_is=CbBuffer"`
}
type DRS\_SecBufferDesc
DRS_SecBufferDesc ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DRS_SecBufferDesc struct {
UlVersion ndr.DWORD
CBuffers ndr.DWORD
Buffers []DRS_SecBuffer `ndr:"unique,size_is=CBuffers"`
}
type DSA\_ADDRESS\_LIST\_DRS\_WIRE\_V1
DSA_ADDRESS_LIST_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DSA_ADDRESS_LIST_DRS_WIRE_V1 struct {
PNextAddress *DSA_ADDRESS_LIST_DRS_WIRE_V1 `ndr:"unique"`
PAddress *msdtyp.RPC_UNICODE_STRING `ndr:"unique"`
}
type DSA\_MSG\_EXECUTE\_SCRIPT\_REPLY
DSA_MSG_EXECUTE_SCRIPT_REPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DSA_MSG_EXECUTE_SCRIPT_REPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DSA_MSG_EXECUTE_SCRIPT_REPLY_V1 `ndr:"case=1"`
}
type DSA\_MSG\_EXECUTE\_SCRIPT\_REPLY\_V1
DSA_MSG_EXECUTE_SCRIPT_REPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DSA_MSG_EXECUTE_SCRIPT_REPLY_V1 struct {
DwOperationStatus ndr.DWORD
PwErrMessage *ndr.WSTR `ndr:"unique"`
}
type DSA\_MSG\_EXECUTE\_SCRIPT\_REQ
DSA_MSG_EXECUTE_SCRIPT_REQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DSA_MSG_EXECUTE_SCRIPT_REQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DSA_MSG_EXECUTE_SCRIPT_REQ_V1 `ndr:"case=1"`
}
type DSA\_MSG\_EXECUTE\_SCRIPT\_REQ\_V1
DSA_MSG_EXECUTE_SCRIPT_REQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DSA_MSG_EXECUTE_SCRIPT_REQ_V1 struct {
Flags ndr.DWORD
CbPassword ndr.DWORD
PbPassword []uint8 `ndr:"unique,size_is=CbPassword"`
}
type DSA\_MSG\_PREPARE\_SCRIPT\_REPLY
DSA_MSG_PREPARE_SCRIPT_REPLY is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DSA_MSG_PREPARE_SCRIPT_REPLY struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DSA_MSG_PREPARE_SCRIPT_REPLY_V1 `ndr:"case=1"`
}
type DSA\_MSG\_PREPARE\_SCRIPT\_REPLY\_V1
DSA_MSG_PREPARE_SCRIPT_REPLY_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DSA_MSG_PREPARE_SCRIPT_REPLY_V1 struct {
DwOperationStatus ndr.DWORD
PwErrMessage *ndr.WSTR `ndr:"unique"`
CbPassword ndr.DWORD
PbPassword []uint8 `ndr:"unique,size_is=CbPassword"`
CbHashBody ndr.DWORD
PbHashBody []uint8 `ndr:"unique,size_is=CbHashBody"`
CbHashSignature ndr.DWORD
PbHashSignature []uint8 `ndr:"unique,size_is=CbHashSignature"`
}
type DSA\_MSG\_PREPARE\_SCRIPT\_REQ
DSA_MSG_PREPARE_SCRIPT_REQ is a discriminated union ([MS-DRSR]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DSA_MSG_PREPARE_SCRIPT_REQ struct {
Tag ndr.DWORD `ndr:"switch"`
V1 DSA_MSG_PREPARE_SCRIPT_REQ_V1 `ndr:"case=1"`
}
type DSA\_MSG\_PREPARE\_SCRIPT\_REQ\_V1
DSA_MSG_PREPARE_SCRIPT_REQ_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DSA_MSG_PREPARE_SCRIPT_REQ_V1 struct {
Reserved ndr.DWORD
}
type DSNAME
DSNAME identifies a directory object by GUID, SID, and/or distinguished name ([MS-DRSR] 5.50). StringName is the IDL’s inline conformant array `[size_is(NameLen+1)] WCHAR StringName[]` — NOT a pointer (idlgen defaulted it to `unique`, which would emit a stray referent id). As the trailing conformant member its maximum_count is hoisted ahead of StructLen; the codec derives that count from the slice length, so callers MUST size StringName to NameLen+1 (the DN plus its NUL terminator). Build one with NewDSNameFromGUID for GUID-based addressing (EXOP_REPL_OBJ).
type DSNAME struct {
StructLen ndr.DWORD
SidLen ndr.DWORD
Guid UUID
Sid NT4SID
NameLen ndr.DWORD
StringName []uint16 `ndr:"conformant"`
}
func NewDSNameFromDN
func NewDSNameFromDN(dn string) DSNAME
NewDSNameFromDN builds a DSNAME that addresses an object by its distinguished name, with no GUID or SID — the form used to name a naming context head for full-NC replication (IDL_DRSGetNCChanges with no EXOP). NameLen is the DN’s UTF-16 code-unit count; StringName is the DN plus its NUL terminator (so maximum_count is NameLen+1). StructLen is the fixed prefix (StructLen..NameLen = 56 octets) plus the name bytes.
func NewDSNameFromGUID
func NewDSNameFromGUID(g guid.GUID) DSNAME
NewDSNameFromGUID builds a DSNAME that addresses an object solely by its objectGUID, with no SID and an empty (NUL-only) name — the form used to replicate a single object by GUID (IDL_DRSGetNCChanges EXOP_REPL_OBJ). NameLen is 0 and StringName is the single terminating NUL, so its maximum_count is 1. StructLen is the fixed prefix size (the fields through NameLen plus the one-WCHAR name): 4+4+16+28+4+2 = 58 bytes.
func NewDSNameFromSID
func NewDSNameFromSID(sid []byte) DSNAME
NewDSNameFromSID builds a DSNAME that addresses an object by its binary SID (up to 28 octets, [MS-DTYP] 2.4.2.2), with no GUID or distinguished name — the form reverse membership (IDL_DRSGetMemberships) computes over. StructLen is the GUID-form fixed prefix (58); SidLen is the SID byte count.
type DSTIME
DSTIME is a scalar typedef ([MS-DRSR]).
type DSTIME int64
type DS\_DOMAIN\_CONTROLLER\_INFO\_1W
DS_DOMAIN_CONTROLLER_INFO_1W ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_DOMAIN_CONTROLLER_INFO_1W struct {
NetbiosName *ndr.WSTR `ndr:"unique"`
DnsHostName *ndr.WSTR `ndr:"unique"`
SiteName *ndr.WSTR `ndr:"unique"`
ComputerObjectName *ndr.WSTR `ndr:"unique"`
ServerObjectName *ndr.WSTR `ndr:"unique"`
FIsPdc ndr.BOOL
FDsEnabled ndr.BOOL
}
type DS\_DOMAIN\_CONTROLLER\_INFO\_2W
DS_DOMAIN_CONTROLLER_INFO_2W ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_DOMAIN_CONTROLLER_INFO_2W struct {
NetbiosName *ndr.WSTR `ndr:"unique"`
DnsHostName *ndr.WSTR `ndr:"unique"`
SiteName *ndr.WSTR `ndr:"unique"`
SiteObjectName *ndr.WSTR `ndr:"unique"`
ComputerObjectName *ndr.WSTR `ndr:"unique"`
ServerObjectName *ndr.WSTR `ndr:"unique"`
NtdsDsaObjectName *ndr.WSTR `ndr:"unique"`
FIsPdc ndr.BOOL
FDsEnabled ndr.BOOL
FIsGc ndr.BOOL
SiteObjectGuid UUID
ComputerObjectGuid UUID
ServerObjectGuid UUID
NtdsDsaObjectGuid UUID
}
type DS\_DOMAIN\_CONTROLLER\_INFO\_3W
DS_DOMAIN_CONTROLLER_INFO_3W ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_DOMAIN_CONTROLLER_INFO_3W struct {
NetbiosName *ndr.WSTR `ndr:"unique"`
DnsHostName *ndr.WSTR `ndr:"unique"`
SiteName *ndr.WSTR `ndr:"unique"`
SiteObjectName *ndr.WSTR `ndr:"unique"`
ComputerObjectName *ndr.WSTR `ndr:"unique"`
ServerObjectName *ndr.WSTR `ndr:"unique"`
NtdsDsaObjectName *ndr.WSTR `ndr:"unique"`
FIsPdc ndr.BOOL
FDsEnabled ndr.BOOL
FIsGc ndr.BOOL
FIsRodc ndr.BOOL
SiteObjectGuid UUID
ComputerObjectGuid UUID
ServerObjectGuid UUID
NtdsDsaObjectGuid UUID
}
type DS\_DOMAIN\_CONTROLLER\_INFO\_FFFFFFFFW
DS_DOMAIN_CONTROLLER_INFO_FFFFFFFFW ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_DOMAIN_CONTROLLER_INFO_FFFFFFFFW struct {
IPAddress ndr.DWORD
NotificationCount ndr.DWORD
SecTimeConnected ndr.DWORD
Flags ndr.DWORD
TotalRequests ndr.DWORD
Reserved1 ndr.DWORD
UserName *ndr.WSTR `ndr:"unique"`
}
type DS\_NAME\_RESULTW
DS_NAME_RESULTW ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_NAME_RESULTW struct {
CItems ndr.DWORD
RItems []DS_NAME_RESULT_ITEMW `ndr:"unique,size_is=CItems"`
}
type DS\_NAME\_RESULT\_ITEMW
DS_NAME_RESULT_ITEMW ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_NAME_RESULT_ITEMW struct {
Status ndr.DWORD
PDomain *ndr.WSTR `ndr:"unique"`
PName *ndr.WSTR `ndr:"unique"`
}
type DS\_REPL\_ATTR\_META\_DATA
DS_REPL_ATTR_META_DATA ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_ATTR_META_DATA struct {
PszAttributeName *ndr.WSTR `ndr:"unique"`
DwVersion ndr.DWORD
FtimeLastOriginatingChange FILETIME
UuidLastOriginatingDsaInvocationID UUID
UsnOriginatingChange int64
UsnLocalChange int64
}
type DS\_REPL\_ATTR\_META\_DATA\_2
DS_REPL_ATTR_META_DATA_2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_ATTR_META_DATA_2 struct {
PszAttributeName *ndr.WSTR `ndr:"unique"`
DwVersion ndr.DWORD
FtimeLastOriginatingChange FILETIME
UuidLastOriginatingDsaInvocationID UUID
UsnOriginatingChange int64
UsnLocalChange int64
PszLastOriginatingDsaDN *ndr.WSTR `ndr:"unique"`
}
type DS\_REPL\_ATTR\_VALUE\_META\_DATA
DS_REPL_ATTR_VALUE_META_DATA ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_ATTR_VALUE_META_DATA struct {
CNumEntries ndr.DWORD
DwEnumerationContext ndr.DWORD
RgMetaData []DS_REPL_VALUE_META_DATA `ndr:"conformant,size_is=CNumEntries"`
}
type DS\_REPL\_ATTR\_VALUE\_META\_DATA\_2
DS_REPL_ATTR_VALUE_META_DATA_2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_ATTR_VALUE_META_DATA_2 struct {
CNumEntries ndr.DWORD
DwEnumerationContext ndr.DWORD
RgMetaData []DS_REPL_VALUE_META_DATA_2 `ndr:"conformant,size_is=CNumEntries"`
}
type DS\_REPL\_CLIENT\_CONTEXT
DS_REPL_CLIENT_CONTEXT ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_CLIENT_CONTEXT struct {
HCtx uint64
LReferenceCount int32
FIsBound ndr.BOOL
UuidClient UUID
TimeLastUsed int64
IPAddr ndr.DWORD
Pid int32
}
type DS\_REPL\_CLIENT\_CONTEXTS
DS_REPL_CLIENT_CONTEXTS ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_CLIENT_CONTEXTS struct {
CNumContexts ndr.DWORD
DwReserved ndr.DWORD
RgContext []DS_REPL_CLIENT_CONTEXT `ndr:"conformant,size_is=CNumContexts"`
}
type DS\_REPL\_CURSOR
DS_REPL_CURSOR ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_CURSOR struct {
UuidSourceDsaInvocationID UUID
UsnAttributeFilter int64
}
type DS\_REPL\_CURSORS
DS_REPL_CURSORS ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_CURSORS struct {
CNumCursors ndr.DWORD
DwReserved ndr.DWORD
RgCursor []DS_REPL_CURSOR `ndr:"conformant,size_is=CNumCursors"`
}
type DS\_REPL\_CURSORS\_2
DS_REPL_CURSORS_2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_CURSORS_2 struct {
CNumCursors ndr.DWORD
DwEnumerationContext ndr.DWORD
RgCursor []DS_REPL_CURSOR_2 `ndr:"conformant,size_is=CNumCursors"`
}
type DS\_REPL\_CURSORS\_3W
DS_REPL_CURSORS_3W ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_CURSORS_3W struct {
CNumCursors ndr.DWORD
DwEnumerationContext ndr.DWORD
RgCursor []DS_REPL_CURSOR_3W `ndr:"conformant,size_is=CNumCursors"`
}
type DS\_REPL\_CURSOR\_2
DS_REPL_CURSOR_2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_CURSOR_2 struct {
UuidSourceDsaInvocationID UUID
UsnAttributeFilter int64
FtimeLastSyncSuccess FILETIME
}
type DS\_REPL\_CURSOR\_3W
DS_REPL_CURSOR_3W ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_CURSOR_3W struct {
UuidSourceDsaInvocationID UUID
UsnAttributeFilter int64
FtimeLastSyncSuccess FILETIME
PszSourceDsaDN *ndr.WSTR `ndr:"unique"`
}
type DS\_REPL\_KCC\_DSA\_FAILURESW
DS_REPL_KCC_DSA_FAILURESW ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_KCC_DSA_FAILURESW struct {
CNumEntries ndr.DWORD
DwReserved ndr.DWORD
RgDsaFailure []DS_REPL_KCC_DSA_FAILUREW `ndr:"conformant,size_is=CNumEntries"`
}
type DS\_REPL\_KCC\_DSA\_FAILUREW
DS_REPL_KCC_DSA_FAILUREW ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_KCC_DSA_FAILUREW struct {
PszDsaDN *ndr.WSTR `ndr:"unique"`
UuidDsaObjGuid UUID
FtimeFirstFailure FILETIME
CNumFailures ndr.DWORD
DwLastResult ndr.DWORD
}
type DS\_REPL\_NEIGHBORSW
DS_REPL_NEIGHBORSW ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_NEIGHBORSW struct {
CNumNeighbors ndr.DWORD
DwReserved ndr.DWORD
RgNeighbor []DS_REPL_NEIGHBORW `ndr:"conformant,size_is=CNumNeighbors"`
}
type DS\_REPL\_NEIGHBORW
DS_REPL_NEIGHBORW ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_NEIGHBORW struct {
PszNamingContext *ndr.WSTR `ndr:"unique"`
PszSourceDsaDN *ndr.WSTR `ndr:"unique"`
PszSourceDsaAddress *ndr.WSTR `ndr:"unique"`
PszAsyncIntersiteTransportDN *ndr.WSTR `ndr:"unique"`
DwReplicaFlags ndr.DWORD
DwReserved ndr.DWORD
UuidNamingContextObjGuid UUID
UuidSourceDsaObjGuid UUID
UuidSourceDsaInvocationID UUID
UuidAsyncIntersiteTransportObjGuid UUID
UsnLastObjChangeSynced int64
UsnAttributeFilter int64
FtimeLastSyncSuccess FILETIME
FtimeLastSyncAttempt FILETIME
DwLastSyncResult ndr.DWORD
CNumConsecutiveSyncFailures ndr.DWORD
}
type DS\_REPL\_OBJ\_META\_DATA
DS_REPL_OBJ_META_DATA ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_OBJ_META_DATA struct {
CNumEntries ndr.DWORD
DwReserved ndr.DWORD
RgMetaData []DS_REPL_ATTR_META_DATA `ndr:"conformant,size_is=CNumEntries"`
}
type DS\_REPL\_OBJ\_META\_DATA\_2
DS_REPL_OBJ_META_DATA_2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_OBJ_META_DATA_2 struct {
CNumEntries ndr.DWORD
DwReserved ndr.DWORD
RgMetaData []DS_REPL_ATTR_META_DATA_2 `ndr:"conformant,size_is=CNumEntries"`
}
type DS\_REPL\_OPW
DS_REPL_OPW ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_OPW struct {
FtimeEnqueued FILETIME
UlSerialNumber ndr.DWORD
UlPriority ndr.DWORD
OpType DS_REPL_OP_TYPE
UlOptions ndr.DWORD
PszNamingContext *ndr.WSTR `ndr:"unique"`
PszDsaDN *ndr.WSTR `ndr:"unique"`
PszDsaAddress *ndr.WSTR `ndr:"unique"`
UuidNamingContextObjGuid UUID
UuidDsaObjGuid UUID
}
type DS\_REPL\_OP\_TYPE
DS_REPL_OP_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DRSR]).
type DS_REPL_OP_TYPE uint16
const (
DS_REPL_OP_TYPE_SYNC DS_REPL_OP_TYPE = 0
DS_REPL_OP_TYPE_ADD DS_REPL_OP_TYPE = 1
DS_REPL_OP_TYPE_DELETE DS_REPL_OP_TYPE = 2
DS_REPL_OP_TYPE_MODIFY DS_REPL_OP_TYPE = 3
DS_REPL_OP_TYPE_UPDATE_REFS DS_REPL_OP_TYPE = 4
)
type DS\_REPL\_PENDING\_OPSW
DS_REPL_PENDING_OPSW ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_PENDING_OPSW struct {
FtimeCurrentOpStarted FILETIME
CNumPendingOps ndr.DWORD
RgPendingOp []DS_REPL_OPW `ndr:"conformant,size_is=CNumPendingOps"`
}
type DS\_REPL\_SERVER\_OUTGOING\_CALL
DS_REPL_SERVER_OUTGOING_CALL ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_SERVER_OUTGOING_CALL struct {
PszServerName *ndr.WSTR `ndr:"unique"`
FIsHandleBound ndr.BOOL
FIsHandleFromCache ndr.BOOL
FIsHandleInCache ndr.BOOL
DwThreadId ndr.DWORD
DwBindingTimeoutMins ndr.DWORD
DstimeCreated int64
DwCallType ndr.DWORD
}
type DS\_REPL\_SERVER\_OUTGOING\_CALLS
DS_REPL_SERVER_OUTGOING_CALLS ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_SERVER_OUTGOING_CALLS struct {
CNumCalls ndr.DWORD
DwReserved ndr.DWORD
RgCall []DS_REPL_SERVER_OUTGOING_CALL `ndr:"conformant,size_is=CNumCalls"`
}
type DS\_REPL\_VALUE\_META\_DATA
DS_REPL_VALUE_META_DATA ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_VALUE_META_DATA struct {
PszAttributeName *ndr.WSTR `ndr:"unique"`
PszObjectDn *ndr.WSTR `ndr:"unique"`
CbData ndr.DWORD
PbData []uint8 `ndr:"unique,size_is=CbData"`
FtimeDeleted FILETIME
FtimeCreated FILETIME
DwVersion ndr.DWORD
FtimeLastOriginatingChange FILETIME
UuidLastOriginatingDsaInvocationID UUID
UsnOriginatingChange int64
UsnLocalChange int64
}
type DS\_REPL\_VALUE\_META\_DATA\_2
DS_REPL_VALUE_META_DATA_2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type DS_REPL_VALUE_META_DATA_2 struct {
PszAttributeName *ndr.WSTR `ndr:"unique"`
PszObjectDn *ndr.WSTR `ndr:"unique"`
CbData ndr.DWORD
PbData []uint8 `ndr:"unique,size_is=CbData"`
FtimeDeleted FILETIME
FtimeCreated FILETIME
DwVersion ndr.DWORD
FtimeLastOriginatingChange FILETIME
UuidLastOriginatingDsaInvocationID UUID
UsnOriginatingChange int64
UsnLocalChange int64
PszLastOriginatingDsaDN *ndr.WSTR `ndr:"unique"`
}
type ENTINF
ENTINF ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type ENTINF struct {
PName *DSNAME `ndr:"unique"`
UlFlags ndr.DWORD
AttrBlock ATTRBLOCK
}
type ENTINFLIST
ENTINFLIST ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type ENTINFLIST struct {
PNextEntInf *ENTINFLIST `ndr:"unique"`
Entinf ENTINF
}
type FILETIME
FILETIME is the [MS-DTYP] FILETIME (2.3.3): a 64-bit count of 100-nanosecond intervals since January 1, 1601 (UTC), split into two 32-bit words. The IDL imports it from ms-msdtyp.idl rather than defining it, so it is aliased to msdtyp.FILETIME.
type FILETIME = msdtyp.FILETIME
type INTFORMPROB\_DRS\_WIRE\_V1
INTFORMPROB_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type INTFORMPROB_DRS_WIRE_V1 struct {
Dsid ndr.DWORD
ExtendedErr ndr.DWORD
ExtendedData ndr.DWORD
Problem uint16
Type ndr.DWORD
ValReturned ndr.BOOL
Val ATTRVAL
}
type MTX\_ADDR
MTX_ADDR ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type MTX_ADDR struct {
Mtx_namelen ndr.DWORD
Mtx_name []byte `ndr:"conformant,size_is=Mtx_namelen"`
}
type NAMERESOP\_DRS\_WIRE\_V1
NAMERESOP_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type NAMERESOP_DRS_WIRE_V1 struct {
NameRes uint8
UnusedPad uint8
NextRDN uint16
}
type NAMERR\_DRS\_WIRE\_V1
NAMERR_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type NAMERR_DRS_WIRE_V1 struct {
Dsid ndr.DWORD
ExtendedErr ndr.DWORD
ExtendedData ndr.DWORD
Problem uint16
PMatched *DSNAME `ndr:"unique"`
}
type NT4SID
NT4SID ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type NT4SID struct {
Data [28]byte
}
type NT4\_REPLICATION\_STATE
NT4_REPLICATION_STATE ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type NT4_REPLICATION_STATE struct {
SamSerialNumber msdtyp.LARGE_INTEGER
SamCreationTime msdtyp.LARGE_INTEGER
BuiltinSerialNumber msdtyp.LARGE_INTEGER
BuiltinCreationTime msdtyp.LARGE_INTEGER
LsaSerialNumber msdtyp.LARGE_INTEGER
LsaCreationTime msdtyp.LARGE_INTEGER
}
type OID\_t
OID_t ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type OID_t struct {
Length uint32
Elements []uint8 `ndr:"unique,size_is=Length"`
}
type PARTIAL\_ATTR\_VECTOR\_V1\_EXT
PARTIAL_ATTR_VECTOR_V1_EXT ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type PARTIAL_ATTR_VECTOR_V1_EXT struct {
DwVersion ndr.DWORD
DwReserved1 ndr.DWORD
CAttrs ndr.DWORD
RgPartialAttr []ndr.DWORD `ndr:"conformant,size_is=CAttrs"`
}
type PROBLEMLIST\_DRS\_WIRE\_V1
PROBLEMLIST_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type PROBLEMLIST_DRS_WIRE_V1 struct {
PNextProblem *PROBLEMLIST_DRS_WIRE_V1 `ndr:"unique"`
Intprob INTFORMPROB_DRS_WIRE_V1
}
type PROPERTY\_META\_DATA\_EXT
PROPERTY_META_DATA_EXT ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type PROPERTY_META_DATA_EXT struct {
DwVersion ndr.DWORD
TimeChanged int64
UuidDsaOriginating UUID
UsnOriginating int64
}
type PROPERTY\_META\_DATA\_EXT\_VECTOR
PROPERTY_META_DATA_EXT_VECTOR ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type PROPERTY_META_DATA_EXT_VECTOR struct {
CNumProps ndr.DWORD
RgMetaData []PROPERTY_META_DATA_EXT `ndr:"conformant,size_is=CNumProps"`
}
type PrefixTableEntry
PrefixTableEntry ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type PrefixTableEntry struct {
Ndx ndr.DWORD
Prefix OID_t
}
type REFERR\_DRS\_WIRE\_V1
REFERR_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type REFERR_DRS_WIRE_V1 struct {
Dsid ndr.DWORD
ExtendedErr ndr.DWORD
ExtendedData ndr.DWORD
Refer CONTREF_DRS_WIRE_V1
}
type REPLENTINFLIST
REPLENTINFLIST ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type REPLENTINFLIST struct {
PNextEntInf *REPLENTINFLIST `ndr:"unique"`
Entinf ENTINF
FIsNCPrefix ndr.BOOL
PParentGuid *UUID `ndr:"unique"`
PMetaDataExt *PROPERTY_META_DATA_EXT_VECTOR `ndr:"unique"`
}
type REPLTIMES
REPLTIMES ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type REPLTIMES struct {
RgTimes [84]uint8
}
type REPLVALINF\_V1
REPLVALINF_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type REPLVALINF_V1 struct {
PObject *DSNAME `ndr:"unique"`
AttrTyp ndr.DWORD
Aval ATTRVAL
FIsPresent ndr.BOOL
MetaData VALUE_META_DATA_EXT_V1
}
type REPLVALINF\_V3
REPLVALINF_V3 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type REPLVALINF_V3 struct {
PObject *DSNAME `ndr:"unique"`
AttrTyp ndr.DWORD
Aval ATTRVAL
FIsPresent ndr.BOOL
MetaData VALUE_META_DATA_EXT_V3
}
type REVERSE\_MEMBERSHIP\_OPERATION\_TYPE
REVERSE_MEMBERSHIP_OPERATION_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DRSR]).
type REVERSE_MEMBERSHIP_OPERATION_TYPE uint16
const (
RevMembGetGroupsForUser REVERSE_MEMBERSHIP_OPERATION_TYPE = 1
RevMembGetAliasMembership REVERSE_MEMBERSHIP_OPERATION_TYPE = 2
RevMembGetAccountGroups REVERSE_MEMBERSHIP_OPERATION_TYPE = 3
RevMembGetResourceGroups REVERSE_MEMBERSHIP_OPERATION_TYPE = 4
RevMembGetUniversalGroups REVERSE_MEMBERSHIP_OPERATION_TYPE = 5
GroupMembersTransitive REVERSE_MEMBERSHIP_OPERATION_TYPE = 6
RevMembGlobalGroupsNonTransitive REVERSE_MEMBERSHIP_OPERATION_TYPE = 7
)
type SCHEMA\_PREFIX\_TABLE
SCHEMA_PREFIX_TABLE ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type SCHEMA_PREFIX_TABLE struct {
PrefixCount ndr.DWORD
PPrefixEntry []PrefixTableEntry `ndr:"unique,size_is=PrefixCount"`
}
type SECERR\_DRS\_WIRE\_V1
SECERR_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type SECERR_DRS_WIRE_V1 struct {
Dsid ndr.DWORD
ExtendedErr ndr.DWORD
ExtendedData ndr.DWORD
Problem uint16
}
type SVCERR\_DRS\_WIRE\_V1
SVCERR_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type SVCERR_DRS_WIRE_V1 struct {
Dsid ndr.DWORD
ExtendedErr ndr.DWORD
ExtendedData ndr.DWORD
Problem uint16
}
type SYSERR\_DRS\_WIRE\_V1
SYSERR_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type SYSERR_DRS_WIRE_V1 struct {
Dsid ndr.DWORD
ExtendedErr ndr.DWORD
ExtendedData ndr.DWORD
Problem uint16
}
type UPDERR\_DRS\_WIRE\_V1
UPDERR_DRS_WIRE_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type UPDERR_DRS_WIRE_V1 struct {
Dsid ndr.DWORD
ExtendedErr ndr.DWORD
ExtendedData ndr.DWORD
Problem uint16
}
type UPTODATE\_CURSOR\_V1
UPTODATE_CURSOR_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type UPTODATE_CURSOR_V1 struct {
UuidDsa UUID
UsnHighPropUpdate int64
}
type UPTODATE\_CURSOR\_V2
UPTODATE_CURSOR_V2 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type UPTODATE_CURSOR_V2 struct {
UuidDsa UUID
UsnHighPropUpdate int64
TimeLastSyncSuccess int64
}
type UPTODATE\_VECTOR\_V1\_EXT
UPTODATE_VECTOR_V1_EXT ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type UPTODATE_VECTOR_V1_EXT struct {
DwVersion ndr.DWORD
DwReserved1 ndr.DWORD
CNumCursors ndr.DWORD
DwReserved2 ndr.DWORD
RgCursors []UPTODATE_CURSOR_V1 `ndr:"conformant,size_is=CNumCursors"`
}
type UPTODATE\_VECTOR\_V2\_EXT
UPTODATE_VECTOR_V2_EXT ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type UPTODATE_VECTOR_V2_EXT struct {
DwVersion ndr.DWORD
DwReserved1 ndr.DWORD
CNumCursors ndr.DWORD
DwReserved2 ndr.DWORD
RgCursors []UPTODATE_CURSOR_V2 `ndr:"conformant,size_is=CNumCursors"`
}
type USN
USN is a scalar typedef ([MS-DRSR]).
type USN int64
type USN\_VECTOR
USN_VECTOR ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type USN_VECTOR struct {
UsnHighObjUpdate int64
UsnReserved int64
UsnHighPropUpdate int64
}
type UUID
UUID is the [MS-DTYP]/[C706] uuid_t as it appears on the wire: 16 octets with Data1/2/3 little-endian and Data4 big-endian (guid.GUID.ToBytes order). drsuapi uses it for both the IDL GUID and UUID types (UuidDsa, puuidClientDsa, DSNAME.Guid, …).
It is a fixed octet array, NOT an embedded guid.GUID, because guid.GUID’s Go layout (a trailing uint64) does not reflect to 16 contiguous octets under the NDR codec — it would emit 18 bytes in the wrong order. It is a plain struct, NOT an ndr.Marshaler, so the codec keeps its normal NULL-referent handling for *UUID pointer fields (a Marshaler would be dereferenced even when the pointer is nil). This mirrors the proven EptUUID in the endpoint-mapper interface. uuid_t is 4-octet aligned under NDR; every UUID field in this interface follows a 4-octet field or starts a struct, so natural alignment holds without an explicit override.
type UUID struct {
Octets [16]byte
}
func NTDSAPIClientGUID
func NTDSAPIClientGUID() UUID
NTDSAPIClientGUID is the well-known client DSA GUID a non-DC tool passes as IDL_DRSBind’s puuidClientDsa (the value the NTDSAPI DsBind* client uses): e24d201a-4fd6-11d1-a3da-0000f875ae0d. The server rejects only the NULL GUID; this value is also the one required if the handle is later used for IDL_DRSWriteSPN ([MS-DRSR] 4.1.3.1).
func UUIDFromGUID
func UUIDFromGUID(g guid.GUID) UUID
UUIDFromGUID converts a guid.GUID to its 16-octet wire form.
func (UUID) GUID
func (u UUID) GUID() guid.GUID
GUID converts the octets back to a guid.GUID.
func (UUID) IsZero
func (u UUID) IsZero() bool
IsZero reports whether the UUID is the all-zero NULL GUID.
type VALUE\_META\_DATA\_EXT\_V1
VALUE_META_DATA_EXT_V1 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type VALUE_META_DATA_EXT_V1 struct {
TimeCreated int64
MetaData PROPERTY_META_DATA_EXT
}
type VALUE\_META\_DATA\_EXT\_V3
VALUE_META_DATA_EXT_V3 ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type VALUE_META_DATA_EXT_V3 struct {
TimeCreated int64
MetaData PROPERTY_META_DATA_EXT
Unused1 ndr.DWORD
Unused2 ndr.DWORD
Unused3 ndr.DWORD
TimeExpired int64
}
type VAR\_SIZE\_BUFFER\_WITH\_VERSION
VAR_SIZE_BUFFER_WITH_VERSION ([MS-DRSR]). Generated by tools/idlgen; verify pointer/array tags.
type VAR_SIZE_BUFFER_WITH_VERSION struct {
UlVersion ndr.DWORD
CbByteBuffer ndr.DWORD
UllPadding uint64
RgbBuffer []uint8 `ndr:"conformant,size_is=CbByteBuffer"`
}