Generated from Manticore v1.1.6 • 388 packages. View on pkg.go.dev

msnrpc

import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-nrpc"

Package msnrpc holds the NDR wire structures of the Netlogon Remote Protocol ([MS-NRPC], interface 12345678-1234-abcd-ef00-01234567cffb version 1.0).

Index

Constants

NL_AUTH_MESSAGE message types and flag bits ([MS-NRPC] 2.2.1.3.1). The client sends a request message in the RPC bind auth_value; the server replies with a response message in the bind_ack. The flags describe which name fields the Buffer carries, in the fixed order NetBIOS domain, NetBIOS host, DNS domain, DNS host, then (last) the UTF-8 NetBIOS host.

const (
    NlAuthMessageNetbiosDomain   uint32 = 0x00000001
    NlAuthMessageNetbiosHost     uint32 = 0x00000002
    NlAuthMessageDNSDomain       uint32 = 0x00000004
    NlAuthMessageDNSHost         uint32 = 0x00000008
    NlAuthMessageNetbiosHostUTF8 uint32 = 0x00000010

    NlAuthMessageTypeRequest  uint32 = 0x00000000
    NlAuthMessageTypeResponse uint32 = 0x00000001
)

Netlogon signature and seal algorithm identifiers ([MS-NRPC] 2.2.1.3.2/2.2.1.3.3), the 16-bit little-endian values placed in the SignatureAlgorithm and SealAlgorithm fields of the per-message tokens. HMAC-SHA256/AES-128 are the AES-negotiated pair; HMAC-MD5/RC4 the legacy pair. NlSealNotEncrypted marks an integrity-only (signed, not sealed) token, in which case the Confounder is omitted from the wire structure.

const (
    NlSignatureHMACMD5    uint16 = 0x0077 // HMAC-MD5 (legacy)
    NlSignatureHMACSHA256 uint16 = 0x0013 // HMAC-SHA256 (AES)
    NlSealNotEncrypted    uint16 = 0xffff // not sealed; Confounder absent
    NlSealRC4             uint16 = 0x007a // RC4 (legacy)
    NlSealAES128          uint16 = 0x001a // AES-128 CFB8
)

type CYPHER\_BLOCK

CYPHER_BLOCK ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type CYPHER_BLOCK struct {
    Data [8]int8
}

type DOMAIN\_CONTROLLER\_INFOW

DOMAIN_CONTROLLER_INFOW ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type DOMAIN_CONTROLLER_INFOW struct {
    DomainControllerName        *ndr.WSTR `ndr:"unique"`
    DomainControllerAddress     *ndr.WSTR `ndr:"unique"`
    DomainControllerAddressType ndr.DWORD
    DomainGuid                  guid.GUID
    DomainName                  *ndr.WSTR `ndr:"unique"`
    DnsForestName               *ndr.WSTR `ndr:"unique"`
    Flags                       ndr.DWORD
    DcSiteName                  *ndr.WSTR `ndr:"unique"`
    ClientSiteName              *ndr.WSTR `ndr:"unique"`
}

type DOMAIN\_NAME\_BUFFER

DOMAIN_NAME_BUFFER ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type DOMAIN_NAME_BUFFER struct {
    DomainNameByteCount ndr.DWORD
    DomainNames         []uint8 `ndr:"unique,size_is=DomainNameByteCount"`
}

type DS\_DOMAIN\_TRUSTSW

DS_DOMAIN_TRUSTSW ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type DS_DOMAIN_TRUSTSW struct {
    NetbiosDomainName *ndr.WSTR `ndr:"unique"`
    DnsDomainName     *ndr.WSTR `ndr:"unique"`
    Flags             ndr.DWORD
    ParentIndex       ndr.DWORD
    TrustType         ndr.DWORD
    TrustAttributes   ndr.DWORD
    DomainSid         *msdtyp.RPC_SID `ndr:"unique"`
    DomainGuid        guid.GUID
}

type ENCRYPTED\_LM\_OWF\_PASSWORD

ENCRYPTED_LM_OWF_PASSWORD is an alias for LM_OWF_PASSWORD (same IDL typedef).

type ENCRYPTED_LM_OWF_PASSWORD = LM_OWF_PASSWORD

type ENCRYPTED\_NT\_OWF\_PASSWORD

ENCRYPTED_NT_OWF_PASSWORD is an alias for NT_OWF_PASSWORD (same IDL typedef).

type ENCRYPTED_NT_OWF_PASSWORD = NT_OWF_PASSWORD

type GROUP\_MEMBERSHIP

GROUP_MEMBERSHIP ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type GROUP_MEMBERSHIP struct {
    RelativeId ndr.DWORD
    Attributes ndr.DWORD
}

type LM\_CHALLENGE

LM_CHALLENGE ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type LM_CHALLENGE struct {
    Data [8]int8
}

type LM\_OWF\_PASSWORD

LM_OWF_PASSWORD ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type LM_OWF_PASSWORD struct {
    Data [2]CYPHER_BLOCK
}

type LSA\_FOREST\_TRUST\_BINARY\_DATA

LSA_FOREST_TRUST_BINARY_DATA ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type LSA_FOREST_TRUST_BINARY_DATA struct {
    Length ndr.DWORD
    Buffer []uint8 `ndr:"unique,size_is=Length"`
}

type LSA\_FOREST\_TRUST\_DOMAIN\_INFO

LSA_FOREST_TRUST_DOMAIN_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type LSA_FOREST_TRUST_DOMAIN_INFO struct {
    Sid         *msdtyp.RPC_SID `ndr:"unique"`
    DnsName     LSA_UNICODE_STRING
    NetbiosName LSA_UNICODE_STRING
}

type LSA\_FOREST\_TRUST\_INFORMATION

LSA_FOREST_TRUST_INFORMATION ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type LSA_FOREST_TRUST_INFORMATION struct {
    RecordCount ndr.DWORD
    Entries     []*LSA_FOREST_TRUST_RECORD `ndr:"elem=unique,unique,size_is=RecordCount"`
}

type LSA\_FOREST\_TRUST\_RECORD

LSA_FOREST_TRUST_RECORD ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type LSA_FOREST_TRUST_RECORD struct {
    Flags           ndr.DWORD
    ForestTrustType LSA_FOREST_TRUST_RECORD_TYPE
    Time            msdtyp.LARGE_INTEGER
    ForestTrustData LSA_FOREST_TRUST_RECORD_ForestTrustData
}

type LSA\_FOREST\_TRUST\_RECORD\_ForestTrustData

LSA_FOREST_TRUST_RECORD_ForestTrustData is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type LSA_FOREST_TRUST_RECORD_ForestTrustData struct {
    Tag          LSA_FOREST_TRUST_RECORD_TYPE `ndr:"switch"`
    TopLevelName LSA_UNICODE_STRING           `ndr:"case=0"`
    DomainInfo   LSA_FOREST_TRUST_DOMAIN_INFO `ndr:"case=2"`
    Data         LSA_FOREST_TRUST_BINARY_DATA `ndr:"default"`
}

type LSA\_FOREST\_TRUST\_RECORD\_TYPE

LSA_FOREST_TRUST_RECORD_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-NRPC]).

type LSA_FOREST_TRUST_RECORD_TYPE uint16
const (
    ForestTrustTopLevelName   LSA_FOREST_TRUST_RECORD_TYPE = 0
    ForestTrustTopLevelNameEx LSA_FOREST_TRUST_RECORD_TYPE = 1
    ForestTrustDomainInfo     LSA_FOREST_TRUST_RECORD_TYPE = 2
    ForestTrustRecordTypeLast LSA_FOREST_TRUST_RECORD_TYPE = ForestTrustDomainInfo
)

type LSA\_UNICODE\_STRING

LSA_UNICODE_STRING is an alias for UNICODE_STRING ([MS-NRPC]).

type LSA_UNICODE_STRING = UNICODE_STRING

type NETLOGON\_AUTHENTICATOR

NETLOGON_AUTHENTICATOR ([MS-NRPC] 2.2.1.3.5) carries a client/server credential and a timestamp. The 8-byte credential needs no alignment; the ULONG timestamp is 4-aligned, landing at offset 8 (already aligned), for a 12-octet structure.

type NETLOGON_AUTHENTICATOR struct {
    Credential NETLOGON_CREDENTIAL
    Timestamp  uint32
}

type NETLOGON\_CAPABILITIES

NETLOGON_CAPABILITIES is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type NETLOGON_CAPABILITIES struct {
    Tag                ndr.DWORD `ndr:"switch"`
    ServerCapabilities ndr.DWORD `ndr:"case=1"`
    RequestedFlags     ndr.DWORD `ndr:"case=2"`
}

