/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 6.00.0361 */ /* Compiler settings for samrpc.idl, samsrv.acf: Oicf, W1, Zp8, env=Win32 (32b run) protocol : dce , ms_ext, c_ext, oldnames, robust error checks: allocation ref bounds_check enum stub_data , no_format_optimization VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ //@@MIDL_FILE_HEADING( ) #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef __samrpc_h__ #define __samrpc_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ /* header files for imported files */ #include "samimp.h" #ifdef __cplusplus extern "C"{ #endif void * __RPC_USER MIDL_user_allocate(size_t); void __RPC_USER MIDL_user_free( void * ); #ifndef __samr_INTERFACE_DEFINED__ #define __samr_INTERFACE_DEFINED__ /* interface samr */ /* [strict_context_handle][implicit_handle][unique][ms_union][version][uuid] */ typedef struct _RPC_UNICODE_STRING { USHORT Length; USHORT MaximumLength; /* [length_is][size_is] */ PWCH Buffer; } RPC_UNICODE_STRING; typedef struct _RPC_UNICODE_STRING *PRPC_UNICODE_STRING; typedef struct _RPC_STRING { USHORT Length; USHORT MaximumLength; /* [length_is][size_is] */ PCHAR Buffer; } RPC_STRING; typedef struct _RPC_STRING *PRPC_STRING; typedef struct _RPC_STRING RPC_ANSI_STRING; typedef struct _RPC_STRING *PRPC_ANSI_STRING; typedef struct _RPC_SID { UCHAR Revision; UCHAR SubAuthorityCount; SID_IDENTIFIER_AUTHORITY IdentifierAuthority; /* [size_is] */ ULONG SubAuthority[ 1 ]; } RPC_SID; typedef struct _RPC_SID *PRPC_SID; typedef struct _RPC_SID **PPRPC_SID; typedef /* [handle] */ LPWSTR PSAMPR_SERVER_NAME; typedef /* [context_handle] */ PVOID SAMPR_HANDLE; #define SAM_NETWORK_REVISION_1 (1) #define SAM_NETWORK_REVISION_2 (2) #define SAM_NETWORK_REVISION_3 (3) #define SAM_NETWORK_REVISION_LATEST SAM_NETWORK_REVISION_3 #define SAM_CLIENT_PRE_NT5 SAM_NETWORK_REVISION_1 #define SAM_CLIENT_NT5 SAM_NETWORK_REVISION_2 #define SAM_CLIENT_LATEST SAM_NETWORK_REVISION_LATEST #define SAM_EXTENDED_SID_DOMAIN 0x00000001 #define SAM_EXTENDED_SID_DOMAIN_COMPAT_1 0x00000002 #define SAM_EXTENDED_SID_DOMAIN_COMPAT_2 0x00000004 typedef struct _SAMPR_RID_ENUMERATION { ULONG RelativeId; RPC_UNICODE_STRING Name; } SAMPR_RID_ENUMERATION; typedef struct _SAMPR_RID_ENUMERATION *PSAMPR_RID_ENUMERATION; typedef struct _SAMPR_SID_ENUMERATION { PSID Sid; RPC_UNICODE_STRING Name; } SAMPR_SID_ENUMERATION; typedef struct _SAMPR_SID_ENUMERATION *PSAMPR_SID_ENUMERATION; typedef struct _SAMPR_ENUMERATION_BUFFER { ULONG EntriesRead; /* [size_is] */ PSAMPR_RID_ENUMERATION Buffer; } SAMPR_ENUMERATION_BUFFER; typedef struct _SAMPR_ENUMERATION_BUFFER *PSAMPR_ENUMERATION_BUFFER; typedef struct _SAMPR_SR_SECURITY_DESCRIPTOR { /* [range] */ ULONG Length; /* [size_is] */ PUCHAR SecurityDescriptor; } SAMPR_SR_SECURITY_DESCRIPTOR; typedef struct _SAMPR_SR_SECURITY_DESCRIPTOR *PSAMPR_SR_SECURITY_DESCRIPTOR; typedef struct _SAMPR_GET_GROUPS_BUFFER { ULONG MembershipCount; /* [size_is] */ PGROUP_MEMBERSHIP Groups; } SAMPR_GET_GROUPS_BUFFER; typedef struct _SAMPR_GET_GROUPS_BUFFER *PSAMPR_GET_GROUPS_BUFFER; typedef struct _SAMPR_GET_MEMBERS_BUFFER { ULONG MemberCount; /* [size_is] */ PULONG Members; /* [size_is] */ PULONG Attributes; } SAMPR_GET_MEMBERS_BUFFER; typedef struct _SAMPR_GET_MEMBERS_BUFFER *PSAMPR_GET_MEMBERS_BUFFER; typedef struct _SAMPR_LOGON_HOURS { USHORT UnitsPerWeek; /* [length_is][size_is] */ PUCHAR LogonHours; } SAMPR_LOGON_HOURS; typedef struct _SAMPR_LOGON_HOURS *PSAMPR_LOGON_HOURS; typedef struct _SAMPR_ULONG_ARRAY { ULONG Count; /* [size_is] */ ULONG *Element; } SAMPR_ULONG_ARRAY; typedef struct _SAMPR_ULONG_ARRAY *PSAMPR_ULONG_ARRAY; typedef struct _SAMPR_SID_INFORMATION { PRPC_SID SidPointer; } SAMPR_SID_INFORMATION; typedef /* [allocate] */ struct _SAMPR_SID_INFORMATION *PSAMPR_SID_INFORMATION; typedef struct _SAMPR_PSID_ARRAY { /* [range] */ ULONG Count; /* [size_is] */ PSAMPR_SID_INFORMATION Sids; } SAMPR_PSID_ARRAY; typedef struct _SAMPR_PSID_ARRAY *PSAMPR_PSID_ARRAY; typedef struct _SAMPR_PSID_ARRAY_OUT { ULONG Count; /* [size_is] */ PSAMPR_SID_INFORMATION Sids; } SAMPR_PSID_ARRAY_OUT; typedef struct _SAMPR_PSID_ARRAY_OUT *PSAMPR_PSID_ARRAY_OUT; typedef struct _SAMPR_UNICODE_STRING_ARRAY { ULONG Count; /* [size_is] */ RPC_UNICODE_STRING *Element; } SAMPR_UNICODE_STRING_ARRAY; typedef struct _SAMPR_UNICODE_STRING_ARRAY *PSAMPR_UNICODE_STRING_ARRAY; typedef RPC_UNICODE_STRING SAMPR_RETURNED_STRING; typedef RPC_UNICODE_STRING *PSAMPR_RETURNED_STRING; typedef STRING SAMPR_RETURNED_NORMAL_STRING; typedef STRING *PSAMPR_RETURNED_NORMAL_STRING; typedef struct _SAMPR_RETURNED_USTRING_ARRAY { ULONG Count; /* [size_is] */ PSAMPR_RETURNED_STRING Element; } SAMPR_RETURNED_USTRING_ARRAY; typedef struct _SAMPR_RETURNED_USTRING_ARRAY *PSAMPR_RETURNED_USTRING_ARRAY; typedef struct _SAMPR_REVISION_INFO_V1 { ULONG Revision; ULONG SupportedFeatures; } SAMPR_REVISION_INFO_V1; typedef struct _SAMPR_REVISION_INFO_V1 *PSAMPR_REVISION_INFO_V1; typedef /* [public][public][public][switch_type] */ union __MIDL_samr_0001 { /* [case()] */ SAMPR_REVISION_INFO_V1 V1; } SAMPR_REVISION_INFO; typedef /* [switch_type] */ union __MIDL_samr_0001 *PSAMPR_REVISION_INFO; #pragma pack(4) typedef struct _SAMPR_DOMAIN_GENERAL_INFORMATION { OLD_LARGE_INTEGER ForceLogoff; RPC_UNICODE_STRING OemInformation; RPC_UNICODE_STRING DomainName; RPC_UNICODE_STRING ReplicaSourceNodeName; OLD_LARGE_INTEGER DomainModifiedCount; ULONG DomainServerState; ULONG DomainServerRole; BOOLEAN UasCompatibilityRequired; ULONG UserCount; ULONG GroupCount; ULONG AliasCount; } SAMPR_DOMAIN_GENERAL_INFORMATION; typedef struct _SAMPR_DOMAIN_GENERAL_INFORMATION *PSAMPR_DOMAIN_GENERAL_INFORMATION; #pragma pack() #pragma pack(4) typedef struct _SAMPR_DOMAIN_GENERAL_INFORMATION2 { SAMPR_DOMAIN_GENERAL_INFORMATION I1; LARGE_INTEGER LockoutDuration; LARGE_INTEGER LockoutObservationWindow; USHORT LockoutThreshold; } SAMPR_DOMAIN_GENERAL_INFORMATION2; typedef struct _SAMPR_DOMAIN_GENERAL_INFORMATION2 *PSAMPR_DOMAIN_GENERAL_INFORMATION2; #pragma pack() typedef struct _SAMPR_DOMAIN_OEM_INFORMATION { RPC_UNICODE_STRING OemInformation; } SAMPR_DOMAIN_OEM_INFORMATION; typedef struct _SAMPR_DOMAIN_OEM_INFORMATION *PSAMPR_DOMAIN_OEM_INFORMATION; typedef struct _SAMPR_DOMAIN_NAME_INFORMATION { RPC_UNICODE_STRING DomainName; } SAMPR_DOMAIN_NAME_INFORMATION; typedef struct _SAMPR_DOMAIN_NAME_INFORMATION *PSAMPR_DOMAIN_NAME_INFORMATION; typedef struct SAMPR_DOMAIN_REPLICATION_INFORMATION { RPC_UNICODE_STRING ReplicaSourceNodeName; } SAMPR_DOMAIN_REPLICATION_INFORMATION; typedef struct SAMPR_DOMAIN_REPLICATION_INFORMATION *PSAMPR_DOMAIN_REPLICATION_INFORMATION; typedef struct _SAMPR_DOMAIN_LOCKOUT_INFORMATION { LARGE_INTEGER LockoutDuration; LARGE_INTEGER LockoutObservationWindow; USHORT LockoutThreshold; } SAMPR_DOMAIN_LOCKOUT_INFORMATION; typedef struct _SAMPR_DOMAIN_LOCKOUT_INFORMATION *PSAMPR_DOMAIN_LOCKOUT_INFORMATION; typedef /* [switch_type] */ union _SAMPR_DOMAIN_INFO_BUFFER { /* [case()] */ DOMAIN_PASSWORD_INFORMATION Password; /* [case()] */ SAMPR_DOMAIN_GENERAL_INFORMATION General; /* [case()] */ DOMAIN_LOGOFF_INFORMATION Logoff; /* [case()] */ SAMPR_DOMAIN_OEM_INFORMATION Oem; /* [case()] */ SAMPR_DOMAIN_NAME_INFORMATION Name; /* [case()] */ DOMAIN_SERVER_ROLE_INFORMATION Role; /* [case()] */ SAMPR_DOMAIN_REPLICATION_INFORMATION Replication; /* [case()] */ DOMAIN_MODIFIED_INFORMATION Modified; /* [case()] */ DOMAIN_STATE_INFORMATION State; /* [case()] */ SAMPR_DOMAIN_GENERAL_INFORMATION2 General2; /* [case()] */ SAMPR_DOMAIN_LOCKOUT_INFORMATION Lockout; /* [case()] */ DOMAIN_MODIFIED_INFORMATION2 Modified2; } SAMPR_DOMAIN_INFO_BUFFER; typedef /* [switch_type] */ union _SAMPR_DOMAIN_INFO_BUFFER *PSAMPR_DOMAIN_INFO_BUFFER; typedef struct _SAMPR_GROUP_GENERAL_INFORMATION { RPC_UNICODE_STRING Name; ULONG Attributes; ULONG MemberCount; RPC_UNICODE_STRING AdminComment; } SAMPR_GROUP_GENERAL_INFORMATION; typedef struct _SAMPR_GROUP_GENERAL_INFORMATION *PSAMPR_GROUP_GENERAL_INFORMATION; typedef struct _SAMPR_GROUP_NAME_INFORMATION { RPC_UNICODE_STRING Name; } SAMPR_GROUP_NAME_INFORMATION; typedef struct _SAMPR_GROUP_NAME_INFORMATION *PSAMPR_GROUP_NAME_INFORMATION; typedef struct _SAMPR_GROUP_ADM_COMMENT_INFORMATION { RPC_UNICODE_STRING AdminComment; } SAMPR_GROUP_ADM_COMMENT_INFORMATION; typedef struct _SAMPR_GROUP_ADM_COMMENT_INFORMATION *PSAMPR_GROUP_ADM_COMMENT_INFORMATION; typedef /* [switch_type] */ union _SAMPR_GROUP_INFO_BUFFER { /* [case()] */ SAMPR_GROUP_GENERAL_INFORMATION General; /* [case()] */ SAMPR_GROUP_NAME_INFORMATION Name; /* [case()] */ GROUP_ATTRIBUTE_INFORMATION Attribute; /* [case()] */ SAMPR_GROUP_ADM_COMMENT_INFORMATION AdminComment; /* [case()] */ SAMPR_GROUP_GENERAL_INFORMATION DoNotUse; } SAMPR_GROUP_INFO_BUFFER; typedef /* [switch_type] */ union _SAMPR_GROUP_INFO_BUFFER *PSAMPR_GROUP_INFO_BUFFER; typedef struct _SAMPR_ALIAS_GENERAL_INFORMATION { RPC_UNICODE_STRING Name; ULONG MemberCount; RPC_UNICODE_STRING AdminComment; } SAMPR_ALIAS_GENERAL_INFORMATION; typedef struct _SAMPR_ALIAS_GENERAL_INFORMATION *PSAMPR_ALIAS_GENERAL_INFORMATION; typedef struct _SAMPR_ALIAS_NAME_INFORMATION { RPC_UNICODE_STRING Name; } SAMPR_ALIAS_NAME_INFORMATION; typedef struct _SAMPR_ALIAS_NAME_INFORMATION *PSAMPR_ALIAS_NAME_INFORMATION; typedef struct _SAMPR_ALIAS_ADM_COMMENT_INFORMATION { RPC_UNICODE_STRING AdminComment; } SAMPR_ALIAS_ADM_COMMENT_INFORMATION; typedef struct _SAMPR_ALIAS_ADM_COMMENT_INFORMATION *PSAMPR_ALIAS_ADM_COMMENT_INFORMATION; typedef /* [switch_type] */ union _SAMPR_ALIAS_INFO_BUFFER { /* [case()] */ SAMPR_ALIAS_GENERAL_INFORMATION General; /* [case()] */ SAMPR_ALIAS_NAME_INFORMATION Name; /* [case()] */ SAMPR_ALIAS_ADM_COMMENT_INFORMATION AdminComment; } SAMPR_ALIAS_INFO_BUFFER; typedef /* [switch_type] */ union _SAMPR_ALIAS_INFO_BUFFER *PSAMPR_ALIAS_INFO_BUFFER; #pragma pack(4) typedef struct _SAMPR_USER_ALL_INFORMATION { OLD_LARGE_INTEGER LastLogon; OLD_LARGE_INTEGER LastLogoff; OLD_LARGE_INTEGER PasswordLastSet; OLD_LARGE_INTEGER AccountExpires; OLD_LARGE_INTEGER PasswordCanChange; OLD_LARGE_INTEGER PasswordMustChange; RPC_UNICODE_STRING UserName; RPC_UNICODE_STRING FullName; RPC_UNICODE_STRING HomeDirectory; RPC_UNICODE_STRING HomeDirectoryDrive; RPC_UNICODE_STRING ScriptPath; RPC_UNICODE_STRING ProfilePath; RPC_UNICODE_STRING AdminComment; RPC_UNICODE_STRING WorkStations; RPC_UNICODE_STRING UserComment; RPC_UNICODE_STRING Parameters; RPC_UNICODE_STRING LmOwfPassword; RPC_UNICODE_STRING NtOwfPassword; RPC_UNICODE_STRING PrivateData; SAMPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor; ULONG UserId; ULONG PrimaryGroupId; ULONG UserAccountControl; ULONG WhichFields; SAMPR_LOGON_HOURS LogonHours; USHORT BadPasswordCount; USHORT LogonCount; USHORT CountryCode; USHORT CodePage; BOOLEAN LmPasswordPresent; BOOLEAN NtPasswordPresent; BOOLEAN PasswordExpired; BOOLEAN PrivateDataSensitive; } SAMPR_USER_ALL_INFORMATION; typedef struct _SAMPR_USER_ALL_INFORMATION *PSAMPR_USER_ALL_INFORMATION; #pragma pack() #pragma pack(4) typedef struct _SAMPR_USER_INTERNAL3_INFORMATION { SAMPR_USER_ALL_INFORMATION I1; LARGE_INTEGER LastBadPasswordTime; } SAMPR_USER_INTERNAL3_INFORMATION; typedef struct _SAMPR_USER_INTERNAL3_INFORMATION *PSAMPR_USER_INTERNAL3_INFORMATION; #pragma pack() typedef struct _SAMPR_USER_GENERAL_INFORMATION { RPC_UNICODE_STRING UserName; RPC_UNICODE_STRING FullName; ULONG PrimaryGroupId; RPC_UNICODE_STRING AdminComment; RPC_UNICODE_STRING UserComment; } SAMPR_USER_GENERAL_INFORMATION; typedef struct _SAMPR_USER_GENERAL_INFORMATION *PSAMPR_USER_GENERAL_INFORMATION; typedef struct _SAMPR_USER_PREFERENCES_INFORMATION { RPC_UNICODE_STRING UserComment; RPC_UNICODE_STRING Reserved1; USHORT CountryCode; USHORT CodePage; } SAMPR_USER_PREFERENCES_INFORMATION; typedef struct _SAMPR_USER_PREFERENCES_INFORMATION *PSAMPR_USER_PREFERENCES_INFORMATION; typedef struct _SAMPR_USER_PARAMETERS_INFORMATION { RPC_UNICODE_STRING Parameters; } SAMPR_USER_PARAMETERS_INFORMATION; typedef struct _SAMPR_USER_PARAMETERS_INFORMATION *PSAMPR_USER_PARAMETERS_INFORMATION; #pragma pack(4) typedef struct _SAMPR_USER_LOGON_INFORMATION { RPC_UNICODE_STRING UserName; RPC_UNICODE_STRING FullName; ULONG UserId; ULONG PrimaryGroupId; RPC_UNICODE_STRING HomeDirectory; RPC_UNICODE_STRING HomeDirectoryDrive; RPC_UNICODE_STRING ScriptPath; RPC_UNICODE_STRING ProfilePath; RPC_UNICODE_STRING WorkStations; OLD_LARGE_INTEGER LastLogon; OLD_LARGE_INTEGER LastLogoff; OLD_LARGE_INTEGER PasswordLastSet; OLD_LARGE_INTEGER PasswordCanChange; OLD_LARGE_INTEGER PasswordMustChange; SAMPR_LOGON_HOURS LogonHours; USHORT BadPasswordCount; USHORT LogonCount; ULONG UserAccountControl; } SAMPR_USER_LOGON_INFORMATION; typedef struct _SAMPR_USER_LOGON_INFORMATION *PSAMPR_USER_LOGON_INFORMATION; #pragma pack() #pragma pack(4) typedef struct _SAMPR_USER_ACCOUNT_INFORMATION { RPC_UNICODE_STRING UserName; RPC_UNICODE_STRING FullName; ULONG UserId; ULONG PrimaryGroupId; RPC_UNICODE_STRING HomeDirectory; RPC_UNICODE_STRING HomeDirectoryDrive; RPC_UNICODE_STRING ScriptPath; RPC_UNICODE_STRING ProfilePath; RPC_UNICODE_STRING AdminComment; RPC_UNICODE_STRING WorkStations; OLD_LARGE_INTEGER LastLogon; OLD_LARGE_INTEGER LastLogoff; SAMPR_LOGON_HOURS LogonHours; USHORT BadPasswordCount; USHORT LogonCount; OLD_LARGE_INTEGER PasswordLastSet; OLD_LARGE_INTEGER AccountExpires; ULONG UserAccountControl; } SAMPR_USER_ACCOUNT_INFORMATION; typedef struct _SAMPR_USER_ACCOUNT_INFORMATION *PSAMPR_USER_ACCOUNT_INFORMATION; #pragma pack() typedef struct _SAMPR_USER_A_NAME_INFORMATION { RPC_UNICODE_STRING UserName; } SAMPR_USER_A_NAME_INFORMATION; typedef struct _SAMPR_USER_A_NAME_INFORMATION *PSAMPR_USER_A_NAME_INFORMATION; typedef struct _SAMPR_USER_F_NAME_INFORMATION { RPC_UNICODE_STRING FullName; } SAMPR_USER_F_NAME_INFORMATION; typedef struct _SAMPR_USER_F_NAME_INFORMATION *PSAMPR_USER_F_NAME_INFORMATION; typedef struct _SAMPR_USER_NAME_INFORMATION { RPC_UNICODE_STRING UserName; RPC_UNICODE_STRING FullName; } SAMPR_USER_NAME_INFORMATION; typedef struct _SAMPR_USER_NAME_INFORMATION *PSAMPR_USER_NAME_INFORMATION; typedef struct _SAMPR_USER_HOME_INFORMATION { RPC_UNICODE_STRING HomeDirectory; RPC_UNICODE_STRING HomeDirectoryDrive; } SAMPR_USER_HOME_INFORMATION; typedef struct _SAMPR_USER_HOME_INFORMATION *PSAMPR_USER_HOME_INFORMATION; typedef struct _SAMPR_USER_SCRIPT_INFORMATION { RPC_UNICODE_STRING ScriptPath; } SAMPR_USER_SCRIPT_INFORMATION; typedef struct _SAMPR_USER_SCRIPT_INFORMATION *PSAMPR_USER_SCRIPT_INFORMATION; typedef struct _SAMPR_USER_PROFILE_INFORMATION { RPC_UNICODE_STRING ProfilePath; } SAMPR_USER_PROFILE_INFORMATION; typedef struct _SAMPR_USER_PROFILE_INFORMATION *PSAMPR_USER_PROFILE_INFORMATION; typedef struct _SAMPR_USER_ADMIN_COMMENT_INFORMATION { RPC_UNICODE_STRING AdminComment; } SAMPR_USER_ADMIN_COMMENT_INFORMATION; typedef struct _SAMPR_USER_ADMIN_COMMENT_INFORMATION *PSAMPR_USER_ADMIN_COMMENT_INFORMATION; typedef struct _SAMPR_USER_WORKSTATIONS_INFORMATION { RPC_UNICODE_STRING WorkStations; } SAMPR_USER_WORKSTATIONS_INFORMATION; typedef struct _SAMPR_USER_WORKSTATIONS_INFORMATION *PSAMPR_USER_WORKSTATIONS_INFORMATION; typedef struct _SAMPR_USER_LOGON_HOURS_INFORMATION { SAMPR_LOGON_HOURS LogonHours; } SAMPR_USER_LOGON_HOURS_INFORMATION; typedef struct _SAMPR_USER_LOGON_HOURS_INFORMATION *PSAMPR_USER_LOGON_HOURS_INFORMATION; typedef struct _SAMPR_USER_INTERNAL1_INFORMATION { ENCRYPTED_NT_OWF_PASSWORD EncryptedNtOwfPassword; ENCRYPTED_LM_OWF_PASSWORD EncryptedLmOwfPassword; BOOLEAN NtPasswordPresent; BOOLEAN LmPasswordPresent; BOOLEAN PasswordExpired; } SAMPR_USER_INTERNAL1_INFORMATION; typedef struct _SAMPR_USER_INTERNAL1_INFORMATION *PSAMPR_USER_INTERNAL1_INFORMATION; typedef struct _SAMPR_USER_INTERNAL4_INFORMATION { SAMPR_USER_ALL_INFORMATION I1; SAMPR_ENCRYPTED_USER_PASSWORD UserPassword; } SAMPR_USER_INTERNAL4_INFORMATION; typedef struct _SAMPR_USER_INTERNAL4_INFORMATION *PSAMPR_USER_INTERNAL4_INFORMATION; typedef struct _SAMPR_USER_INTERNAL4_INFORMATION_NEW { SAMPR_USER_ALL_INFORMATION I1; SAMPR_ENCRYPTED_USER_PASSWORD_NEW UserPassword; } SAMPR_USER_INTERNAL4_INFORMATION_NEW; typedef struct _SAMPR_USER_INTERNAL4_INFORMATION_NEW *PSAMPR_USER_INTERNAL4_INFORMATION_NEW; typedef struct _SAMPR_USER_INTERNAL5_INFORMATION { SAMPR_ENCRYPTED_USER_PASSWORD UserPassword; BOOLEAN PasswordExpired; } SAMPR_USER_INTERNAL5_INFORMATION; typedef struct _SAMPR_USER_INTERNAL5_INFORMATION *PSAMPR_USER_INTERNAL5_INFORMATION; typedef struct _SAMPR_USER_INTERNAL5_INFORMATION_NEW { SAMPR_ENCRYPTED_USER_PASSWORD_NEW UserPassword; BOOLEAN PasswordExpired; } SAMPR_USER_INTERNAL5_INFORMATION_NEW; typedef struct _SAMPR_USER_INTERNAL5_INFORMATION_NEW *PSAMPR_USER_INTERNAL5_INFORMATION_NEW; typedef /* [switch_type] */ union _SAMPR_USER_INFO_BUFFER { /* [case()] */ SAMPR_USER_GENERAL_INFORMATION General; /* [case()] */ SAMPR_USER_PREFERENCES_INFORMATION Preferences; /* [case()] */ SAMPR_USER_LOGON_INFORMATION Logon; /* [case()] */ SAMPR_USER_LOGON_HOURS_INFORMATION LogonHours; /* [case()] */ SAMPR_USER_ACCOUNT_INFORMATION Account; /* [case()] */ SAMPR_USER_NAME_INFORMATION Name; /* [case()] */ SAMPR_USER_A_NAME_INFORMATION AccountName; /* [case()] */ SAMPR_USER_F_NAME_INFORMATION FullName; /* [case()] */ USER_PRIMARY_GROUP_INFORMATION PrimaryGroup; /* [case()] */ SAMPR_USER_HOME_INFORMATION Home; /* [case()] */ SAMPR_USER_SCRIPT_INFORMATION Script; /* [case()] */ SAMPR_USER_PROFILE_INFORMATION Profile; /* [case()] */ SAMPR_USER_ADMIN_COMMENT_INFORMATION AdminComment; /* [case()] */ SAMPR_USER_WORKSTATIONS_INFORMATION WorkStations; /* [case()] */ USER_CONTROL_INFORMATION Control; /* [case()] */ USER_EXPIRES_INFORMATION Expires; /* [case()] */ SAMPR_USER_INTERNAL1_INFORMATION Internal1; /* [case()] */ USER_INTERNAL2_INFORMATION Internal2; /* [case()] */ SAMPR_USER_PARAMETERS_INFORMATION Parameters; /* [case()] */ SAMPR_USER_ALL_INFORMATION All; /* [case()] */ SAMPR_USER_INTERNAL3_INFORMATION Internal3; /* [case()] */ SAMPR_USER_INTERNAL4_INFORMATION Internal4; /* [case()] */ SAMPR_USER_INTERNAL5_INFORMATION Internal5; /* [case()] */ SAMPR_USER_INTERNAL4_INFORMATION_NEW Internal4New; /* [case()] */ SAMPR_USER_INTERNAL5_INFORMATION_NEW Internal5New; } SAMPR_USER_INFO_BUFFER; typedef /* [switch_type] */ union _SAMPR_USER_INFO_BUFFER *PSAMPR_USER_INFO_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_USER { ULONG Index; ULONG Rid; ULONG AccountControl; SAMPR_RETURNED_STRING LogonName; SAMPR_RETURNED_STRING AdminComment; SAMPR_RETURNED_STRING FullName; } SAMPR_DOMAIN_DISPLAY_USER; typedef struct _SAMPR_DOMAIN_DISPLAY_USER *PSAMPR_DOMAIN_DISPLAY_USER; typedef struct _SAMPR_DOMAIN_DISPLAY_MACHINE { ULONG Index; ULONG Rid; ULONG AccountControl; SAMPR_RETURNED_STRING Machine; SAMPR_RETURNED_STRING Comment; } SAMPR_DOMAIN_DISPLAY_MACHINE; typedef struct _SAMPR_DOMAIN_DISPLAY_MACHINE *PSAMPR_DOMAIN_DISPLAY_MACHINE; typedef struct _SAMPR_DOMAIN_DISPLAY_GROUP { ULONG Index; ULONG Rid; ULONG Attributes; SAMPR_RETURNED_STRING Group; SAMPR_RETURNED_STRING Comment; } SAMPR_DOMAIN_DISPLAY_GROUP; typedef struct _SAMPR_DOMAIN_DISPLAY_GROUP *PSAMPR_DOMAIN_DISPLAY_GROUP; typedef struct _SAMPR_DOMAIN_DISPLAY_OEM_USER { ULONG Index; SAMPR_RETURNED_NORMAL_STRING OemUser; } SAMPR_DOMAIN_DISPLAY_OEM_USER; typedef struct _SAMPR_DOMAIN_DISPLAY_OEM_USER *PSAMPR_DOMAIN_DISPLAY_OEM_USER; typedef struct _SAMPR_DOMAIN_DISPLAY_OEM_GROUP { ULONG Index; SAMPR_RETURNED_NORMAL_STRING OemGroup; } SAMPR_DOMAIN_DISPLAY_OEM_GROUP; typedef struct _SAMPR_DOMAIN_DISPLAY_OEM_GROUP *PSAMPR_DOMAIN_DISPLAY_OEM_GROUP; typedef struct _SAMPR_DOMAIN_DISPLAY_USER_BUFFER { ULONG EntriesRead; /* [size_is] */ PSAMPR_DOMAIN_DISPLAY_USER Buffer; } SAMPR_DOMAIN_DISPLAY_USER_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_USER_BUFFER *PSAMPR_DOMAIN_DISPLAY_USER_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER { ULONG EntriesRead; /* [size_is] */ PSAMPR_DOMAIN_DISPLAY_MACHINE Buffer; } SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER *PSAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_GROUP_BUFFER { ULONG EntriesRead; /* [size_is] */ PSAMPR_DOMAIN_DISPLAY_GROUP Buffer; } SAMPR_DOMAIN_DISPLAY_GROUP_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_GROUP_BUFFER *PSAMPR_DOMAIN_DISPLAY_GROUP_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER { ULONG EntriesRead; /* [size_is] */ PSAMPR_DOMAIN_DISPLAY_OEM_USER Buffer; } SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER *PSAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER { ULONG EntriesRead; /* [size_is] */ PSAMPR_DOMAIN_DISPLAY_OEM_GROUP Buffer; } SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER; typedef struct _SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER *PSAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER; typedef /* [switch_type] */ union _SAMPR_DISPLAY_INFO_BUFFER { /* [case()] */ SAMPR_DOMAIN_DISPLAY_USER_BUFFER UserInformation; /* [case()] */ SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER MachineInformation; /* [case()] */ SAMPR_DOMAIN_DISPLAY_GROUP_BUFFER GroupInformation; /* [case()] */ SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER OemUserInformation; /* [case()] */ SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER OemGroupInformation; } SAMPR_DISPLAY_INFO_BUFFER; typedef /* [switch_type] */ union _SAMPR_DISPLAY_INFO_BUFFER *PSAMPR_DISPLAY_INFO_BUFFER; NTSTATUS SamrConnect( /* [unique][in] */ PSAMPR_SERVER_NAME ServerName, /* [out] */ SAMPR_HANDLE *ServerHandle, /* [in] */ ACCESS_MASK DesiredAccess); NTSTATUS SamrCloseHandle( /* [out][in] */ SAMPR_HANDLE *SamHandle); NTSTATUS SamrSetSecurityObject( /* [in] */ SAMPR_HANDLE ObjectHandle, /* [in] */ SECURITY_INFORMATION SecurityInformation, /* [in] */ PSAMPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor); NTSTATUS SamrQuerySecurityObject( /* [in] */ SAMPR_HANDLE ObjectHandle, /* [in] */ SECURITY_INFORMATION SecurityInformation, /* [out] */ PSAMPR_SR_SECURITY_DESCRIPTOR *SecurityDescriptor); NTSTATUS SamrShutdownSamServer( /* [in] */ SAMPR_HANDLE ServerHandle); NTSTATUS SamrLookupDomainInSamServer( /* [in] */ SAMPR_HANDLE ServerHandle, /* [in] */ PRPC_UNICODE_STRING Name, /* [out] */ PRPC_SID *DomainId); NTSTATUS SamrEnumerateDomainsInSamServer( /* [in] */ SAMPR_HANDLE ServerHandle, /* [out][in] */ PSAM_ENUMERATE_HANDLE EnumerationContext, /* [out] */ PSAMPR_ENUMERATION_BUFFER *Buffer, /* [in] */ ULONG PreferedMaximumLength, /* [out] */ PULONG CountReturned); NTSTATUS SamrOpenDomain( /* [in] */ SAMPR_HANDLE ServerHandle, /* [in] */ ACCESS_MASK DesiredAccess, /* [in] */ PRPC_SID DomainId, /* [out] */ SAMPR_HANDLE *DomainHandle); NTSTATUS SamrQueryInformationDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ DOMAIN_INFORMATION_CLASS DomainInformationClass, /* [switch_is][out] */ PSAMPR_DOMAIN_INFO_BUFFER *Buffer); NTSTATUS SamrSetInformationDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ DOMAIN_INFORMATION_CLASS DomainInformationClass, /* [switch_is][in] */ PSAMPR_DOMAIN_INFO_BUFFER DomainInformation); NTSTATUS SamrCreateGroupInDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ PRPC_UNICODE_STRING Name, /* [in] */ ACCESS_MASK DesiredAccess, /* [out] */ SAMPR_HANDLE *GroupHandle, /* [out] */ PULONG RelativeId); NTSTATUS SamrEnumerateGroupsInDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [out][in] */ PSAM_ENUMERATE_HANDLE EnumerationContext, /* [out] */ PSAMPR_ENUMERATION_BUFFER *Buffer, /* [in] */ ULONG PreferedMaximumLength, /* [out] */ PULONG CountReturned); NTSTATUS SamrCreateUserInDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ PRPC_UNICODE_STRING Name, /* [in] */ ACCESS_MASK DesiredAccess, /* [out] */ SAMPR_HANDLE *UserHandle, /* [out] */ PULONG RelativeId); NTSTATUS SamrEnumerateUsersInDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [out][in] */ PSAM_ENUMERATE_HANDLE EnumerationContext, /* [in] */ ULONG UserAccountControl, /* [out] */ PSAMPR_ENUMERATION_BUFFER *Buffer, /* [in] */ ULONG PreferedMaximumLength, /* [out] */ PULONG CountReturned); NTSTATUS SamrCreateAliasInDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ PRPC_UNICODE_STRING AccountName, /* [in] */ ACCESS_MASK DesiredAccess, /* [out] */ SAMPR_HANDLE *AliasHandle, /* [out] */ PULONG RelativeId); NTSTATUS SamrEnumerateAliasesInDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [out][in] */ PSAM_ENUMERATE_HANDLE EnumerationContext, /* [out] */ PSAMPR_ENUMERATION_BUFFER *Buffer, /* [in] */ ULONG PreferedMaximumLength, /* [out] */ PULONG CountReturned); NTSTATUS SamrGetAliasMembership( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ PSAMPR_PSID_ARRAY SidArray, /* [out] */ PSAMPR_ULONG_ARRAY Membership); NTSTATUS SamrLookupNamesInDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [range][in] */ ULONG Count, /* [length_is][size_is][in] */ RPC_UNICODE_STRING Names[ ], /* [out] */ PSAMPR_ULONG_ARRAY RelativeIds, /* [out] */ PSAMPR_ULONG_ARRAY Use); NTSTATUS SamrLookupIdsInDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [range][in] */ ULONG Count, /* [length_is][size_is][in] */ PULONG RelativeIds, /* [out] */ PSAMPR_RETURNED_USTRING_ARRAY Names, /* [out] */ PSAMPR_ULONG_ARRAY Use); NTSTATUS SamrOpenGroup( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ ACCESS_MASK DesiredAccess, /* [in] */ ULONG GroupId, /* [out] */ SAMPR_HANDLE *GroupHandle); NTSTATUS SamrQueryInformationGroup( /* [in] */ SAMPR_HANDLE GroupHandle, /* [in] */ GROUP_INFORMATION_CLASS GroupInformationClass, /* [switch_is][out] */ PSAMPR_GROUP_INFO_BUFFER *Buffer); NTSTATUS SamrSetInformationGroup( /* [in] */ SAMPR_HANDLE GroupHandle, /* [in] */ GROUP_INFORMATION_CLASS GroupInformationClass, /* [switch_is][in] */ PSAMPR_GROUP_INFO_BUFFER Buffer); NTSTATUS SamrAddMemberToGroup( /* [in] */ SAMPR_HANDLE GroupHandle, /* [in] */ ULONG MemberId, /* [in] */ ULONG Attributes); NTSTATUS SamrDeleteGroup( /* [out][in] */ SAMPR_HANDLE *GroupHandle); NTSTATUS SamrRemoveMemberFromGroup( /* [in] */ SAMPR_HANDLE GroupHandle, /* [in] */ ULONG MemberId); NTSTATUS SamrGetMembersInGroup( /* [in] */ SAMPR_HANDLE GroupHandle, /* [out] */ PSAMPR_GET_MEMBERS_BUFFER *Members); NTSTATUS SamrSetMemberAttributesOfGroup( /* [in] */ SAMPR_HANDLE GroupHandle, /* [in] */ ULONG MemberId, /* [in] */ ULONG Attributes); NTSTATUS SamrOpenAlias( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ ACCESS_MASK DesiredAccess, /* [in] */ ULONG AliasId, /* [out] */ SAMPR_HANDLE *AliasHandle); NTSTATUS SamrQueryInformationAlias( /* [in] */ SAMPR_HANDLE AliasHandle, /* [in] */ ALIAS_INFORMATION_CLASS AliasInformationClass, /* [switch_is][out] */ PSAMPR_ALIAS_INFO_BUFFER *Buffer); NTSTATUS SamrSetInformationAlias( /* [in] */ SAMPR_HANDLE AliasHandle, /* [in] */ ALIAS_INFORMATION_CLASS AliasInformationClass, /* [switch_is][in] */ PSAMPR_ALIAS_INFO_BUFFER Buffer); NTSTATUS SamrDeleteAlias( /* [out][in] */ SAMPR_HANDLE *AliasHandle); NTSTATUS SamrAddMemberToAlias( /* [in] */ SAMPR_HANDLE AliasHandle, /* [in] */ PRPC_SID MemberId); NTSTATUS SamrRemoveMemberFromAlias( /* [in] */ SAMPR_HANDLE AliasHandle, /* [in] */ PRPC_SID MemberId); NTSTATUS SamrGetMembersInAlias( /* [in] */ SAMPR_HANDLE AliasHandle, /* [out] */ PSAMPR_PSID_ARRAY_OUT Members); NTSTATUS SamrOpenUser( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ ACCESS_MASK DesiredAccess, /* [in] */ ULONG UserId, /* [out] */ SAMPR_HANDLE *UserHandle); NTSTATUS SamrDeleteUser( /* [out][in] */ SAMPR_HANDLE *UserHandle); NTSTATUS SamrQueryInformationUser( /* [in] */ SAMPR_HANDLE UserHandle, /* [in] */ USER_INFORMATION_CLASS UserInformationClass, /* [switch_is][out] */ PSAMPR_USER_INFO_BUFFER *Buffer); NTSTATUS SamrSetInformationUser( /* [in] */ SAMPR_HANDLE UserHandle, /* [in] */ USER_INFORMATION_CLASS UserInformationClass, /* [switch_is][in] */ PSAMPR_USER_INFO_BUFFER Buffer); NTSTATUS SamrChangePasswordUser( /* [in] */ SAMPR_HANDLE UserHandle, /* [in] */ BOOLEAN LmPresent, /* [unique][in] */ PENCRYPTED_LM_OWF_PASSWORD LmOldEncryptedWithLmNew, /* [unique][in] */ PENCRYPTED_LM_OWF_PASSWORD LmNewEncryptedWithLmOld, /* [in] */ BOOLEAN NtPresent, /* [unique][in] */ PENCRYPTED_NT_OWF_PASSWORD NtOldEncryptedWithNtNew, /* [unique][in] */ PENCRYPTED_NT_OWF_PASSWORD NtNewEncryptedWithNtOld, /* [in] */ BOOLEAN NtCrossEncryptionPresent, /* [unique][in] */ PENCRYPTED_NT_OWF_PASSWORD NtNewEncryptedWithLmNew, /* [in] */ BOOLEAN LmCrossEncryptionPresent, /* [unique][in] */ PENCRYPTED_LM_OWF_PASSWORD LmNtNewEncryptedWithNtNew); NTSTATUS SamrGetGroupsForUser( /* [in] */ SAMPR_HANDLE UserHandle, /* [out] */ PSAMPR_GET_GROUPS_BUFFER *Groups); NTSTATUS SamrQueryDisplayInformation( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ DOMAIN_DISPLAY_INFORMATION DisplayInformationClass, /* [in] */ ULONG Index, /* [in] */ ULONG EntryCount, /* [in] */ ULONG PreferredMaximumLength, /* [out] */ PULONG TotalAvailable, /* [out] */ PULONG TotalReturned, /* [switch_is][out] */ PSAMPR_DISPLAY_INFO_BUFFER Buffer); NTSTATUS SamrGetDisplayEnumerationIndex( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ DOMAIN_DISPLAY_INFORMATION DisplayInformationClass, /* [in] */ PRPC_UNICODE_STRING Prefix, /* [out] */ PULONG Index); NTSTATUS SamrTestPrivateFunctionsDomain( /* [in] */ SAMPR_HANDLE DomainHandle); NTSTATUS SamrTestPrivateFunctionsUser( /* [in] */ SAMPR_HANDLE UserHandle); NTSTATUS SamrGetUserDomainPasswordInformation( /* [in] */ SAMPR_HANDLE UserHandle, /* [out] */ PUSER_DOMAIN_PASSWORD_INFORMATION PasswordInformation); NTSTATUS SamrRemoveMemberFromForeignDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ PRPC_SID MemberSid); NTSTATUS SamrQueryInformationDomain2( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ DOMAIN_INFORMATION_CLASS DomainInformationClass, /* [switch_is][out] */ PSAMPR_DOMAIN_INFO_BUFFER *Buffer); NTSTATUS SamrQueryInformationUser2( /* [in] */ SAMPR_HANDLE UserHandle, /* [in] */ USER_INFORMATION_CLASS UserInformationClass, /* [switch_is][out] */ PSAMPR_USER_INFO_BUFFER *Buffer); NTSTATUS SamrQueryDisplayInformation2( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ DOMAIN_DISPLAY_INFORMATION DisplayInformationClass, /* [in] */ ULONG Index, /* [in] */ ULONG EntryCount, /* [in] */ ULONG PreferredMaximumLength, /* [out] */ PULONG TotalAvailable, /* [out] */ PULONG TotalReturned, /* [switch_is][out] */ PSAMPR_DISPLAY_INFO_BUFFER Buffer); NTSTATUS SamrGetDisplayEnumerationIndex2( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ DOMAIN_DISPLAY_INFORMATION DisplayInformationClass, /* [in] */ PRPC_UNICODE_STRING Prefix, /* [out] */ PULONG Index); NTSTATUS SamrCreateUser2InDomain( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ PRPC_UNICODE_STRING Name, /* [in] */ ULONG AccountType, /* [in] */ ACCESS_MASK DesiredAccess, /* [out] */ SAMPR_HANDLE *UserHandle, /* [out] */ PULONG GrantedAccess, /* [out] */ PULONG RelativeId); NTSTATUS SamrQueryDisplayInformation3( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ DOMAIN_DISPLAY_INFORMATION DisplayInformationClass, /* [in] */ ULONG Index, /* [in] */ ULONG EntryCount, /* [in] */ ULONG PreferredMaximumLength, /* [out] */ PULONG TotalAvailable, /* [out] */ PULONG TotalReturned, /* [switch_is][out] */ PSAMPR_DISPLAY_INFO_BUFFER Buffer); NTSTATUS SamrAddMultipleMembersToAlias( /* [in] */ SAMPR_HANDLE AliasHandle, /* [in] */ PSAMPR_PSID_ARRAY MembersBuffer); NTSTATUS SamrRemoveMultipleMembersFromAlias( /* [in] */ SAMPR_HANDLE AliasHandle, /* [in] */ PSAMPR_PSID_ARRAY MembersBuffer); NTSTATUS SamrOemChangePasswordUser2( /* [in] */ handle_t BindingHandle, /* [unique][in] */ PRPC_STRING ServerName, /* [in] */ PRPC_STRING UserName, /* [unique][in] */ PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldLm, /* [unique][in] */ PENCRYPTED_LM_OWF_PASSWORD OldLmOwfPassswordEncryptedWithNewLm); NTSTATUS SamrUnicodeChangePasswordUser2( /* [in] */ handle_t BindingHandle, /* [unique][in] */ PRPC_UNICODE_STRING ServerName, /* [in] */ PRPC_UNICODE_STRING UserName, /* [unique][in] */ PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldNt, /* [unique][in] */ PENCRYPTED_NT_OWF_PASSWORD OldNtOwfPasswordEncryptedWithNewNt, /* [in] */ BOOLEAN LmPresent, /* [unique][in] */ PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldLm, /* [unique][in] */ PENCRYPTED_LM_OWF_PASSWORD OldLmOwfPassswordEncryptedWithNewLmOrNt); NTSTATUS SamrGetDomainPasswordInformation( /* [in] */ handle_t BindingHandle, /* [unique][in] */ PRPC_UNICODE_STRING ServerName, /* [out] */ PUSER_DOMAIN_PASSWORD_INFORMATION PasswordInformation); NTSTATUS SamrConnect2( /* [string][unique][in] */ PSAMPR_SERVER_NAME ServerName, /* [out] */ SAMPR_HANDLE *ServerHandle, /* [in] */ ACCESS_MASK DesiredAccess); NTSTATUS SamrSetInformationUser2( /* [in] */ SAMPR_HANDLE UserHandle, /* [in] */ USER_INFORMATION_CLASS UserInformationClass, /* [switch_is][in] */ PSAMPR_USER_INFO_BUFFER Buffer); NTSTATUS SamrSetBootKeyInformation( /* [in] */ SAMPR_HANDLE DomainHandle, /* [in] */ SAMPR_BOOT_TYPE BootOptions, /* [unique][in] */ PRPC_UNICODE_STRING OldBootKey, /* [unique][in] */ PRPC_UNICODE_STRING NewBootKey); NTSTATUS SamrGetBootKeyInformation( /* [in] */ SAMPR_HANDLE DomainHandle, /* [out] */ PSAMPR_BOOT_TYPE BootOptions); NTSTATUS SamrConnect3( /* [string][unique][in] */ PSAMPR_SERVER_NAME ServerName, /* [out] */ SAMPR_HANDLE *ServerHandle, /* [in] */ ULONG ClientRevision, /* [in] */ ACCESS_MASK DesiredAccess); NTSTATUS SamrConnect4( /* [string][unique][in] */ PSAMPR_SERVER_NAME ServerName, /* [out] */ SAMPR_HANDLE *ServerHandle, /* [in] */ ULONG ClientRevision, /* [in] */ ACCESS_MASK DesiredAccess); NTSTATUS SamrUnicodeChangePasswordUser3( /* [in] */ handle_t BindingHandle, /* [unique][in] */ PRPC_UNICODE_STRING ServerName, /* [in] */ PRPC_UNICODE_STRING UserName, /* [unique][in] */ PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldNt, /* [unique][in] */ PENCRYPTED_NT_OWF_PASSWORD OldNtOwfPasswordEncryptedWithNewNt, /* [in] */ BOOLEAN LmPresent, /* [unique][in] */ PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldLm, /* [unique][in] */ PENCRYPTED_LM_OWF_PASSWORD OldLmOwfPassswordEncryptedWithNewLmOrNt, /* [unique][in] */ PSAMPR_ENCRYPTED_USER_PASSWORD AdditionalData, /* [out] */ PDOMAIN_PASSWORD_INFORMATION *EffectivePasswordPolicy, /* [out] */ PUSER_PWD_CHANGE_FAILURE_INFORMATION *PasswordChangeInfo); NTSTATUS SamrConnect5( /* [string][unique][in] */ PSAMPR_SERVER_NAME ServerName, /* [in] */ ACCESS_MASK DesiredAccess, /* [in] */ ULONG InVersion, /* [switch_is][in] */ SAMPR_REVISION_INFO *InRevisionInfo, /* [out] */ ULONG *OutVersion, /* [switch_is][out] */ SAMPR_REVISION_INFO *OutRevisionInfo, /* [out] */ SAMPR_HANDLE *ServerHandle); NTSTATUS SamrRidToSid( /* [in] */ SAMPR_HANDLE ObjectHandle, /* [in] */ ULONG Rid, /* [out] */ PRPC_SID *Sid); NTSTATUS SamrSetDSRMPassword( /* [in] */ handle_t BindingHandle, /* [unique][in] */ PRPC_UNICODE_STRING ServerName, /* [in] */ ULONG UserId, /* [unique][in] */ PENCRYPTED_NT_OWF_PASSWORD EncryptedNtOwfPassword); NTSTATUS SamrValidatePassword( /* [in] */ handle_t Handle, /* [in] */ PASSWORD_POLICY_VALIDATION_TYPE ValidationType, /* [switch_is][in] */ PSAM_VALIDATE_INPUT_ARG InputArg, /* [switch_is][out] */ PSAM_VALIDATE_OUTPUT_ARG *OutputArg); extern handle_t samsrv_handle; extern RPC_IF_HANDLE samr_ClientIfHandle; extern RPC_IF_HANDLE samr_ServerIfHandle; #endif /* __samr_INTERFACE_DEFINED__ */ /* Additional Prototypes for ALL interfaces */ handle_t __RPC_USER PSAMPR_SERVER_NAME_bind ( PSAMPR_SERVER_NAME ); void __RPC_USER PSAMPR_SERVER_NAME_unbind( PSAMPR_SERVER_NAME, handle_t ); void __RPC_USER SAMPR_HANDLE_rundown( SAMPR_HANDLE ); /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif