WERROR netr_LogonUasLogon(
[in,unique] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 account_name[],
- [in] [string,charset(UTF16)] uint16 workstation[],
+ [in] [string,charset(UTF16)] uint16 *account_name,
+ [in] [string,charset(UTF16)] uint16 *workstation,
[out,ref] netr_UasInfo **info
);
WERROR netr_LogonUasLogoff(
[in,unique] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 account_name[],
- [in] [string,charset(UTF16)] uint16 workstation[],
+ [in] [string,charset(UTF16)] uint16 *account_name,
+ [in] [string,charset(UTF16)] uint16 *workstation,
[out,ref] netr_UasLogoffInfo *info
);
} netr_Authenticator;
NTSTATUS netr_LogonSamLogon(
- [in,unique] [string,charset(UTF16)] uint16 *server_name,
- [in,unique] [string,charset(UTF16)] uint16 *computer_name,
- [in,unique] netr_Authenticator *credential,
- [in,out,unique] netr_Authenticator *return_authenticator,
- [in] netr_LogonInfoClass logon_level,
- [in,ref] [switch_is(logon_level)] netr_LogonLevel *logon,
- [in] uint16 validation_level,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *computer_name,
+ [in,unique] netr_Authenticator *credential,
+ [in,out,unique] netr_Authenticator *return_authenticator,
+ [in] netr_LogonInfoClass logon_level,
+ [in,ref] [switch_is(logon_level)] netr_LogonLevel *logon,
+ [in] uint16 validation_level,
[out,ref] [switch_is(validation_level)] netr_Validation *validation,
- [out,ref] uint8 *authoritative
+ [out,ref] uint8 *authoritative
);
[public] NTSTATUS netr_ServerReqChallenge(
[in,unique,string,charset(UTF16)] uint16 *server_name,
- [in,string,charset(UTF16)] uint16 computer_name[],
+ [in,string,charset(UTF16)] uint16 *computer_name,
[in,ref] netr_Credential *credentials,
[out,ref] netr_Credential *return_credentials
);
NTSTATUS netr_ServerAuthenticate(
[in,unique,string,charset(UTF16)] uint16 *server_name,
- [in,string,charset(UTF16)] uint16 account_name[],
- [in] netr_SchannelType secure_channel_type,
- [in,string,charset(UTF16)] uint16 computer_name[],
+ [in,string,charset(UTF16)] uint16 *account_name,
+ [in] netr_SchannelType secure_channel_type,
+ [in,string,charset(UTF16)] uint16 *computer_name,
[in,ref] netr_Credential *credentials,
[out,ref] netr_Credential *return_credentials
);
NTSTATUS netr_ServerPasswordSet(
[in,unique] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 account_name[],
+ [in] [string,charset(UTF16)] uint16 *account_name,
[in] netr_SchannelType secure_channel_type,
- [in] [string,charset(UTF16)] uint16 computer_name[],
+ [in] [string,charset(UTF16)] uint16 *computer_name,
[in,ref] netr_Authenticator *credential,
[out,ref] netr_Authenticator *return_authenticator,
[in,ref] samr_Password *new_password
[size_is(num_deltas)] netr_DELTA_ENUM *delta_enum;
} netr_DELTA_ENUM_ARRAY;
-
NTSTATUS netr_DatabaseDeltas(
- [in] [string,charset(UTF16)] uint16 logon_server[],
- [in] [string,charset(UTF16)] uint16 computername[],
+ [in] [string,charset(UTF16)] uint16 *logon_server,
+ [in] [string,charset(UTF16)] uint16 *computername,
[in,ref] netr_Authenticator *credential,
[in,out,ref] netr_Authenticator *return_authenticator,
[in] netr_SamDatabaseID database_id,
/* Function 0x08 */
NTSTATUS netr_DatabaseSync(
- [in] [string,charset(UTF16)] uint16 logon_server[],
- [in] [string,charset(UTF16)] uint16 computername[],
+ [in] [string,charset(UTF16)] uint16 *logon_server,
+ [in] [string,charset(UTF16)] uint16 *computername,
[in,ref] netr_Authenticator *credential,
[in,out,ref] netr_Authenticator *return_authenticator,
[in] netr_SamDatabaseID database_id,
NTSTATUS netr_AccountDeltas(
[in,unique] [string,charset(UTF16)] uint16 *logon_server,
- [in] [string,charset(UTF16)] uint16 computername[],
+ [in] [string,charset(UTF16)] uint16 *computername,
[in] netr_Authenticator credential,
[in,out,ref] netr_Authenticator *return_authenticator,
[in] netr_UAS_INFO_0 uas,
NTSTATUS netr_AccountSync(
[in,unique] [string,charset(UTF16)] uint16 *logon_server,
- [in] [string,charset(UTF16)] uint16 computername[],
+ [in] [string,charset(UTF16)] uint16 *computername,
[in] netr_Authenticator credential,
[in,out,ref] netr_Authenticator *return_authenticator,
[in] uint32 reference,
/* Function 0x0B */
WERROR netr_GetDcName(
- [in] [string,charset(UTF16)] uint16 logon_server[],
+ [in] [string,charset(UTF16)] uint16 *logon_server,
[in,unique] [string,charset(UTF16)] uint16 *domainname,
[out,ref] [string,charset(UTF16)] uint16 **dcname
);
[in,unique] [string,charset(UTF16)] uint16 *logon_server,
[in] netr_LogonControlCode function_code,
[in] uint32 level,
- [out,ref,switch_is(level)] netr_CONTROL_QUERY_INFORMATION *info
+ [out,ref,switch_is(level)] netr_CONTROL_QUERY_INFORMATION *query
);
NETLOGON_NEG_CONCURRENT_RPC = 0x00000800,
NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL = 0x00001000,
NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL = 0x00002000,
- NETLOGON_NEG_128BIT = 0x00004000, /* STRONG_KEYS */
+ NETLOGON_NEG_STRONG_KEYS = 0x00004000,
NETLOGON_NEG_TRANSITIVE_TRUSTS = 0x00008000,
NETLOGON_NEG_DNS_DOMAIN_TRUSTS = 0x00010000,
NETLOGON_NEG_PASSWORD_SET2 = 0x00020000,
NETLOGON_NEG_CROSS_FOREST_TRUSTS = 0x00080000,
NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION = 0x00100000,
NETLOGON_NEG_RODC_PASSTHROUGH = 0x00200000,
+ NETLOGON_NEG_SUPPORTS_AES_SHA2 = 0x00400000,
NETLOGON_NEG_AUTHENTICATED_RPC_LSASS = 0x20000000,
- NETLOGON_NEG_SCHANNEL = 0x40000000 /* AUTHENTICATED_RPC */
+ NETLOGON_NEG_AUTHENTICATED_RPC = 0x40000000
} netr_NegotiateFlags;
+ const uint32 NETLOGON_NEG_128BIT = NETLOGON_NEG_STRONG_KEYS;
+ const uint32 NETLOGON_NEG_SCHANNEL = NETLOGON_NEG_AUTHENTICATED_RPC;
+
NTSTATUS netr_ServerAuthenticate2(
[in,unique] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 account_name[],
+ [in] [string,charset(UTF16)] uint16 *account_name,
[in] netr_SchannelType secure_channel_type,
- [in] [string,charset(UTF16)] uint16 computer_name[],
+ [in] [string,charset(UTF16)] uint16 *computer_name,
[in,ref] netr_Credential *credentials,
[out,ref] netr_Credential *return_credentials,
[in,out,ref] netr_NegotiateFlags *negotiate_flags
/*****************/
/* Function 0x10 */
+ typedef enum {
+ SYNCSTATE_NORMAL_STATE = 0,
+ SYNCSTATE_DOMAIN_STATE = 1,
+ SYNCSTATE_GROUP_STATE = 2,
+ SYNCSTATE_UAS_BUILT_IN_GROUP_STATE = 3,
+ SYNCSTATE_USER_STATE = 4,
+ SYNCSTATE_GROUP_MEMBER_STATE = 5,
+ SYNCSTATE_ALIAS_STATE = 6,
+ SYNCSTATE_ALIAS_MEMBER_STATE = 7,
+ SYNCSTATE_SAM_DONE_STATE = 8
+ } SyncStateEnum;
+
NTSTATUS netr_DatabaseSync2(
- [in] [string,charset(UTF16)] uint16 logon_server[],
- [in] [string,charset(UTF16)] uint16 computername[],
+ [in] [string,charset(UTF16)] uint16 *logon_server,
+ [in] [string,charset(UTF16)] uint16 *computername,
[in,ref] netr_Authenticator *credential,
[in,out,ref] netr_Authenticator *return_authenticator,
[in] netr_SamDatabaseID database_id,
- [in] uint16 restart_state,
+ [in] SyncStateEnum restart_state,
[in,out,ref] uint32 *sync_context,
[out,ref] netr_DELTA_ENUM_ARRAY **delta_enum_array,
[in] uint32 preferredmaximumlength
} netr_ChangeLogEntry;
NTSTATUS netr_DatabaseRedo(
- [in] [string,charset(UTF16)] uint16 logon_server[],
- [in] [string,charset(UTF16)] uint16 computername[],
+ [in] [string,charset(UTF16)] uint16 *logon_server,
+ [in] [string,charset(UTF16)] uint16 *computername,
[in] netr_Authenticator *credential,
[in,out,ref] netr_Authenticator *return_authenticator,
[in] [subcontext(4),subcontext_size(change_log_entry_size)] netr_ChangeLogEntry change_log_entry,
- [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry, ndr->flags))] uint32 change_log_entry_size,
+ [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry, ndr->iconv_convenience, ndr->flags))] uint32 change_log_entry_size,
[out,ref] netr_DELTA_ENUM_ARRAY **delta_enum_array
);
[in] netr_LogonControlCode function_code,
[in] uint32 level,
[in,ref][switch_is(function_code)] netr_CONTROL_DATA_INFORMATION *data,
- [out,ref][switch_is(level)] netr_CONTROL_QUERY_INFORMATION *query
+ [out,ref][switch_is(level)] netr_CONTROL_QUERY_INFORMATION *query
);
/*****************/
/*****************/
/* Function 0x15 */
- [todo] WERROR netr_NETRLOGONDUMMYROUTINE1();
+ typedef [switch_type(uint32)] union {
+ [case(1)] netr_NegotiateFlags server_capabilities;
+ } netr_Capabilities;
+
+ NTSTATUS netr_LogonGetCapabilities(
+ [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *computer_name,
+ [in,ref] netr_Authenticator *credential,
+ [in,out,ref] netr_Authenticator *return_authenticator,
+ [in] uint32 query_level,
+ [out,ref,switch_is(query_level)] netr_Capabilities *capabilities
+ );
/****************/
/* Function 0x16 */
/* Function 0x1a */
[public] NTSTATUS netr_ServerAuthenticate3(
[in,unique] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 account_name[],
+ [in] [string,charset(UTF16)] uint16 *account_name,
[in] netr_SchannelType secure_channel_type,
- [in] [string,charset(UTF16)] uint16 computer_name[],
+ [in] [string,charset(UTF16)] uint16 *computer_name,
[in,ref] netr_Credential *credentials,
[out,ref] netr_Credential *return_credentials,
[in,out,ref] netr_NegotiateFlags *negotiate_flags,
/* Function 0x1f */
WERROR netr_ServerPasswordGet(
[in,unique] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 account_name[],
+ [in] [string,charset(UTF16)] uint16 *account_name,
[in] netr_SchannelType secure_channel_type,
- [in] [string,charset(UTF16)] uint16 computer_name[],
+ [in] [string,charset(UTF16)] uint16 *computer_name,
[in,ref] netr_Authenticator *credential,
[out,ref] netr_Authenticator *return_authenticator,
[out,ref] samr_Password *password
/* Function 0x2a */
NTSTATUS netr_ServerTrustPasswordsGet(
[in,unique] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 account_name[],
+ [in] [string,charset(UTF16)] uint16 *account_name,
[in] netr_SchannelType secure_channel_type,
- [in] [string,charset(UTF16)] uint16 computer_name[],
+ [in] [string,charset(UTF16)] uint16 *computer_name,
[in,ref] netr_Authenticator *credential,
[out,ref] netr_Authenticator *return_authenticator,
[out,ref] samr_Password *password,