type NETLOGON\_CONTROL\_DATA\_INFORMATION

NETLOGON_CONTROL_DATA_INFORMATION ([MS-NRPC] 2.2.1.7.1) is the switch_type(DWORD) union carrying the input data for NetrLogonControl2/2Ex, selected by the FunctionCode ([C706] 14.3.8).

The IDL maps FunctionCodes 5, 6, 9, 10 to a trusted-domain name and 8 to a user name; because the declarative codec matches one numeric value per `case=` tag, each FunctionCode gets its own field of the same unique[string] type. The [string] wchar_t* arms are NDR strings (*ndr.WSTR), not a single UTF-16 code unit.

type NETLOGON_CONTROL_DATA_INFORMATION struct {
    Tag ndr.DWORD `ndr:"switch"`

    // TrustedDomainName arm — FunctionCodes 5, 6, 9, 10 ([string] wchar_t*).
    TrustedDomainName5  *ndr.WSTR `ndr:"case=5,unique"`
    TrustedDomainName6  *ndr.WSTR `ndr:"case=6,unique"`
    TrustedDomainName9  *ndr.WSTR `ndr:"case=9,unique"`
    TrustedDomainName10 *ndr.WSTR `ndr:"case=10,unique"`

    // DebugFlag arm — FunctionCode 65534 (NETLOGON_CONTROL_UNLOAD_NETLOGON_DLL).
    DebugFlag ndr.DWORD `ndr:"case=65534"`

    // UserName arm — FunctionCode 8 ([string] wchar_t*).
    UserName *ndr.WSTR `ndr:"case=8,unique"`
}

type NETLOGON\_CONTROL\_QUERY\_INFORMATION

NETLOGON_CONTROL_QUERY_INFORMATION is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type NETLOGON_CONTROL_QUERY_INFORMATION struct {
    Tag           ndr.DWORD       `ndr:"switch"`
    NetlogonInfo1 NETLOGON_INFO_1 `ndr:"case=1"`
    NetlogonInfo2 NETLOGON_INFO_2 `ndr:"case=2"`
    NetlogonInfo3 NETLOGON_INFO_3 `ndr:"case=3"`
    NetlogonInfo4 NETLOGON_INFO_4 `ndr:"case=4"`
}

type NETLOGON\_CREDENTIAL

NETLOGON_CREDENTIAL ([MS-NRPC] 2.2.1.3.4) is an opaque 8-octet challenge or credential. The IDL declares it as a struct with a single CHAR data[8] field; on the wire that is a fixed array of 8 bytes with no NDR conformance framing, so a Go [8]byte marshals it exactly while staying ergonomic for the credential cryptography (indexable/sliceable).

type NETLOGON_CREDENTIAL [8]byte

type NETLOGON\_DELTA\_ACCOUNTS

NETLOGON_DELTA_ACCOUNTS ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_ACCOUNTS struct {
    PrivilegeEntries    ndr.DWORD
    PrivilegeControl    ndr.DWORD
    PrivilegeAttributes []ndr.DWORD      `ndr:"unique,size_is=PrivilegeEntries"`
    PrivilegeNames      []UNICODE_STRING `ndr:"unique,size_is=PrivilegeEntries"`
    QuotaLimits         NLPR_QUOTA_LIMITS
    SystemAccessFlags   ndr.DWORD
    SecurityInformation ndr.DWORD
    SecuritySize        ndr.DWORD
    SecurityDescriptor  []uint8 `ndr:"unique,size_is=SecuritySize"`
    DummyString1        UNICODE_STRING
    DummyString2        UNICODE_STRING
    DummyString3        UNICODE_STRING
    DummyString4        UNICODE_STRING
    DummyLong1          ndr.DWORD
    DummyLong2          ndr.DWORD
    DummyLong3          ndr.DWORD
    DummyLong4          ndr.DWORD
}

type NETLOGON\_DELTA\_ALIAS

NETLOGON_DELTA_ALIAS ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_ALIAS struct {
    Name                UNICODE_STRING
    RelativeId          ndr.DWORD
    SecurityInformation ndr.DWORD
    SecuritySize        ndr.DWORD
    SecurityDescriptor  []uint8 `ndr:"unique,size_is=SecuritySize"`
    Comment             UNICODE_STRING
    DummyString2        UNICODE_STRING
    DummyString3        UNICODE_STRING
    DummyString4        UNICODE_STRING
    DummyLong1          ndr.DWORD
    DummyLong2          ndr.DWORD
    DummyLong3          ndr.DWORD
    DummyLong4          ndr.DWORD
}

type NETLOGON\_DELTA\_ALIAS\_MEMBER

NETLOGON_DELTA_ALIAS_MEMBER ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_ALIAS_MEMBER struct {
    Members    NLPR_SID_ARRAY
    DummyLong1 ndr.DWORD
    DummyLong2 ndr.DWORD
    DummyLong3 ndr.DWORD
    DummyLong4 ndr.DWORD
}

type NETLOGON\_DELTA\_DELETE\_GROUP

NETLOGON_DELTA_DELETE_GROUP ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_DELETE_GROUP struct {
    AccountName  *ndr.WSTR `ndr:"unique"`
    DummyString1 UNICODE_STRING
    DummyString2 UNICODE_STRING
    DummyString3 UNICODE_STRING
    DummyString4 UNICODE_STRING
    DummyLong1   ndr.DWORD
    DummyLong2   ndr.DWORD
    DummyLong3   ndr.DWORD
    DummyLong4   ndr.DWORD
}

type NETLOGON\_DELTA\_DELETE\_USER

NETLOGON_DELTA_DELETE_USER ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_DELETE_USER struct {
    AccountName  *ndr.WSTR `ndr:"unique"`
    DummyString1 UNICODE_STRING
    DummyString2 UNICODE_STRING
    DummyString3 UNICODE_STRING
    DummyString4 UNICODE_STRING
    DummyLong1   ndr.DWORD
    DummyLong2   ndr.DWORD
    DummyLong3   ndr.DWORD
    DummyLong4   ndr.DWORD
}

type NETLOGON\_DELTA\_DOMAIN

NETLOGON_DELTA_DOMAIN ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_DOMAIN struct {
    DomainName               UNICODE_STRING
    OemInformation           UNICODE_STRING
    ForceLogoff              OLD_LARGE_INTEGER
    MinPasswordLength        uint16
    PasswordHistoryLength    uint16
    MaxPasswordAge           OLD_LARGE_INTEGER
    MinPasswordAge           OLD_LARGE_INTEGER
    DomainModifiedCount      OLD_LARGE_INTEGER
    DomainCreationTime       OLD_LARGE_INTEGER
    SecurityInformation      ndr.DWORD
    SecuritySize             ndr.DWORD
    SecurityDescriptor       []uint8 `ndr:"unique,size_is=SecuritySize"`
    DomainLockoutInformation UNICODE_STRING
    DummyString2             UNICODE_STRING
    DummyString3             UNICODE_STRING
    DummyString4             UNICODE_STRING
    PasswordProperties       ndr.DWORD
    DummyLong2               ndr.DWORD
    DummyLong3               ndr.DWORD
    DummyLong4               ndr.DWORD
}

type NETLOGON\_DELTA\_ENUM

NETLOGON_DELTA_ENUM ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_ENUM struct {
    DeltaType  NETLOGON_DELTA_TYPE
    DeltaID    NETLOGON_DELTA_ID_UNION
    DeltaUnion NETLOGON_DELTA_UNION
}

type NETLOGON\_DELTA\_ENUM\_ARRAY

NETLOGON_DELTA_ENUM_ARRAY ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_ENUM_ARRAY struct {
    CountReturned ndr.DWORD
    Deltas        []NETLOGON_DELTA_ENUM `ndr:"unique,size_is=CountReturned"`
}

type NETLOGON\_DELTA\_GROUP

NETLOGON_DELTA_GROUP ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_GROUP struct {
    Name                UNICODE_STRING
    RelativeId          ndr.DWORD
    Attributes          ndr.DWORD
    AdminComment        UNICODE_STRING
    SecurityInformation ndr.DWORD
    SecuritySize        ndr.DWORD
    SecurityDescriptor  []uint8 `ndr:"unique,size_is=SecuritySize"`
    DummyString1        UNICODE_STRING
    DummyString2        UNICODE_STRING
    DummyString3        UNICODE_STRING
    DummyString4        UNICODE_STRING
    DummyLong1          ndr.DWORD
    DummyLong2          ndr.DWORD
    DummyLong3          ndr.DWORD
    DummyLong4          ndr.DWORD
}

type NETLOGON\_DELTA\_GROUP\_MEMBER

NETLOGON_DELTA_GROUP_MEMBER ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_GROUP_MEMBER struct {
    Members     []ndr.DWORD `ndr:"unique,size_is=MemberCount"`
    Attributes  []ndr.DWORD `ndr:"unique,size_is=MemberCount"`
    MemberCount ndr.DWORD
    DummyLong1  ndr.DWORD
    DummyLong2  ndr.DWORD
    DummyLong3  ndr.DWORD
    DummyLong4  ndr.DWORD
}

type NETLOGON\_DELTA\_ID\_UNION

NETLOGON_DELTA_ID_UNION ([MS-NRPC] 2.2.1.5.18) is the discriminated union that identifies the object a NETLOGON_DELTA_ENUM refers to; the discriminant (NETLOGON_DELTA_TYPE) precedes the selected arm ([C706] 14.3.8).

The IDL groups many delta types onto three arms:

  • Rid (ULONG) : cases 1-12, 20, 21 (account/group/alias deltas)
  • Sid (PRPC_SID) : cases 13-17 (LSA policy/trusted-domain/account deltas)
  • Name ([string]*) : cases 18, 19 (LSA secret deltas)

The declarative codec matches a single numeric value per `case=` tag, so each label that maps to an arm needs its own field of that arm’s type; exactly one field is on the wire for a given discriminant. Consumers select the populated field by switching on Tag.

type NETLOGON_DELTA_ID_UNION struct {
    Tag NETLOGON_DELTA_TYPE `ndr:"switch"`

    // Rid arm — a bare ULONG object relative identifier.
    RidAddOrChangeDomain     ndr.DWORD `ndr:"case=1"`
    RidAddOrChangeGroup      ndr.DWORD `ndr:"case=2"`
    RidDeleteGroup           ndr.DWORD `ndr:"case=3"`
    RidRenameGroup           ndr.DWORD `ndr:"case=4"`
    RidAddOrChangeUser       ndr.DWORD `ndr:"case=5"`
    RidDeleteUser            ndr.DWORD `ndr:"case=6"`
    RidRenameUser            ndr.DWORD `ndr:"case=7"`
    RidChangeGroupMembership ndr.DWORD `ndr:"case=8"`
    RidAddOrChangeAlias      ndr.DWORD `ndr:"case=9"`
    RidDeleteAlias           ndr.DWORD `ndr:"case=10"`
    RidRenameAlias           ndr.DWORD `ndr:"case=11"`
    RidChangeAliasMembership ndr.DWORD `ndr:"case=12"`
    RidDeleteGroupByName     ndr.DWORD `ndr:"case=20"`
    RidDeleteUserByName      ndr.DWORD `ndr:"case=21"`

    // Sid arm — a [unique] pointer to an RPC_SID (IDL PRPC_SID).
    SidAddOrChangeLsaPolicy  *msdtyp.RPC_SID `ndr:"case=13,unique"`
    SidAddOrChangeLsaTDomain *msdtyp.RPC_SID `ndr:"case=14,unique"`
    SidDeleteLsaTDomain      *msdtyp.RPC_SID `ndr:"case=15,unique"`
    SidAddOrChangeLsaAccount *msdtyp.RPC_SID `ndr:"case=16,unique"`
    SidDeleteLsaAccount      *msdtyp.RPC_SID `ndr:"case=17,unique"`

    // Name arm — a [unique][string] wide string (IDL wchar_t*).
    NameAddOrChangeLsaSecret *ndr.WSTR `ndr:"case=18,unique"`
    NameDeleteLsaSecret      *ndr.WSTR `ndr:"case=19,unique"`
}

type NETLOGON\_DELTA\_POLICY

NETLOGON_DELTA_POLICY ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_POLICY struct {
    MaximumLogSize         ndr.DWORD
    AuditRetentionPeriod   OLD_LARGE_INTEGER
    AuditingMode           uint8
    MaximumAuditEventCount ndr.DWORD
    EventAuditingOptions   []ndr.DWORD `ndr:"unique,conformant"`
    PrimaryDomainName      UNICODE_STRING
    PrimaryDomainSid       *msdtyp.RPC_SID `ndr:"unique"`
    QuotaLimits            NLPR_QUOTA_LIMITS
    ModifiedId             OLD_LARGE_INTEGER
    DatabaseCreationTime   OLD_LARGE_INTEGER
    SecurityInformation    ndr.DWORD
    SecuritySize           ndr.DWORD
    SecurityDescriptor     []uint8 `ndr:"unique,size_is=SecuritySize"`
    DummyString1           UNICODE_STRING
    DummyString2           UNICODE_STRING
    DummyString3           UNICODE_STRING
    DummyString4           UNICODE_STRING
    DummyLong1             ndr.DWORD
    DummyLong2             ndr.DWORD
    DummyLong3             ndr.DWORD
    DummyLong4             ndr.DWORD
}

type NETLOGON\_DELTA\_SECRET

NETLOGON_DELTA_SECRET ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_SECRET struct {
    CurrentValue        NLPR_CR_CIPHER_VALUE
    CurrentValueSetTime OLD_LARGE_INTEGER
    OldValue            NLPR_CR_CIPHER_VALUE
    OldValueSetTime     OLD_LARGE_INTEGER
    SecurityInformation ndr.DWORD
    SecuritySize        ndr.DWORD
    SecurityDescriptor  []uint8 `ndr:"unique,size_is=SecuritySize"`
    DummyString1        UNICODE_STRING
    DummyString2        UNICODE_STRING
    DummyString3        UNICODE_STRING
    DummyString4        UNICODE_STRING
    DummyLong1          ndr.DWORD
    DummyLong2          ndr.DWORD
    DummyLong3          ndr.DWORD
    DummyLong4          ndr.DWORD
}

type NETLOGON\_DELTA\_TRUSTED\_DOMAINS

NETLOGON_DELTA_TRUSTED_DOMAINS ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_TRUSTED_DOMAINS struct {
    DomainName           UNICODE_STRING
    NumControllerEntries ndr.DWORD
    ControllerNames      []UNICODE_STRING `ndr:"unique,size_is=NumControllerEntries"`
    SecurityInformation  ndr.DWORD
    SecuritySize         ndr.DWORD
    SecurityDescriptor   []uint8 `ndr:"unique,size_is=SecuritySize"`
    DummyString1         UNICODE_STRING
    DummyString2         UNICODE_STRING
    DummyString3         UNICODE_STRING
    DummyString4         UNICODE_STRING
    TrustedPosixOffset   ndr.DWORD
    DummyLong2           ndr.DWORD
    DummyLong3           ndr.DWORD
    DummyLong4           ndr.DWORD
}

type NETLOGON\_DELTA\_TYPE

NETLOGON_DELTA_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-NRPC]).

type NETLOGON_DELTA_TYPE uint16
const (
    AddOrChangeDomain     NETLOGON_DELTA_TYPE = 1
    AddOrChangeGroup      NETLOGON_DELTA_TYPE = 2
    DeleteGroup           NETLOGON_DELTA_TYPE = 3
    RenameGroup           NETLOGON_DELTA_TYPE = 4
    AddOrChangeUser       NETLOGON_DELTA_TYPE = 5
    DeleteUser            NETLOGON_DELTA_TYPE = 6
    RenameUser            NETLOGON_DELTA_TYPE = 7
    ChangeGroupMembership NETLOGON_DELTA_TYPE = 8
    AddOrChangeAlias      NETLOGON_DELTA_TYPE = 9
    DeleteAlias           NETLOGON_DELTA_TYPE = 10
    RenameAlias           NETLOGON_DELTA_TYPE = 11
    ChangeAliasMembership NETLOGON_DELTA_TYPE = 12
    AddOrChangeLsaPolicy  NETLOGON_DELTA_TYPE = 13
    AddOrChangeLsaTDomain NETLOGON_DELTA_TYPE = 14
    DeleteLsaTDomain      NETLOGON_DELTA_TYPE = 15
    AddOrChangeLsaAccount NETLOGON_DELTA_TYPE = 16
    DeleteLsaAccount      NETLOGON_DELTA_TYPE = 17
    AddOrChangeLsaSecret  NETLOGON_DELTA_TYPE = 18
    DeleteLsaSecret       NETLOGON_DELTA_TYPE = 19
    DeleteGroupByName     NETLOGON_DELTA_TYPE = 20
    DeleteUserByName      NETLOGON_DELTA_TYPE = 21
    SerialNumberSkip      NETLOGON_DELTA_TYPE = 22
)

type NETLOGON\_DELTA\_UNION

NETLOGON_DELTA_UNION is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type NETLOGON_DELTA_UNION struct {
    Tag                   NETLOGON_DELTA_TYPE            `ndr:"switch"`
    DeltaDomain           NETLOGON_DELTA_DOMAIN          `ndr:"case=1"`
    DeltaGroup            NETLOGON_DELTA_GROUP           `ndr:"case=2"`
    DeltaRenameGroup      NETLOGON_RENAME_GROUP          `ndr:"case=4"`
    DeltaUser             NETLOGON_DELTA_USER            `ndr:"case=5"`
    DeltaRenameUser       NETLOGON_RENAME_USER           `ndr:"case=7"`
    DeltaGroupMember      NETLOGON_DELTA_GROUP_MEMBER    `ndr:"case=8"`
    DeltaAlias            NETLOGON_DELTA_ALIAS           `ndr:"case=9"`
    DeltaRenameAlias      NETLOGON_RENAME_ALIAS          `ndr:"case=11"`
    DeltaAliasMember      NETLOGON_DELTA_ALIAS_MEMBER    `ndr:"case=12"`
    DeltaPolicy           NETLOGON_DELTA_POLICY          `ndr:"case=13"`
    DeltaTDomains         NETLOGON_DELTA_TRUSTED_DOMAINS `ndr:"case=14"`
    DeltaAccounts         NETLOGON_DELTA_ACCOUNTS        `ndr:"case=16"`
    DeltaSecret           NETLOGON_DELTA_SECRET          `ndr:"case=18"`
    DeltaDeleteGroup      NETLOGON_DELTA_DELETE_GROUP    `ndr:"case=20"`
    DeltaDeleteUser       NETLOGON_DELTA_DELETE_USER     `ndr:"case=21"`
    DeltaSerialNumberSkip NLPR_MODIFIED_COUNT            `ndr:"case=22"`
}

type NETLOGON\_DELTA\_USER

NETLOGON_DELTA_USER ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DELTA_USER struct {
    UserName               UNICODE_STRING
    FullName               UNICODE_STRING
    UserId                 ndr.DWORD
    PrimaryGroupId         ndr.DWORD
    HomeDirectory          UNICODE_STRING
    HomeDirectoryDrive     UNICODE_STRING
    ScriptPath             UNICODE_STRING
    AdminComment           UNICODE_STRING
    WorkStations           UNICODE_STRING
    LastLogon              OLD_LARGE_INTEGER
    LastLogoff             OLD_LARGE_INTEGER
    LogonHours             NLPR_LOGON_HOURS
    BadPasswordCount       uint16
    LogonCount             uint16
    PasswordLastSet        OLD_LARGE_INTEGER
    AccountExpires         OLD_LARGE_INTEGER
    UserAccountControl     ndr.DWORD
    EncryptedNtOwfPassword ENCRYPTED_NT_OWF_PASSWORD
    EncryptedLmOwfPassword ENCRYPTED_LM_OWF_PASSWORD
    NtPasswordPresent      uint8
    LmPasswordPresent      uint8
    PasswordExpired        uint8
    UserComment            UNICODE_STRING
    Parameters             UNICODE_STRING
    CountryCode            uint16
    CodePage               uint16
    PrivateData            NLPR_USER_PRIVATE_INFO
    SecurityInformation    ndr.DWORD
    SecuritySize           ndr.DWORD
    SecurityDescriptor     []uint8 `ndr:"unique,size_is=SecuritySize"`
    ProfilePath            UNICODE_STRING
    DummyString2           UNICODE_STRING
    DummyString3           UNICODE_STRING
    DummyString4           UNICODE_STRING
    DummyLong1             ndr.DWORD
    DummyLong2             ndr.DWORD
    DummyLong3             ndr.DWORD
    DummyLong4             ndr.DWORD
}

type NETLOGON\_DOMAIN\_INFO

NETLOGON_DOMAIN_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_DOMAIN_INFO struct {
    PrimaryDomain      NETLOGON_ONE_DOMAIN_INFO
    TrustedDomainCount ndr.DWORD
    TrustedDomains     []NETLOGON_ONE_DOMAIN_INFO `ndr:"unique,size_is=TrustedDomainCount"`
    LsaPolicy          NETLOGON_LSA_POLICY_INFO
    DnsHostNameInDs    UNICODE_STRING
    DummyString2       UNICODE_STRING
    DummyString3       UNICODE_STRING
    DummyString4       UNICODE_STRING
    WorkstationFlags   ndr.DWORD
    SupportedEncTypes  ndr.DWORD
    DummyLong3         ndr.DWORD
    DummyLong4         ndr.DWORD
}

type NETLOGON\_DOMAIN\_INFORMATION

NETLOGON_DOMAIN_INFORMATION is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type NETLOGON_DOMAIN_INFORMATION struct {
    Tag           ndr.DWORD                `ndr:"switch"`
    DomainInfo    NETLOGON_DOMAIN_INFO     `ndr:"case=1"`
    LsaPolicyInfo NETLOGON_LSA_POLICY_INFO `ndr:"case=2"`
}

type NETLOGON\_GENERIC\_INFO

NETLOGON_GENERIC_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_GENERIC_INFO struct {
    Identity    NETLOGON_LOGON_IDENTITY_INFO
    PackageName UNICODE_STRING
    DataLength  ndr.DWORD
    LogonData   []uint8 `ndr:"unique,size_is=DataLength"`
}

type NETLOGON\_INFO\_1

NETLOGON_INFO_1 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_INFO_1 struct {
    Netlog1_flags                 ndr.DWORD
    Netlog1_pdc_connection_status ndr.DWORD
}

type NETLOGON\_INFO\_2

NETLOGON_INFO_2 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_INFO_2 struct {
    Netlog2_flags                 ndr.DWORD
    Netlog2_pdc_connection_status ndr.DWORD
    Netlog2_trusted_dc_name       *ndr.WSTR `ndr:"unique"`
    Netlog2_tc_connection_status  ndr.DWORD
}

type NETLOGON\_INFO\_3

NETLOGON_INFO_3 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_INFO_3 struct {
    Netlog3_flags          ndr.DWORD
    Netlog3_logon_attempts ndr.DWORD
    Netlog3_reserved1      ndr.DWORD
    Netlog3_reserved2      ndr.DWORD
    Netlog3_reserved3      ndr.DWORD
    Netlog3_reserved4      ndr.DWORD
    Netlog3_reserved5      ndr.DWORD
}

type NETLOGON\_INFO\_4

NETLOGON_INFO_4 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_INFO_4 struct {
    Netlog4_trusted_dc_name     *ndr.WSTR `ndr:"unique"`
    Netlog4_trusted_domain_name *ndr.WSTR `ndr:"unique"`
}

type NETLOGON\_INTERACTIVE\_INFO

NETLOGON_INTERACTIVE_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_INTERACTIVE_INFO struct {
    Identity      NETLOGON_LOGON_IDENTITY_INFO
    LmOwfPassword LM_OWF_PASSWORD
    NtOwfPassword NT_OWF_PASSWORD
}

type NETLOGON\_LEVEL

NETLOGON_LEVEL is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type NETLOGON_LEVEL struct {
    Tag                        NETLOGON_LOGON_INFO_CLASS  `ndr:"switch"`
    LogonInteractive           NETLOGON_INTERACTIVE_INFO  `ndr:"case=1"`
    LogonInteractiveTransitive NETLOGON_INTERACTIVE_INFO  `ndr:"case=5"`
    LogonService               NETLOGON_SERVICE_INFO      `ndr:"case=3"`
    LogonServiceTransitive     NETLOGON_SERVICE_INFO      `ndr:"case=7"`
    LogonNetwork               NETLOGON_NETWORK_INFO      `ndr:"case=2"`
    LogonNetworkTransitive     NETLOGON_NETWORK_INFO      `ndr:"case=6"`
    LogonGeneric               NETLOGON_GENERIC_INFO      `ndr:"case=4"`
    LogonTicket                NETLOGON_TICKET_LOGON_INFO `ndr:"case=8"`
}

type NETLOGON\_LOGOFF\_UAS\_INFO

NETLOGON_LOGOFF_UAS_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_LOGOFF_UAS_INFO struct {
    Duration   ndr.DWORD
    LogonCount uint16
}

type NETLOGON\_LOGON\_IDENTITY\_INFO

NETLOGON_LOGON_IDENTITY_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_LOGON_IDENTITY_INFO struct {
    LogonDomainName  UNICODE_STRING
    ParameterControl ndr.DWORD
    Reserved         OLD_LARGE_INTEGER
    UserName         UNICODE_STRING
    Workstation      UNICODE_STRING
}

type NETLOGON\_LOGON\_INFO\_CLASS

NETLOGON_LOGON_INFO_CLASS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-NRPC]).

type NETLOGON_LOGON_INFO_CLASS uint16
const (
    NetlogonInteractiveInformation           NETLOGON_LOGON_INFO_CLASS = 1
    NetlogonNetworkInformation               NETLOGON_LOGON_INFO_CLASS = 2
    NetlogonServiceInformation               NETLOGON_LOGON_INFO_CLASS = 3
    NetlogonGenericInformation               NETLOGON_LOGON_INFO_CLASS = 4
    NetlogonInteractiveTransitiveInformation NETLOGON_LOGON_INFO_CLASS = 5
    NetlogonNetworkTransitiveInformation     NETLOGON_LOGON_INFO_CLASS = 6
    NetlogonServiceTransitiveInformation     NETLOGON_LOGON_INFO_CLASS = 7
    NetlogonTicketLogonInformation           NETLOGON_LOGON_INFO_CLASS = 8
)

type NETLOGON\_LSA\_POLICY\_INFO

NETLOGON_LSA_POLICY_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_LSA_POLICY_INFO struct {
    LsaPolicySize ndr.DWORD
    LsaPolicy     []uint8 `ndr:"unique,size_is=LsaPolicySize"`
}

type NETLOGON\_NETWORK\_INFO

NETLOGON_NETWORK_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_NETWORK_INFO struct {
    Identity            NETLOGON_LOGON_IDENTITY_INFO
    LmChallenge         LM_CHALLENGE
    NtChallengeResponse STRING
    LmChallengeResponse STRING
}

type NETLOGON\_ONE\_DOMAIN\_INFO

NETLOGON_ONE_DOMAIN_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_ONE_DOMAIN_INFO struct {
    DomainName     UNICODE_STRING
    DnsDomainName  UNICODE_STRING
    DnsForestName  UNICODE_STRING
    DomainGuid     guid.GUID
    DomainSid      *msdtyp.RPC_SID `ndr:"unique"`
    TrustExtension UNICODE_STRING
    DummyString2   UNICODE_STRING
    DummyString3   UNICODE_STRING
    DummyString4   UNICODE_STRING
    DummyLong1     ndr.DWORD
    DummyLong2     ndr.DWORD
    DummyLong3     ndr.DWORD
    DummyLong4     ndr.DWORD
}

type NETLOGON\_RENAME\_ALIAS

NETLOGON_RENAME_ALIAS ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_RENAME_ALIAS struct {
    OldName      UNICODE_STRING
    NewName      UNICODE_STRING
    DummyString1 UNICODE_STRING
    DummyString2 UNICODE_STRING
    DummyString3 UNICODE_STRING
    DummyString4 UNICODE_STRING
    DummyLong1   ndr.DWORD
    DummyLong2   ndr.DWORD
    DummyLong3   ndr.DWORD
    DummyLong4   ndr.DWORD
}

type NETLOGON\_RENAME\_GROUP

NETLOGON_RENAME_GROUP ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_RENAME_GROUP struct {
    OldName      UNICODE_STRING
    NewName      UNICODE_STRING
    DummyString1 UNICODE_STRING
    DummyString2 UNICODE_STRING
    DummyString3 UNICODE_STRING
    DummyString4 UNICODE_STRING
    DummyLong1   ndr.DWORD
    DummyLong2   ndr.DWORD
    DummyLong3   ndr.DWORD
    DummyLong4   ndr.DWORD
}

type NETLOGON\_RENAME\_USER

NETLOGON_RENAME_USER ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_RENAME_USER struct {
    OldName      UNICODE_STRING
    NewName      UNICODE_STRING
    DummyString1 UNICODE_STRING
    DummyString2 UNICODE_STRING
    DummyString3 UNICODE_STRING
    DummyString4 UNICODE_STRING
    DummyLong1   ndr.DWORD
    DummyLong2   ndr.DWORD
    DummyLong3   ndr.DWORD
    DummyLong4   ndr.DWORD
}

type NETLOGON\_SECURE\_CHANNEL\_TYPE

NETLOGON_SECURE_CHANNEL_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-NRPC]).

type NETLOGON_SECURE_CHANNEL_TYPE uint16
const (
    NullSecureChannel             NETLOGON_SECURE_CHANNEL_TYPE = 0
    MsvApSecureChannel            NETLOGON_SECURE_CHANNEL_TYPE = 1
    WorkstationSecureChannel      NETLOGON_SECURE_CHANNEL_TYPE = 2
    TrustedDnsDomainSecureChannel NETLOGON_SECURE_CHANNEL_TYPE = 3
    TrustedDomainSecureChannel    NETLOGON_SECURE_CHANNEL_TYPE = 4
    UasServerSecureChannel        NETLOGON_SECURE_CHANNEL_TYPE = 5
    ServerSecureChannel           NETLOGON_SECURE_CHANNEL_TYPE = 6
    CdcServerSecureChannel        NETLOGON_SECURE_CHANNEL_TYPE = 7
)

type NETLOGON\_SERVICE\_INFO

NETLOGON_SERVICE_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_SERVICE_INFO struct {
    Identity      NETLOGON_LOGON_IDENTITY_INFO
    LmOwfPassword LM_OWF_PASSWORD
    NtOwfPassword NT_OWF_PASSWORD
}

type NETLOGON\_SID\_AND\_ATTRIBUTES

NETLOGON_SID_AND_ATTRIBUTES ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_SID_AND_ATTRIBUTES struct {
    Sid        *msdtyp.RPC_SID `ndr:"unique"`
    Attributes ndr.DWORD
}

type NETLOGON\_TICKET\_LOGON\_INFO

NETLOGON_TICKET_LOGON_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_TICKET_LOGON_INFO struct {
    Identity               NETLOGON_LOGON_IDENTITY_INFO
    RequestOptions         uint64
    ServiceTicketLength    ndr.DWORD
    ServiceTicket          []uint8 `ndr:"unique,size_is=ServiceTicketLength"`
    AdditionalTicketLength ndr.DWORD
    AdditionalTicket       []uint8 `ndr:"unique,size_is=AdditionalTicketLength"`
}

type NETLOGON\_TRUSTED\_DOMAIN\_ARRAY

NETLOGON_TRUSTED_DOMAIN_ARRAY ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_TRUSTED_DOMAIN_ARRAY struct {
    DomainCount ndr.DWORD
    Domains     []DS_DOMAIN_TRUSTSW `ndr:"unique,size_is=DomainCount"`
}

type NETLOGON\_VALIDATION

NETLOGON_VALIDATION is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type NETLOGON_VALIDATION struct {
    Tag                NETLOGON_VALIDATION_INFO_CLASS    `ndr:"switch"`
    ValidationSam      NETLOGON_VALIDATION_SAM_INFO      `ndr:"case=2"`
    ValidationSam2     NETLOGON_VALIDATION_SAM_INFO2     `ndr:"case=3"`
    ValidationGeneric2 NETLOGON_VALIDATION_GENERIC_INFO2 `ndr:"case=5"`
    ValidationSam4     NETLOGON_VALIDATION_SAM_INFO4     `ndr:"case=6"`
    ValidationTicket   NETLOGON_VALIDATION_TICKET_LOGON  `ndr:"case=7"`
}

type NETLOGON\_VALIDATION\_GENERIC\_INFO2

NETLOGON_VALIDATION_GENERIC_INFO2 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_VALIDATION_GENERIC_INFO2 struct {
    DataLength     ndr.DWORD
    ValidationData []uint8 `ndr:"unique,size_is=DataLength"`
}

type NETLOGON\_VALIDATION\_INFO\_CLASS

NETLOGON_VALIDATION_INFO_CLASS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-NRPC]).

type NETLOGON_VALIDATION_INFO_CLASS uint16
const (
    NetlogonValidationUasInfo      NETLOGON_VALIDATION_INFO_CLASS = 1
    NetlogonValidationSamInfo      NETLOGON_VALIDATION_INFO_CLASS = 2
    NetlogonValidationSamInfo2     NETLOGON_VALIDATION_INFO_CLASS = 3
    NetlogonValidationGenericInfo  NETLOGON_VALIDATION_INFO_CLASS = 4
    NetlogonValidationGenericInfo2 NETLOGON_VALIDATION_INFO_CLASS = 5
    NetlogonValidationSamInfo4     NETLOGON_VALIDATION_INFO_CLASS = 6
    NetlogonValidationTicketLogon  NETLOGON_VALIDATION_INFO_CLASS = 7
)

type NETLOGON\_VALIDATION\_SAM\_INFO

NETLOGON_VALIDATION_SAM_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_VALIDATION_SAM_INFO struct {
    LogonTime          OLD_LARGE_INTEGER
    LogoffTime         OLD_LARGE_INTEGER
    KickOffTime        OLD_LARGE_INTEGER
    PasswordLastSet    OLD_LARGE_INTEGER
    PasswordCanChange  OLD_LARGE_INTEGER
    PasswordMustChange OLD_LARGE_INTEGER
    EffectiveName      UNICODE_STRING
    FullName           UNICODE_STRING
    LogonScript        UNICODE_STRING
    ProfilePath        UNICODE_STRING
    HomeDirectory      UNICODE_STRING
    HomeDirectoryDrive UNICODE_STRING
    LogonCount         uint16
    BadPasswordCount   uint16
    UserId             ndr.DWORD
    PrimaryGroupId     ndr.DWORD
    GroupCount         ndr.DWORD
    GroupIds           []GROUP_MEMBERSHIP `ndr:"unique,size_is=GroupCount"`
    UserFlags          ndr.DWORD
    UserSessionKey     USER_SESSION_KEY
    LogonServer        UNICODE_STRING
    LogonDomainName    UNICODE_STRING
    LogonDomainId      *msdtyp.RPC_SID `ndr:"unique"`
    ExpansionRoom      [10]ndr.DWORD
}

type NETLOGON\_VALIDATION\_SAM\_INFO2

NETLOGON_VALIDATION_SAM_INFO2 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_VALIDATION_SAM_INFO2 struct {
    LogonTime          OLD_LARGE_INTEGER
    LogoffTime         OLD_LARGE_INTEGER
    KickOffTime        OLD_LARGE_INTEGER
    PasswordLastSet    OLD_LARGE_INTEGER
    PasswordCanChange  OLD_LARGE_INTEGER
    PasswordMustChange OLD_LARGE_INTEGER
    EffectiveName      UNICODE_STRING
    FullName           UNICODE_STRING
    LogonScript        UNICODE_STRING
    ProfilePath        UNICODE_STRING
    HomeDirectory      UNICODE_STRING
    HomeDirectoryDrive UNICODE_STRING
    LogonCount         uint16
    BadPasswordCount   uint16
    UserId             ndr.DWORD
    PrimaryGroupId     ndr.DWORD
    GroupCount         ndr.DWORD
    GroupIds           []GROUP_MEMBERSHIP `ndr:"unique,size_is=GroupCount"`
    UserFlags          ndr.DWORD
    UserSessionKey     USER_SESSION_KEY
    LogonServer        UNICODE_STRING
    LogonDomainName    UNICODE_STRING
    LogonDomainId      *msdtyp.RPC_SID `ndr:"unique"`
    ExpansionRoom      [10]ndr.DWORD
    SidCount           ndr.DWORD
    ExtraSids          []NETLOGON_SID_AND_ATTRIBUTES `ndr:"unique,size_is=SidCount"`
}

type NETLOGON\_VALIDATION\_SAM\_INFO4

NETLOGON_VALIDATION_SAM_INFO4 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_VALIDATION_SAM_INFO4 struct {
    LogonTime            OLD_LARGE_INTEGER
    LogoffTime           OLD_LARGE_INTEGER
    KickOffTime          OLD_LARGE_INTEGER
    PasswordLastSet      OLD_LARGE_INTEGER
    PasswordCanChange    OLD_LARGE_INTEGER
    PasswordMustChange   OLD_LARGE_INTEGER
    EffectiveName        UNICODE_STRING
    FullName             UNICODE_STRING
    LogonScript          UNICODE_STRING
    ProfilePath          UNICODE_STRING
    HomeDirectory        UNICODE_STRING
    HomeDirectoryDrive   UNICODE_STRING
    LogonCount           uint16
    BadPasswordCount     uint16
    UserId               ndr.DWORD
    PrimaryGroupId       ndr.DWORD
    GroupCount           ndr.DWORD
    GroupIds             []GROUP_MEMBERSHIP `ndr:"unique,size_is=GroupCount"`
    UserFlags            ndr.DWORD
    UserSessionKey       USER_SESSION_KEY
    LogonServer          UNICODE_STRING
    LogonDomainName      UNICODE_STRING
    LogonDomainId        *msdtyp.RPC_SID `ndr:"unique"`
    LMKey                [8]uint8
    UserAccountControl   ndr.DWORD
    SubAuthStatus        ndr.DWORD
    LastSuccessfulILogon OLD_LARGE_INTEGER
    LastFailedILogon     OLD_LARGE_INTEGER
    FailedILogonCount    ndr.DWORD
    Reserved4            [1]ndr.DWORD
    SidCount             ndr.DWORD
    ExtraSids            []NETLOGON_SID_AND_ATTRIBUTES `ndr:"unique,size_is=SidCount"`
    DnsLogonDomainName   UNICODE_STRING
    Upn                  UNICODE_STRING
    ExpansionString1     UNICODE_STRING
    ExpansionString2     UNICODE_STRING
    ExpansionString3     UNICODE_STRING
    ExpansionString4     UNICODE_STRING
    ExpansionString5     UNICODE_STRING
    ExpansionString6     UNICODE_STRING
    ExpansionString7     UNICODE_STRING
    ExpansionString8     UNICODE_STRING
    ExpansionString9     UNICODE_STRING
    ExpansionString10    UNICODE_STRING
}

type NETLOGON\_VALIDATION\_TICKET\_LOGON

NETLOGON_VALIDATION_TICKET_LOGON ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_VALIDATION_TICKET_LOGON struct {
    Results            uint64
    KerberosStatus     ndr.DWORD
    NetlogonStatus     ndr.DWORD
    SourceOfStatus     UNICODE_STRING
    UserInformation    *NETLOGON_VALIDATION_SAM_INFO4 `ndr:"unique"`
    DeviceInformation  *NETLOGON_VALIDATION_SAM_INFO4 `ndr:"unique"`
    UserClaimsLength   ndr.DWORD
    UserClaims         []uint8 `ndr:"unique,size_is=UserClaimsLength"`
    DeviceClaimsLength ndr.DWORD
    DeviceClaims       []uint8 `ndr:"unique,size_is=DeviceClaimsLength"`
}

type NETLOGON\_VALIDATION\_UAS\_INFO

NETLOGON_VALIDATION_UAS_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_VALIDATION_UAS_INFO struct {
    Usrlog1_eff_name       *ndr.WSTR `ndr:"unique"`
    Usrlog1_priv           ndr.DWORD
    Usrlog1_auth_flags     ndr.DWORD
    Usrlog1_num_logons     ndr.DWORD
    Usrlog1_bad_pw_count   ndr.DWORD
    Usrlog1_last_logon     ndr.DWORD
    Usrlog1_last_logoff    ndr.DWORD
    Usrlog1_logoff_time    ndr.DWORD
    Usrlog1_kickoff_time   ndr.DWORD
    Usrlog1_password_age   ndr.DWORD
    Usrlog1_pw_can_change  ndr.DWORD
    Usrlog1_pw_must_change ndr.DWORD
    Usrlog1_computer       *ndr.WSTR `ndr:"unique"`
    Usrlog1_domain         *ndr.WSTR `ndr:"unique"`
    Usrlog1_script_path    *ndr.WSTR `ndr:"unique"`
    Usrlog1_reserved1      ndr.DWORD
}

type NETLOGON\_WORKSTATION\_INFO

NETLOGON_WORKSTATION_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NETLOGON_WORKSTATION_INFO struct {
    LsaPolicy                        NETLOGON_LSA_POLICY_INFO
    DnsHostName                      *ndr.WSTR `ndr:"unique"`
    SiteName                         *ndr.WSTR `ndr:"unique"`
    Dummy1                           *ndr.WSTR `ndr:"unique"`
    Dummy2                           *ndr.WSTR `ndr:"unique"`
    Dummy3                           *ndr.WSTR `ndr:"unique"`
    Dummy4                           *ndr.WSTR `ndr:"unique"`
    OsVersion                        UNICODE_STRING
    OsName                           UNICODE_STRING
    DummyString3                     UNICODE_STRING
    DummyString4                     UNICODE_STRING
    WorkstationFlags                 ndr.DWORD
    KerberosSupportedEncryptionTypes ndr.DWORD
    DummyLong3                       ndr.DWORD
    DummyLong4                       ndr.DWORD
}

type NETLOGON\_WORKSTATION\_INFORMATION

NETLOGON_WORKSTATION_INFORMATION is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type NETLOGON_WORKSTATION_INFORMATION struct {
    Tag             ndr.DWORD                 `ndr:"switch"`
    WorkstationInfo NETLOGON_WORKSTATION_INFO `ndr:"case=1"`
    LsaPolicyInfo   NETLOGON_WORKSTATION_INFO `ndr:"case=2"`
}

type NLPR\_CR\_CIPHER\_VALUE

NLPR_CR_CIPHER_VALUE ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NLPR_CR_CIPHER_VALUE struct {
    Length        ndr.DWORD
    MaximumLength ndr.DWORD
    Buffer        []uint8 `ndr:"unique,size_is=MaximumLength,varying,length_is=Length"`
}

type NLPR\_LOGON\_HOURS

NLPR_LOGON_HOURS ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NLPR_LOGON_HOURS struct {
    UnitsPerWeek uint16
    LogonHours   []uint8 `ndr:"unique,size_is=1260,varying"`
}

type NLPR\_MODIFIED\_COUNT

NLPR_MODIFIED_COUNT ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NLPR_MODIFIED_COUNT struct {
    ModifiedCount OLD_LARGE_INTEGER
}

type NLPR\_QUOTA\_LIMITS

NLPR_QUOTA_LIMITS ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NLPR_QUOTA_LIMITS struct {
    PagedPoolLimit        ndr.DWORD
    NonPagedPoolLimit     ndr.DWORD
    MinimumWorkingSetSize ndr.DWORD
    MaximumWorkingSetSize ndr.DWORD
    PagefileLimit         ndr.DWORD
    Reserved              OLD_LARGE_INTEGER
}

type NLPR\_SID\_ARRAY

NLPR_SID_ARRAY ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NLPR_SID_ARRAY struct {
    Count ndr.DWORD
    Sids  []NLPR_SID_INFORMATION `ndr:"unique,size_is=Count"`
}

type NLPR\_SID\_INFORMATION

NLPR_SID_INFORMATION ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NLPR_SID_INFORMATION struct {
    SidPointer *msdtyp.RPC_SID `ndr:"unique"`
}

type NLPR\_USER\_PRIVATE\_INFO

NLPR_USER_PRIVATE_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NLPR_USER_PRIVATE_INFO struct {
    SensitiveData uint8
    DataLength    ndr.DWORD
    Data          []uint8 `ndr:"unique,size_is=DataLength"`
}

type NL\_AUTH\_MESSAGE

NL_AUTH_MESSAGE ([MS-NRPC] 2.2.1.3.1) is the token carried in the RPC bind/bind_ack auth_value when Netlogon is its own security provider (RPC_C_AUTHN_NETLOGON). It is a fixed 8-byte header (MessageType, Flags) followed by a variable Buffer of null-terminated name strings selected by Flags. It is not NDR — it carries its own Marshal/Unmarshal.

type NL_AUTH_MESSAGE struct {
    MessageType uint32
    Flags       uint32
    Buffer      []byte
}

func BuildClientNlAuthMessage

func BuildClientNlAuthMessage(computerName, domain string) *NL_AUTH_MESSAGE

BuildClientNlAuthMessage builds the client request NL_AUTH_MESSAGE for the RPC bind ([MS-NRPC] 3.1.4.1). computerName is the client NetBIOS host name (no trailing ‘$’). A domain containing a ‘.’ is treated as a DNS domain (NetBIOS host + DNS domain fields); otherwise it is treated as a NetBIOS domain (NetBIOS domain + host fields). Both forms additionally append the UTF-8 NetBIOS host field, matching what Windows and impacket send.

func (*NL_AUTH_MESSAGE) Marshal

func (m *NL_AUTH_MESSAGE) Marshal() []byte

Marshal serializes the token: the two little-endian header DWORDs then the Buffer.

func (*NL_AUTH_MESSAGE) Unmarshal

func (m *NL_AUTH_MESSAGE) Unmarshal(data []byte) error

Unmarshal parses a token from data. The Buffer is the remainder after the 8-byte header; its interpretation follows Flags, but a client only needs to confirm the server returned a response, so the fields are not further decoded here.

type NL\_AUTH\_SHA2\_SIGNATURE

NL_AUTH_SHA2_SIGNATURE ([MS-NRPC] 2.2.1.3.3) is the per-message security token Netlogon places after the RPC sec_trailer when acting as its own security provider with the AES cipher suite negotiated: an HMAC-SHA256 checksum with AES-128 CFB8 sealing. Like NL_AUTH_SIGNATURE it is a fixed little-endian layout (not NDR) and carries its own Marshal/Unmarshal. It differs from the legacy token by the algorithm identifiers and a trailing 24-octet Reserved field.

The Confounder is present on the wire only when the token seals the message (SealAlgorithm != NlSealNotEncrypted). On the wire the SequenceNumber and (when sealing) the Confounder are encrypted; the Checksum is carried in the clear ([MS-NRPC] 3.3.4.2.1).

type NL_AUTH_SHA2_SIGNATURE struct {
    SignatureAlgorithm uint16
    SealAlgorithm      uint16
    Pad                uint16 // MUST be 0xFFFF
    Flags              uint16 // MUST be 0x0000
    SequenceNumber     [8]byte
    Checksum           [8]byte
    Confounder         [8]byte // present on the wire only when Sealed() is true

}

func (*NL_AUTH_SHA2_SIGNATURE) Header

func (s *NL_AUTH_SHA2_SIGNATURE) Header() []byte

Header returns the eight header octets (the four little-endian uint16s). These are the bytes fed to the HMAC-SHA256 checksum computation ([MS-NRPC] 3.3.4.2.1 step 7).

func (*NL_AUTH_SHA2_SIGNATURE) Marshal

func (s *NL_AUTH_SHA2_SIGNATURE) Marshal() []byte

Marshal serializes the token: the 8-byte header, the 8-byte SequenceNumber, the 8-byte Checksum, the 8-byte Confounder (only when Sealed()), and the trailing 24 zero octets of Reserved. The result is 48 octets for an integrity-only token and 56 octets for a sealing token.

func (*NL_AUTH_SHA2_SIGNATURE) Sealed

func (s *NL_AUTH_SHA2_SIGNATURE) Sealed() bool

Sealed reports whether the token seals (encrypts) the message, in which case the Confounder is part of the wire layout.

func (*NL_AUTH_SHA2_SIGNATURE) Unmarshal

func (s *NL_AUTH_SHA2_SIGNATURE) Unmarshal(data []byte) error

Unmarshal parses a token from the front of data. Whether the Confounder is expected is decided by SealAlgorithm, so the header is read first. The trailing Reserved field is not required to be present (the receiver ignores it), so it is not enforced.

type NL\_AUTH\_SIGNATURE

NL_AUTH_SIGNATURE ([MS-NRPC] 2.2.1.3.2) is the per-message security token Netlogon places after the RPC sec_trailer when acting as its own security provider with the legacy (non-AES) cipher suite: an HMAC-MD5 checksum with RC4 sealing. It is NOT an NDR structure — it is a fixed little-endian layout, so it carries its own Marshal/Unmarshal rather than relying on the ndr package. The AES cipher suite uses NL_AUTH_SHA2_SIGNATURE instead.

The Confounder is present on the wire only when the token seals (encrypts) the message, i.e. when SealAlgorithm != NlSealNotEncrypted; for an integrity-only token it is omitted. On the wire the SequenceNumber and (when sealing) the Confounder are encrypted, whereas the Checksum is carried in the clear ([MS-NRPC] 3.3.4.2.1).

type NL_AUTH_SIGNATURE struct {
    SignatureAlgorithm uint16
    SealAlgorithm      uint16
    Pad                uint16 // MUST be 0xFFFF
    Flags              uint16 // MUST be 0x0000
    SequenceNumber     [8]byte
    Checksum           [8]byte
    Confounder         [8]byte // present on the wire only when Sealed() is true
}

func (*NL_AUTH_SIGNATURE) Header

func (s *NL_AUTH_SIGNATURE) Header() []byte

Header returns the eight header octets (the four little-endian uint16s). These are the bytes fed to the checksum computation ([MS-NRPC] 3.3.4.2.1 step 7).

func (*NL_AUTH_SIGNATURE) Marshal

func (s *NL_AUTH_SIGNATURE) Marshal() []byte

Marshal serializes the token: the 8-byte header, the 8-byte SequenceNumber, the 8-byte Checksum, and — only when Sealed() — the 8-byte Confounder. The result is 24 octets for an integrity-only token and 32 octets for a sealing token.

func (*NL_AUTH_SIGNATURE) Sealed

func (s *NL_AUTH_SIGNATURE) Sealed() bool

Sealed reports whether the token seals (encrypts) the message, in which case the Confounder is part of the wire layout.

func (*NL_AUTH_SIGNATURE) Unmarshal

func (s *NL_AUTH_SIGNATURE) Unmarshal(data []byte) error

Unmarshal parses a token from the front of data. Whether the Confounder is expected is decided by SealAlgorithm, so the header is read first.

type NL\_DNS\_NAME\_INFO

NL_DNS_NAME_INFO ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NL_DNS_NAME_INFO struct {
    Type              ndr.DWORD
    DnsDomainInfo     *ndr.WSTR `ndr:"unique"`
    DnsDomainInfoType ndr.DWORD
    Priority          ndr.DWORD
    Weight            ndr.DWORD
    Port              ndr.DWORD
    Register          uint8
    Status            ndr.DWORD
}

type NL\_DNS\_NAME\_INFO\_ARRAY

NL_DNS_NAME_INFO_ARRAY ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NL_DNS_NAME_INFO_ARRAY struct {
    EntryCount   ndr.DWORD
    DnsNamesInfo []NL_DNS_NAME_INFO `ndr:"unique,size_is=EntryCount"`
}

type NL\_GENERIC\_RPC\_DATA

NL_GENERIC_RPC_DATA ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NL_GENERIC_RPC_DATA struct {
    UlongEntryCount         ndr.DWORD
    UlongData               []ndr.DWORD `ndr:"unique,size_is=UlongEntryCount"`
    UnicodeStringEntryCount ndr.DWORD
    UnicodeStringData       []UNICODE_STRING `ndr:"unique,size_is=UnicodeStringEntryCount"`
}

type NL\_IN\_CHAIN\_SET\_CLIENT\_ATTRIBUTES

NL_IN_CHAIN_SET_CLIENT_ATTRIBUTES is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type NL_IN_CHAIN_SET_CLIENT_ATTRIBUTES struct {
    Tag ndr.DWORD                            `ndr:"switch"`
    V1  NL_IN_CHAIN_SET_CLIENT_ATTRIBUTES_V1 `ndr:"case=1"`
}

type NL\_IN\_CHAIN\_SET\_CLIENT\_ATTRIBUTES\_V1

NL_IN_CHAIN_SET_CLIENT_ATTRIBUTES_V1 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NL_IN_CHAIN_SET_CLIENT_ATTRIBUTES_V1 struct {
    ClientDnsHostName *ndr.WSTR            `ndr:"unique"`
    OsVersionInfo_V1  *NL_OSVERSIONINFO_V1 `ndr:"unique"`
    OsName            *ndr.WSTR            `ndr:"unique"`
}

type NL\_OSVERSIONINFO\_V1

NL_OSVERSIONINFO_V1 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NL_OSVERSIONINFO_V1 struct {
    DwOSVersionInfoSize ndr.DWORD
    DwMajorVersion      ndr.DWORD
    DwMinorVersion      ndr.DWORD
    DwBuildNumber       ndr.DWORD
    DwPlatformId        ndr.DWORD
    SzCSDVersion        [128]uint16
    WServicePackMajor   uint16
    WServicePackMinor   uint16
    WSuiteMask          uint16
    WProductType        uint8
    WReserved           uint8
}

type NL\_OUT\_CHAIN\_SET\_CLIENT\_ATTRIBUTES

NL_OUT_CHAIN_SET_CLIENT_ATTRIBUTES is a discriminated union ([MS-NRPC]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type NL_OUT_CHAIN_SET_CLIENT_ATTRIBUTES struct {
    Tag ndr.DWORD                             `ndr:"switch"`
    V1  NL_OUT_CHAIN_SET_CLIENT_ATTRIBUTES_V1 `ndr:"case=1"`
}

type NL\_OUT\_CHAIN\_SET\_CLIENT\_ATTRIBUTES\_V1

NL_OUT_CHAIN_SET_CLIENT_ATTRIBUTES_V1 ([MS-NRPC] 2.2.1.3.20) is the [out] payload of NetrChainSetClientAttributes (opnum 49).

NOTE: the IDL declares OldDnsHostName as `[unique,string] wchar_t**` — a unique pointer to a unique pointer to a string. The declarative NDR codec cannot express a double pointer (`**ndr.WSTR` is rejected as an unsupported scalar kind), so it is modelled here as a single `*ndr.WSTR`, which omits the outer referent id on the wire. This method is not live-validated; correct double-pointer support is deferred to an ndr codec enhancement.

type NL_OUT_CHAIN_SET_CLIENT_ATTRIBUTES_V1 struct {
    HubName           *ndr.WSTR  `ndr:"unique"`
    OldDnsHostName    *ndr.WSTR  `ndr:"unique"`
    SupportedEncTypes *ndr.DWORD `ndr:"unique"`
}

type NL\_PASSWORD\_VERSION

NL_PASSWORD_VERSION ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NL_PASSWORD_VERSION struct {
    ReservedField          ndr.DWORD
    PasswordVersionNumber  ndr.DWORD
    PasswordVersionPresent ndr.DWORD
}

type NL\_SITE\_NAME\_ARRAY

NL_SITE_NAME_ARRAY ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NL_SITE_NAME_ARRAY struct {
    EntryCount ndr.DWORD
    SiteNames  []UNICODE_STRING `ndr:"unique,size_is=EntryCount"`
}

type NL\_SITE\_NAME\_EX\_ARRAY

NL_SITE_NAME_EX_ARRAY ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NL_SITE_NAME_EX_ARRAY struct {
    EntryCount  ndr.DWORD
    SiteNames   []UNICODE_STRING `ndr:"unique,size_is=EntryCount"`
    SubnetNames []UNICODE_STRING `ndr:"unique,size_is=EntryCount"`
}

type NL\_SOCKET\_ADDRESS

NL_SOCKET_ADDRESS ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NL_SOCKET_ADDRESS struct {
    LpSockaddr      []uint8 `ndr:"unique,size_is=ISockaddrLength"`
    ISockaddrLength ndr.DWORD
}

type NL\_TRUST\_PASSWORD

NL_TRUST_PASSWORD ([MS-NRPC] 2.2.1.3.7) holds a new machine/trust password as a fixed 256-WCHAR (512-octet) buffer followed by its byte length, for a 516-octet structure. The buffer is modelled as a fixed [512]byte (rather than [256]uint16) so callers can copy the clear-text/encrypted password bytes in directly; both marshal to the same 512 octets. An all-zero value (empty buffer, Length 0) sets the target account password to the empty string.

type NL_TRUST_PASSWORD struct {
    Buffer [512]byte
    Length uint32
}

type NT\_OWF\_PASSWORD

NT_OWF_PASSWORD ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type NT_OWF_PASSWORD struct {
    Data [2]CYPHER_BLOCK
}

type OLD\_LARGE\_INTEGER

OLD_LARGE_INTEGER ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type OLD_LARGE_INTEGER struct {
    LowPart  ndr.DWORD
    HighPart int32
}

type STRING

STRING ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type STRING struct {
    Length        uint16
    MaximumLength uint16
    Buffer        []int8 `ndr:"unique,size_is=MaximumLength,varying,length_is=Length"`
}

type SYNC\_STATE

SYNC_STATE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-NRPC]).

type SYNC_STATE uint16
const (
    NormalState          SYNC_STATE = 0
    DomainState          SYNC_STATE = 1
    GroupState           SYNC_STATE = 2
    UasBuiltInGroupState SYNC_STATE = 3
    UserState            SYNC_STATE = 4
    GroupMemberState     SYNC_STATE = 5
    AliasState           SYNC_STATE = 6
    AliasMemberState     SYNC_STATE = 7
    SamDoneState         SYNC_STATE = 8
)

type UAS\_INFO\_0

UAS_INFO_0 ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type UAS_INFO_0 struct {
    ComputerName [16]int8
    TimeCreated  ndr.DWORD
    SerialNumber ndr.DWORD
}

type UNICODE\_STRING

UNICODE_STRING ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type UNICODE_STRING struct {
    Length        uint16
    MaximumLength uint16
    Buffer        []uint16 `ndr:"unique,varying"`
}

type USER\_SESSION\_KEY

USER_SESSION_KEY ([MS-NRPC]). Generated by tools/idlgen; verify pointer/array tags.

type USER_SESSION_KEY struct {
    Data [2]CYPHER_BLOCK
}

Subpackages