78 TRACE(
"PSAMPR_SERVER_NAME_bind(%S)\n", pszSystemName);
81 if (pszSystemName !=
NULL)
86 if (
nLength >= 1 && pszSystemName[0] ==
L'\\')
89 if (
nLength >= 2 && pszSystemName[1] ==
L'\\')
92 if (((
nLength - nNameLength != 0) &&
93 (
nLength - nNameLength != 2)) ||
96 WARN(
"Invalid server name %S\n", pszSystemName);
109 TRACE(
"RpcStringBindingCompose returned 0x%x\n",
status);
118 TRACE(
"RpcBindingFromStringBinding returned 0x%x\n",
status);
137 TRACE(
"PSAMPR_SERVER_NAME_unbind(%S)\n", pszSystemName);
153 ULONG PasswordLength;
155 ULONG Upper = 0, Lower = 0, Digit = 0, Punct = 0, Alpha = 0;
165 TRACE(
"SamrGetUserDomainPasswordInformation failed (Status 0x%08lx)\n",
Status);
173 (PasswordLength > 256))
180 if (CharTypeBuffer ==
NULL)
188 for (
i = 0;
i < PasswordLength;
i++)
191 (CharTypeBuffer[
i] &
C1_UPPER) ?
"C1_UPPER" :
" ",
192 (CharTypeBuffer[
i] &
C1_LOWER) ?
"C1_LOWER" :
" ",
193 (CharTypeBuffer[
i] &
C1_DIGIT) ?
"C1_DIGIT" :
" ",
194 (CharTypeBuffer[
i] &
C1_PUNCT) ?
"C1_PUNCT" :
" ",
195 (CharTypeBuffer[
i] &
C1_ALPHA) ?
"C1_ALPHA" :
" ");
215 TRACE(
"Upper: %lu\n", Upper);
216 TRACE(
"Lower: %lu\n", Lower);
217 TRACE(
"Digit: %lu\n", Digit);
218 TRACE(
"Punct: %lu\n", Punct);
219 TRACE(
"Alpha: %lu\n", Alpha);
221 TRACE(
"Total: %lu\n", Upper + Lower + Digit + Punct + Alpha);
222 if (Upper + Lower + Digit + Punct + Alpha < 3)
226 if (CharTypeBuffer !=
NULL)
240 TRACE(
"SamAddMemberToAlias(%p %p)\n",
241 AliasHandle, MemberId);
266 TRACE(
"SamAddMemberToGroup(%p %lu %lx)\n",
294 TRACE(
"SamAddMultipleMembersToAlias(%p %p %lu)\n",
295 AliasHandle, MemberIds, MemberCount);
297 if (MemberIds ==
NULL)
300 Buffer.Count = MemberCount;
329 CHAR LmPwdBuffer[15];
346 TRACE(
"SystemFunction007 failed (Status 0x%08lx)\n",
Status);
355 TRACE(
"SystemFunction007 failed (Status 0x%08lx)\n",
Status);
360 LmPwdString.Length = 15;
361 LmPwdString.MaximumLength = 15;
362 LmPwdString.Buffer = LmPwdBuffer;
363 ZeroMemory(LmPwdString.Buffer, LmPwdString.MaximumLength);
372 (
LPSTR)&OldLmPassword);
375 OldLmPasswordPresent =
TRUE;
380 LmPwdString.Length = 15;
381 LmPwdString.MaximumLength = 15;
382 LmPwdString.Buffer = LmPwdBuffer;
383 ZeroMemory(LmPwdString.Buffer, LmPwdString.MaximumLength);
392 (
LPSTR)&NewLmPassword);
395 NewLmPasswordPresent =
TRUE;
399 if (OldLmPasswordPresent && NewLmPasswordPresent)
403 (
const BYTE *)&NewLmPassword,
404 (
LPBYTE)&OldLmEncryptedWithNewLm);
407 TRACE(
"SystemFunction012 failed (Status 0x%08lx)\n",
Status);
413 (
const BYTE *)&OldLmPassword,
414 (
LPBYTE)&NewLmEncryptedWithOldLm);
417 TRACE(
"SystemFunction012 failed (Status 0x%08lx)\n",
Status);
421 pOldLmEncryptedWithNewLm = &OldLmEncryptedWithNewLm;
422 pNewLmEncryptedWithOldLm = &NewLmEncryptedWithOldLm;
427 (
const BYTE *)&NewNtPassword,
428 (
LPBYTE)&OldNtEncryptedWithNewNt);
431 TRACE(
"SystemFunction012 failed (Status 0x%08lx)\n",
Status);
437 (
const BYTE *)&OldNtPassword,
438 (
LPBYTE)&NewNtEncryptedWithOldNt);
441 TRACE(
"SystemFunction012 failed (Status 0x%08lx)\n",
Status);
448 OldLmPasswordPresent && NewLmPasswordPresent,
449 pOldLmEncryptedWithNewLm,
450 pNewLmEncryptedWithOldLm,
452 &OldNtEncryptedWithNewNt,
453 &NewNtEncryptedWithOldNt,
507 TRACE(
"SamCloseHandle(%p)\n", SamHandle);
533 TRACE(
"SamConnect(%p %p 0x%08x %p)\n",
536 if (ServerName !=
NULL && ServerName->Length > 0 && ServerName->Buffer !=
NULL)
540 if (pServerName ==
NULL)
543 CopyMemory(pServerName, ServerName->Buffer, ServerName->Length);
576 TRACE(
"SamCreateAliasInDomain(%p %p 0x%08x %p %p)\n",
577 DomainHandle, AccountName,
DesiredAccess, AliasHandle, RelativeId);
610 TRACE(
"SamCreateGroupInDomain(%p %p 0x%08x %p %p)\n",
611 DomainHandle, AccountName,
DesiredAccess, GroupHandle, RelativeId);
646 TRACE(
"SamCreateUser2InDomain(%p %p %lu 0x%08x %p %p %p)\n",
684 TRACE(
"SamCreateUserInDomain(%p %p 0x%08x %p %p)\n",
685 DomainHandle, AccountName,
DesiredAccess, UserHandle, RelativeId);
715 TRACE(
"SamDeleteAlias(%p)\n", AliasHandle);
719 if (LocalAliasHandle ==
NULL)
743 TRACE(
"SamDeleteGroup(%p)\n", GroupHandle);
747 if (LocalGroupHandle ==
NULL)
771 TRACE(
"SamDeleteUser(%p)\n", UserHandle);
775 if (LocalUserHandle ==
NULL)
797 IN ULONG PreferedMaximumLength,
803 TRACE(
"SamEnumerateAliasesInDomain(%p %p %p %lu %p)\n",
804 DomainHandle, EnumerationContext,
Buffer, PreferedMaximumLength,
807 if ((EnumerationContext ==
NULL) ||
809 (CountReturned ==
NULL))
819 PreferedMaximumLength,
822 if (EnumBuffer !=
NULL)
847 IN ULONG PreferedMaximumLength,
853 TRACE(
"SamEnumerateDomainsInSamServer(%p %p %p %lu %p)\n",
854 ServerHandle, EnumerationContext,
Buffer, PreferedMaximumLength,
857 if ((EnumerationContext ==
NULL) ||
859 (CountReturned ==
NULL))
869 PreferedMaximumLength,
872 if (EnumBuffer !=
NULL)
897 IN ULONG PreferedMaximumLength,
903 TRACE(
"SamEnumerateGroupsInDomain(%p %p %p %lu %p)\n",
904 DomainHandle, EnumerationContext,
Buffer,
905 PreferedMaximumLength, CountReturned);
917 PreferedMaximumLength,
919 if (EnumBuffer !=
NULL)
943 IN ULONG PreferedMaximumLength,
949 TRACE(
"SamEnumerateUsersInDomain(%p %p %lx %p %lu %p)\n",
950 DomainHandle, EnumerationContext, UserAccountControl,
Buffer,
951 PreferedMaximumLength, CountReturned);
964 PreferedMaximumLength,
966 if (EnumBuffer !=
NULL)
1010 TRACE(
"SamAliasMembership(%p %lu %p %p %p)\n",
1011 DomainHandle, PassedCount, Sids, MembershipCount, Aliases);
1014 MembershipCount ==
NULL ||
1022 SidArray.
Count = PassedCount;
1030 *MembershipCount = Membership.
Count;
1031 *Aliases = Membership.
Element;
1054 TRACE(
"SamGetCompatibilityMode(%p %p)\n", ObjectHandle,
Mode);
1074 TRACE(
"SamGetDisplayEnumerationIndex(%p %lu %wZ %p)\n",
1107 TRACE(
"SamGetGroupsForUser(%p %p %p)\n",
1108 UserHandle, Groups, MembershipCount);
1116 *Groups = GroupsBuffer->
Groups;
1123 if (GroupsBuffer !=
NULL)
1151 TRACE(
"SamGetMembersInAlias(%p %p %p)\n",
1152 AliasHandle, MemberIds, MemberCount);
1154 if ((MemberIds ==
NULL) ||
1155 (MemberCount ==
NULL))
1169 *MemberCount = SidArray.
Count;
1170 *MemberIds = (
PSID *)SidArray.
Sids;
1194 TRACE(
"SamGetMembersInGroup(%p %p %p %p)\n",
1195 GroupHandle, MemberIds,
Attributes, MemberCount);
1203 *MemberIds = MembersBuffer->
Members;
1211 if (MembersBuffer !=
NULL)
1241 TRACE(
"SamLookupDomainInSamServer(%p %p %p)\n",
1242 ServerHandle,
Name, DomainId);
1273 TRACE(
"SamLookupIdsInDomain(%p %lu %p %p %p)\n",
1274 DomainHandle,
Count, RelativeIds,
Names, Use);
1359 for (
i = 0;
i < NamesBuffer.
Count;
i++)
1387 TRACE(
"SamLookupNamesInDomain(%p %lu %p %p %p)\n",
1388 DomainHandle,
Count,
Names, RelativeIds, Use);
1390 *RelativeIds =
NULL;
1410 if (*RelativeIds ==
NULL)
1435 if (*RelativeIds !=
NULL)
1461 TRACE(
"SamOpenAlias(%p 0x%08x %lx %p)\n",
1490 TRACE(
"SamOpenDomain(%p 0x%08x %p %p)\n",
1519 TRACE(
"SamOpenGroup(%p 0x%08x %p %p)\n",
1548 TRACE(
"SamOpenUser(%p 0x%08x %lx %p)\n",
1574 IN ULONG PreferredMaximumLength,
1583 TRACE(
"SamQueryDisplayInformation(%p %lu %lu %lu %lu %p %p %p %p)\n",
1584 DomainHandle, DisplayInformation,
Index, EntryCount,
1585 PreferredMaximumLength, TotalAvailable, TotalReturned,
1586 ReturnedEntryCount, SortedBuffer);
1588 if ((TotalAvailable ==
NULL) ||
1589 (TotalReturned ==
NULL) ||
1590 (ReturnedEntryCount ==
NULL) ||
1591 (SortedBuffer ==
NULL))
1600 PreferredMaximumLength,
1606 switch (DisplayInformation)
1640 *ReturnedEntryCount = 0;
1641 *SortedBuffer =
NULL;
1662 TRACE(
"SamQueryInformationAlias(%p %lu %p)\n",
1663 AliasHandle, AliasInformationClass,
Buffer);
1668 AliasInformationClass,
1689 TRACE(
"SamQueryInformationDomain(%p %lu %p)\n",
1690 DomainHandle, DomainInformationClass,
Buffer);
1695 DomainInformationClass,
1716 TRACE(
"SamQueryInformationGroup(%p %lu %p)\n",
1717 GroupHandle, GroupInformationClass,
Buffer);
1722 GroupInformationClass,
1743 TRACE(
"SamQueryInformationUser(%p %lu %p)\n",
1744 UserHandle, UserInformationClass,
Buffer);
1749 UserInformationClass,
1771 TRACE(
"SamQuerySecurityObject(%p %lu %p)\n",
1780 &SamSecurityDescriptor);
1788 TRACE(
"SamSecurityDescriptor: %p\n", SamSecurityDescriptor);
1790 if (SamSecurityDescriptor !=
NULL)
1792 TRACE(
"SamSecurityDescriptor->Length: %lu\n", SamSecurityDescriptor->
Length);
1811 TRACE(
"SamRemoveMemberFromAlias(%p %ul)\n",
1812 AliasHandle, MemberId);
1836 TRACE(
"SamRemoveMemberFromForeignDomain(%p %ul)\n",
1837 DomainHandle, MemberId);
1861 TRACE(
"SamRemoveMemberFromGroup(%p %ul)\n",
1862 GroupHandle, MemberId);
1888 TRACE(
"SamRemoveMultipleMembersFromAlias(%p %p %lu)\n",
1889 AliasHandle, MemberIds, MemberCount);
1891 if (MemberIds ==
NULL)
1894 Buffer.Count = MemberCount;
1931 TRACE(
"SamSetInformationAlias(%p %lu %p)\n",
1932 AliasHandle, AliasInformationClass,
Buffer);
1937 AliasInformationClass,
1958 TRACE(
"SamSetInformationDomain(%p %lu %p)\n",
1959 DomainHandle, DomainInformationClass,
Buffer);
1964 DomainInformationClass,
1985 TRACE(
"SamSetInformationGroup(%p %lu %p)\n",
1986 GroupHandle, GroupInformationClass,
Buffer);
1991 GroupInformationClass,
2014 CHAR LmPwdBuffer[15];
2017 TRACE(
"SamSetInformationUser(%p %lu %p)\n",
2018 UserHandle, UserInformationClass,
Buffer);
2028 TRACE(
"SampCheckPassword failed (Status 0x%08lx)\n",
Status);
2037 TRACE(
"SystemFunction007 failed (Status 0x%08lx)\n",
Status);
2045 LmPwdString.Length = 15;
2046 LmPwdString.MaximumLength = 15;
2047 LmPwdString.Buffer = LmPwdBuffer;
2048 ZeroMemory(LmPwdString.Buffer, LmPwdString.MaximumLength);
2068 (
PVOID)&Internal1Buffer);
2078 TRACE(
"SamrSetInformation() failed (Status 0x%08lx)\n",
Status);
2115 TRACE(
"Do not try to set a clear text LM password!\n");
2125 TRACE(
"SampCheckPassword failed (Status 0x%08lx)\n",
Status);
2134 TRACE(
"SystemFunction007 failed (Status 0x%08lx)\n",
Status);
2146 LmPwdString.Length = 15;
2147 LmPwdString.MaximumLength = 15;
2148 LmPwdString.Buffer = LmPwdBuffer;
2149 ZeroMemory(LmPwdString.Buffer, LmPwdString.MaximumLength);
2177 (
PVOID)&InternalAllBuffer);
2187 TRACE(
"SamrSetInformation() failed (Status 0x%08lx)\n",
Status);
2196 UserInformationClass,
2217 TRACE(
"SamSetMemberAttributesOfGroup(%p %lu 0x%lx)\n",
2246 TRACE(
"SamSetSecurityObject(%p %lu %p)\n",
2297 TRACE(
"SamShutdownSamServer(%p)\n", ServerHandle);
2318 TRACE(
"SamTestPrivateFunctionsDomain(%p)\n",
2329 TRACE(
"SamTestPrivateFunctionsUser(%p)\n",
NTSTATUS __stdcall SamrOpenDomain(SAMPR_HANDLE ServerHandle, ACCESS_MASK DesiredAccess, PRPC_SID DomainId, SAMPR_HANDLE *DomainHandle)
struct _SAMPR_SID_INFORMATION * PSAMPR_SID_INFORMATION
NTSTATUS __stdcall SamrCloseHandle(SAMPR_HANDLE *SamHandle)
NTSTATUS __stdcall SamrGetAliasMembership(SAMPR_HANDLE DomainHandle, PSAMPR_PSID_ARRAY SidArray, PSAMPR_ULONG_ARRAY Membership)
wchar_t * PSAMPR_SERVER_NAME
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define STATUS_INVALID_HANDLE
#define STATUS_NOT_IMPLEMENTED
void __RPC_USER MIDL_user_free(void __RPC_FAR *ptr)
void __RPC_FAR *__RPC_USER MIDL_user_allocate(SIZE_T len)
#define NT_SUCCESS(StatCode)
#define HeapFree(x, y, z)
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
NTSTATUS NTAPI SamrLookupIdsInDomain(IN SAMPR_HANDLE DomainHandle, IN ULONG Count, IN ULONG *RelativeIds, OUT PSAMPR_RETURNED_USTRING_ARRAY Names, OUT PSAMPR_ULONG_ARRAY Use)
NTSTATUS NTAPI SamrLookupNamesInDomain(IN SAMPR_HANDLE DomainHandle, IN ULONG Count, IN RPC_UNICODE_STRING Names[], OUT PSAMPR_ULONG_ARRAY RelativeIds, OUT PSAMPR_ULONG_ARRAY Use)
NTSTATUS NTAPI SamrConnect(IN PSAMPR_SERVER_NAME ServerName, OUT SAMPR_HANDLE *ServerHandle, IN ACCESS_MASK DesiredAccess)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define EXCEPTION_EXECUTE_HANDLER
enum _SID_NAME_USE SID_NAME_USE
enum _SID_NAME_USE * PSID_NAME_USE
DWORD SECURITY_INFORMATION
NTSTATUS NTAPI SamrSetInformationUser(IN SAMPR_HANDLE UserHandle, IN USER_INFORMATION_CLASS UserInformationClass, IN PSAMPR_USER_INFO_BUFFER Buffer)
NTSTATUS NTAPI SamrChangePasswordUser(IN SAMPR_HANDLE UserHandle, IN unsigned char LmPresent, IN PENCRYPTED_LM_OWF_PASSWORD OldLmEncryptedWithNewLm, IN PENCRYPTED_LM_OWF_PASSWORD NewLmEncryptedWithOldLm, IN unsigned char NtPresent, IN PENCRYPTED_NT_OWF_PASSWORD OldNtEncryptedWithNewNt, IN PENCRYPTED_NT_OWF_PASSWORD NewNtEncryptedWithOldNt, IN unsigned char NtCrossEncryptionPresent, IN PENCRYPTED_NT_OWF_PASSWORD NewNtEncryptedWithNewLm, IN unsigned char LmCrossEncryptionPresent, IN PENCRYPTED_LM_OWF_PASSWORD NewLmEncryptedWithNewNt)
NTSTATUS NTAPI SamrLookupDomainInSamServer(IN SAMPR_HANDLE ServerHandle, IN PRPC_UNICODE_STRING Name, OUT PRPC_SID *DomainId)
NTSTATUS NTAPI SamrOpenUser(IN SAMPR_HANDLE DomainHandle, IN ACCESS_MASK DesiredAccess, IN ULONG UserId, OUT SAMPR_HANDLE *UserHandle)
struct _ENCRYPTED_LM_OWF_PASSWORD ENCRYPTED_NT_OWF_PASSWORD
struct _ENCRYPTED_LM_OWF_PASSWORD ENCRYPTED_LM_OWF_PASSWORD
NTSTATUS NTAPI SamrQueryInformationUser(IN SAMPR_HANDLE UserHandle, IN USER_INFORMATION_CLASS UserInformationClass, OUT PSAMPR_USER_INFO_BUFFER *Buffer)
NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeStringToOemString(POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
NTSYSAPI NTSTATUS NTAPI RtlMakeSelfRelativeSD(_In_ PSECURITY_DESCRIPTOR AbsoluteSD, _Out_ PSECURITY_DESCRIPTOR SelfRelativeSD, _Inout_ PULONG BufferLength)
_In_ ULONG _In_ ULONG _In_ ULONG Length
@ DomainPasswordInformation
ULONG * PSAM_ENUMERATE_HANDLE
enum _GROUP_INFORMATION_CLASS GROUP_INFORMATION_CLASS
enum _DOMAIN_DISPLAY_INFORMATION DOMAIN_DISPLAY_INFORMATION
#define USER_ALL_OWFPASSWORD
#define USER_ALL_LMPASSWORDPRESENT
#define SAM_SID_COMPATIBILITY_ALL
@ UserInternal1Information
@ UserSetPasswordInformation
#define DOMAIN_PASSWORD_COMPLEX
#define USER_ALL_NTPASSWORDPRESENT
enum _DOMAIN_INFORMATION_CLASS DOMAIN_INFORMATION_CLASS
enum _ALIAS_INFORMATION_CLASS ALIAS_INFORMATION_CLASS
enum _USER_INFORMATION_CLASS USER_INFORMATION_CLASS
#define STATUS_PASSWORD_RESTRICTION
#define STATUS_INVALID_PARAMETER_2
RPC_STATUS WINAPI RpcBindingFromStringBindingW(RPC_WSTR StringBinding, RPC_BINDING_HANDLE *Binding)
RPC_STATUS WINAPI RpcStringBindingComposeW(RPC_WSTR ObjUuid, RPC_WSTR Protseq, RPC_WSTR NetworkAddr, RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR *StringBinding)
RPC_STATUS WINAPI RpcBindingFree(RPC_BINDING_HANDLE *Binding)
LONG WINAPI I_RpcMapWin32Status(RPC_STATUS status)
RPC_STATUS WINAPI RpcStringFreeW(RPC_WSTR *String)
void DECLSPEC_NORETURN WINAPI RpcRaiseException(RPC_STATUS exception)
struct _SAMPR_USER_SET_PASSWORD_INFORMATION * PSAMPR_USER_SET_PASSWORD_INFORMATION
NTSTATUS WINAPI SystemFunction012(const BYTE *in, const BYTE *key, LPBYTE out)
NTSTATUS NTAPI SamCreateUserInDomain(IN SAM_HANDLE DomainHandle, IN PUNICODE_STRING AccountName, IN ACCESS_MASK DesiredAccess, OUT PSAM_HANDLE UserHandle, OUT PULONG RelativeId)
NTSTATUS NTAPI SamAddMemberToAlias(IN SAM_HANDLE AliasHandle, IN PSID MemberId)
NTSTATUS NTAPI SamOpenGroup(IN SAM_HANDLE DomainHandle, IN ACCESS_MASK DesiredAccess, IN ULONG GroupId, OUT PSAM_HANDLE GroupHandle)
NTSTATUS NTAPI SamChangePasswordUser2(IN PUNICODE_STRING ServerName, IN PUNICODE_STRING UserName, IN PUNICODE_STRING OldPassword, IN PUNICODE_STRING NewPassword)
NTSTATUS NTAPI SamGetDisplayEnumerationIndex(IN SAM_HANDLE DomainHandle, IN DOMAIN_DISPLAY_INFORMATION DisplayInformation, IN PUNICODE_STRING Prefix, OUT PULONG Index)
NTSTATUS NTAPI SamQueryInformationUser(IN SAM_HANDLE UserHandle, IN USER_INFORMATION_CLASS UserInformationClass, OUT PVOID *Buffer)
NTSTATUS NTAPI SamQueryInformationGroup(IN SAM_HANDLE GroupHandle, IN GROUP_INFORMATION_CLASS GroupInformationClass, OUT PVOID *Buffer)
NTSTATUS NTAPI SamCreateUser2InDomain(IN SAM_HANDLE DomainHandle, IN PUNICODE_STRING AccountName, IN ULONG AccountType, IN ACCESS_MASK DesiredAccess, OUT PSAM_HANDLE UserHandle, OUT PULONG GrantedAccess, OUT PULONG RelativeId)
NTSTATUS NTAPI SamTestPrivateFunctionsDomain(_In_ SAM_HANDLE DomainHandle)
NTSTATUS NTAPI SamSetInformationGroup(IN SAM_HANDLE GroupHandle, IN GROUP_INFORMATION_CLASS GroupInformationClass, IN PVOID Buffer)
NTSTATUS NTAPI SamQueryInformationDomain(IN SAM_HANDLE DomainHandle, IN DOMAIN_INFORMATION_CLASS DomainInformationClass, OUT PVOID *Buffer)
NTSTATUS NTAPI SamSetInformationAlias(IN SAM_HANDLE AliasHandle, IN ALIAS_INFORMATION_CLASS AliasInformationClass, IN PVOID Buffer)
NTSTATUS NTAPI SamOpenAlias(IN SAM_HANDLE DomainHandle, IN ACCESS_MASK DesiredAccess, IN ULONG AliasId, OUT PSAM_HANDLE AliasHandle)
NTSTATUS NTAPI SamLookupIdsInDomain(IN SAM_HANDLE DomainHandle, IN ULONG Count, IN PULONG RelativeIds, OUT PUNICODE_STRING *Names, OUT PSID_NAME_USE *Use OPTIONAL)
NTSTATUS NTAPI SamGetMembersInGroup(IN SAM_HANDLE GroupHandle, OUT PULONG *MemberIds, OUT PULONG *Attributes, OUT PULONG MemberCount)
NTSTATUS NTAPI SamDeleteGroup(IN SAM_HANDLE GroupHandle)
NTSTATUS NTAPI SamAddMemberToGroup(IN SAM_HANDLE GroupHandle, IN ULONG MemberId, IN ULONG Attributes)
handle_t __RPC_USER PSAMPR_SERVER_NAME_bind(PSAMPR_SERVER_NAME pszSystemName)
NTSTATUS NTAPI SamLookupNamesInDomain(IN SAM_HANDLE DomainHandle, IN ULONG Count, IN PUNICODE_STRING Names, OUT PULONG *RelativeIds, OUT PSID_NAME_USE *Use)
NTSTATUS NTAPI SamOpenUser(IN SAM_HANDLE DomainHandle, IN ACCESS_MASK DesiredAccess, IN ULONG UserId, OUT PSAM_HANDLE UserHandle)
void __RPC_USER PSAMPR_SERVER_NAME_unbind(PSAMPR_SERVER_NAME pszSystemName, handle_t hBinding)
NTSTATUS NTAPI SamGetGroupsForUser(IN SAM_HANDLE UserHandle, OUT PGROUP_MEMBERSHIP *Groups, OUT PULONG MembershipCount)
NTSTATUS NTAPI SamRemoveMultipleMembersFromAlias(IN SAM_HANDLE AliasHandle, IN PSID *MemberIds, IN ULONG MemberCount)
NTSTATUS NTAPI SamChangePasswordUser3(IN PUNICODE_STRING ServerName, IN PUNICODE_STRING UserName, IN PUNICODE_STRING OldPassword, IN PUNICODE_STRING NewPassword, OUT PDOMAIN_PASSWORD_INFORMATION *EffectivePasswordPolicy, OUT PUSER_PWD_CHANGE_FAILURE_INFORMATION *PasswordChangeFailureInfo)
NTSTATUS NTAPI SamSetInformationUser(IN SAM_HANDLE UserHandle, IN USER_INFORMATION_CLASS UserInformationClass, IN PVOID Buffer)
NTSTATUS NTAPI SamEnumerateUsersInDomain(IN SAM_HANDLE DomainHandle, IN OUT PSAM_ENUMERATE_HANDLE EnumerationContext, IN ULONG UserAccountControl, OUT PVOID *Buffer, IN ULONG PreferedMaximumLength, OUT PULONG CountReturned)
NTSTATUS NTAPI SamDeleteAlias(IN SAM_HANDLE AliasHandle)
NTSTATUS NTAPI SamFreeMemory(IN PVOID Buffer)
NTSTATUS NTAPI SamSetMemberAttributesOfGroup(IN SAM_HANDLE GroupHandle, IN ULONG MemberId, IN ULONG Attributes)
NTSTATUS NTAPI SamCreateGroupInDomain(IN SAM_HANDLE DomainHandle, IN PUNICODE_STRING AccountName, IN ACCESS_MASK DesiredAccess, OUT PSAM_HANDLE GroupHandle, OUT PULONG RelativeId)
NTSTATUS NTAPI SamConnect(IN OUT PUNICODE_STRING ServerName OPTIONAL, OUT PSAM_HANDLE ServerHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
NTSTATUS NTAPI SamRemoveMemberFromForeignDomain(IN SAM_HANDLE DomainHandle, IN PSID MemberId)
NTSTATUS NTAPI SamCloseHandle(IN SAM_HANDLE SamHandle)
NTSTATUS NTAPI SamCreateAliasInDomain(IN SAM_HANDLE DomainHandle, IN PUNICODE_STRING AccountName, IN ACCESS_MASK DesiredAccess, OUT PSAM_HANDLE AliasHandle, OUT PULONG RelativeId)
NTSTATUS NTAPI SamOpenDomain(IN SAM_HANDLE ServerHandle, IN ACCESS_MASK DesiredAccess, IN PSID DomainId, OUT PSAM_HANDLE DomainHandle)
NTSTATUS WINAPI SystemFunction006(LPCSTR password, LPSTR hash)
NTSTATUS NTAPI SamQueryInformationAlias(IN SAM_HANDLE AliasHandle, IN ALIAS_INFORMATION_CLASS AliasInformationClass, OUT PVOID *Buffer)
NTSTATUS NTAPI SamQueryDisplayInformation(IN SAM_HANDLE DomainHandle, IN DOMAIN_DISPLAY_INFORMATION DisplayInformation, IN ULONG Index, IN ULONG EntryCount, IN ULONG PreferredMaximumLength, OUT PULONG TotalAvailable, OUT PULONG TotalReturned, OUT PULONG ReturnedEntryCount, OUT PVOID *SortedBuffer)
NTSTATUS WINAPI SystemFunction007(PUNICODE_STRING string, LPBYTE hash)
NTSTATUS NTAPI SamEnumerateGroupsInDomain(IN SAM_HANDLE DomainHandle, IN OUT PSAM_ENUMERATE_HANDLE EnumerationContext, IN PVOID *Buffer, IN ULONG PreferedMaximumLength, OUT PULONG CountReturned)
NTSTATUS NTAPI SamSetSecurityObject(IN SAM_HANDLE ObjectHandle, IN SECURITY_INFORMATION SecurityInformation, IN PSECURITY_DESCRIPTOR SecurityDescriptor)
NTSTATUS NTAPI SamLookupDomainInSamServer(IN SAM_HANDLE ServerHandle, IN PUNICODE_STRING Name, OUT PSID *DomainId)
NTSTATUS NTAPI SamGetMembersInAlias(IN SAM_HANDLE AliasHandle, OUT PSID **MemberIds, OUT PULONG MemberCount)
NTSTATUS NTAPI SamTestPrivateFunctionsUser(_In_ SAM_HANDLE UserHandle)
NTSTATUS NTAPI SamRemoveMemberFromGroup(IN SAM_HANDLE GroupHandle, IN ULONG MemberId)
NTSTATUS NTAPI SamRemoveMemberFromAlias(IN SAM_HANDLE AliasHandle, IN PSID MemberId)
NTSTATUS SampCheckPassword(IN SAMPR_HANDLE UserHandle, IN PUNICODE_STRING Password)
NTSTATUS NTAPI SamRidToSid(IN SAM_HANDLE ObjectHandle, IN ULONG Rid, OUT PSID *Sid)
NTSTATUS NTAPI SamChangePasswordUser(IN SAM_HANDLE UserHandle, IN PUNICODE_STRING OldPassword, IN PUNICODE_STRING NewPassword)
NTSTATUS NTAPI SamGetCompatibilityMode(IN SAM_HANDLE ObjectHandle, OUT PULONG Mode)
NTSTATUS NTAPI SamEnumerateDomainsInSamServer(IN SAM_HANDLE ServerHandle, IN OUT PSAM_ENUMERATE_HANDLE EnumerationContext, OUT PVOID *Buffer, IN ULONG PreferedMaximumLength, OUT PULONG CountReturned)
NTSTATUS NTAPI SamSetInformationDomain(IN SAM_HANDLE DomainHandle, IN DOMAIN_INFORMATION_CLASS DomainInformationClass, IN PVOID Buffer)
NTSTATUS NTAPI SamQuerySecurityObject(IN SAM_HANDLE ObjectHandle, IN SECURITY_INFORMATION SecurityInformation, OUT PSECURITY_DESCRIPTOR *SecurityDescriptor)
NTSTATUS NTAPI SamDeleteUser(IN SAM_HANDLE UserHandle)
NTSTATUS NTAPI SamAddMultipleMembersToAlias(IN SAM_HANDLE AliasHandle, IN PSID *MemberIds, IN ULONG MemberCount)
NTSTATUS NTAPI SamEnumerateAliasesInDomain(IN SAM_HANDLE DomainHandle, IN OUT PSAM_ENUMERATE_HANDLE EnumerationContext, OUT PVOID *Buffer, IN ULONG PreferedMaximumLength, OUT PULONG CountReturned)
NTSTATUS NTAPI SamGetAliasMembership(IN SAM_HANDLE DomainHandle, IN ULONG PassedCount, IN PSID *Sids, OUT PULONG MembershipCount, OUT PULONG *Aliases)
NTSTATUS NTAPI SamShutdownSamServer(IN SAM_HANDLE ServerHandle)
NTSTATUS NTAPI SamrCreateAliasInDomain(IN SAMPR_HANDLE DomainHandle, IN PRPC_UNICODE_STRING AccountName, IN ACCESS_MASK DesiredAccess, OUT SAMPR_HANDLE *AliasHandle, OUT unsigned long *RelativeId)
NTSTATUS NTAPI SamrEnumerateGroupsInDomain(IN SAMPR_HANDLE DomainHandle, IN OUT unsigned long *EnumerationContext, OUT PSAMPR_ENUMERATION_BUFFER *Buffer, IN unsigned long PreferedMaximumLength, OUT unsigned long *CountReturned)
NTSTATUS NTAPI SamrQueryInformationAlias(IN SAMPR_HANDLE AliasHandle, IN ALIAS_INFORMATION_CLASS AliasInformationClass, OUT PSAMPR_ALIAS_INFO_BUFFER *Buffer)
NTSTATUS NTAPI SamrGetMembersInAlias(IN SAMPR_HANDLE AliasHandle, OUT PSAMPR_PSID_ARRAY_OUT Members)
NTSTATUS NTAPI SamrShutdownSamServer(IN SAMPR_HANDLE ServerHandle)
NTSTATUS NTAPI SamrEnumerateAliasesInDomain(IN SAMPR_HANDLE DomainHandle, IN OUT unsigned long *EnumerationContext, OUT PSAMPR_ENUMERATION_BUFFER *Buffer, IN unsigned long PreferedMaximumLength, OUT unsigned long *CountReturned)
NTSTATUS NTAPI SamrSetInformationGroup(IN SAMPR_HANDLE GroupHandle, IN GROUP_INFORMATION_CLASS GroupInformationClass, IN PSAMPR_GROUP_INFO_BUFFER Buffer)
NTSTATUS NTAPI SamrGetUserDomainPasswordInformation(IN SAMPR_HANDLE UserHandle, OUT PUSER_DOMAIN_PASSWORD_INFORMATION PasswordInformation)
NTSTATUS NTAPI SamrQuerySecurityObject(IN SAMPR_HANDLE ObjectHandle, IN SECURITY_INFORMATION SecurityInformation, OUT PSAMPR_SR_SECURITY_DESCRIPTOR *SecurityDescriptor)
NTSTATUS NTAPI SamrOpenAlias(IN SAMPR_HANDLE DomainHandle, IN ACCESS_MASK DesiredAccess, IN ULONG AliasId, OUT SAMPR_HANDLE *AliasHandle)
NTSTATUS NTAPI SamrDeleteUser(IN OUT SAMPR_HANDLE *UserHandle)
NTSTATUS NTAPI SamrSetInformationAlias(IN SAMPR_HANDLE AliasHandle, IN ALIAS_INFORMATION_CLASS AliasInformationClass, IN PSAMPR_ALIAS_INFO_BUFFER Buffer)
NTSTATUS NTAPI SamrAddMultipleMembersToAlias(IN SAMPR_HANDLE AliasHandle, IN PSAMPR_PSID_ARRAY MembersBuffer)
NTSTATUS NTAPI SamrAddMemberToAlias(IN SAMPR_HANDLE AliasHandle, IN PRPC_SID MemberId)
NTSTATUS NTAPI SamrGetMembersInGroup(IN SAMPR_HANDLE GroupHandle, OUT PSAMPR_GET_MEMBERS_BUFFER *Members)
NTSTATUS NTAPI SamrEnumerateUsersInDomain(IN SAMPR_HANDLE DomainHandle, IN OUT unsigned long *EnumerationContext, IN unsigned long UserAccountControl, OUT PSAMPR_ENUMERATION_BUFFER *Buffer, IN unsigned long PreferedMaximumLength, OUT unsigned long *CountReturned)
NTSTATUS NTAPI SamrEnumerateDomainsInSamServer(IN SAMPR_HANDLE ServerHandle, IN OUT unsigned long *EnumerationContext, OUT PSAMPR_ENUMERATION_BUFFER *Buffer, IN ULONG PreferedMaximumLength, OUT PULONG CountReturned)
NTSTATUS NTAPI SamrQueryInformationGroup(IN SAMPR_HANDLE GroupHandle, IN GROUP_INFORMATION_CLASS GroupInformationClass, OUT PSAMPR_GROUP_INFO_BUFFER *Buffer)
NTSTATUS NTAPI SamrCreateGroupInDomain(IN SAMPR_HANDLE DomainHandle, IN PRPC_UNICODE_STRING Name, IN ACCESS_MASK DesiredAccess, OUT SAMPR_HANDLE *GroupHandle, OUT unsigned long *RelativeId)
NTSTATUS NTAPI SamrCreateUserInDomain(IN SAMPR_HANDLE DomainHandle, IN PRPC_UNICODE_STRING Name, IN ACCESS_MASK DesiredAccess, OUT SAMPR_HANDLE *UserHandle, OUT unsigned long *RelativeId)
NTSTATUS NTAPI SamrRemoveMemberFromGroup(IN SAMPR_HANDLE GroupHandle, IN unsigned long MemberId)
NTSTATUS NTAPI SamrOpenGroup(IN SAMPR_HANDLE DomainHandle, IN ACCESS_MASK DesiredAccess, IN unsigned long GroupId, OUT SAMPR_HANDLE *GroupHandle)
NTSTATUS NTAPI SamrRemoveMemberFromAlias(IN SAMPR_HANDLE AliasHandle, IN PRPC_SID MemberId)
NTSTATUS NTAPI SamrQueryInformationDomain(IN SAMPR_HANDLE DomainHandle, IN DOMAIN_INFORMATION_CLASS DomainInformationClass, OUT PSAMPR_DOMAIN_INFO_BUFFER *Buffer)
NTSTATUS NTAPI SamrRemoveMemberFromForeignDomain(IN SAMPR_HANDLE DomainHandle, IN PRPC_SID MemberSid)
NTSTATUS NTAPI SamrDeleteGroup(IN OUT SAMPR_HANDLE *GroupHandle)
NTSTATUS NTAPI SamrSetMemberAttributesOfGroup(IN SAMPR_HANDLE GroupHandle, IN unsigned long MemberId, IN unsigned long Attributes)
NTSTATUS NTAPI SamrQueryDisplayInformation3(IN SAMPR_HANDLE DomainHandle, IN DOMAIN_DISPLAY_INFORMATION DisplayInformationClass, IN unsigned long Index, IN unsigned long EntryCount, IN unsigned long PreferredMaximumLength, OUT unsigned long *TotalAvailable, OUT unsigned long *TotalReturned, OUT PSAMPR_DISPLAY_INFO_BUFFER Buffer)
NTSTATUS NTAPI SamrGetDisplayEnumerationIndex2(IN SAMPR_HANDLE DomainHandle, IN DOMAIN_DISPLAY_INFORMATION DisplayInformationClass, IN PRPC_UNICODE_STRING Prefix, OUT unsigned long *Index)
NTSTATUS NTAPI SamrGetGroupsForUser(IN SAMPR_HANDLE UserHandle, OUT PSAMPR_GET_GROUPS_BUFFER *Groups)
NTSTATUS NTAPI SamrRemoveMultipleMembersFromAlias(IN SAMPR_HANDLE AliasHandle, IN PSAMPR_PSID_ARRAY MembersBuffer)
NTSTATUS NTAPI SamrAddMemberToGroup(IN SAMPR_HANDLE GroupHandle, IN unsigned long MemberId, IN unsigned long Attributes)
NTSTATUS NTAPI SamrCreateUser2InDomain(IN SAMPR_HANDLE DomainHandle, IN PRPC_UNICODE_STRING Name, IN unsigned long AccountType, IN ACCESS_MASK DesiredAccess, OUT SAMPR_HANDLE *UserHandle, OUT unsigned long *GrantedAccess, OUT unsigned long *RelativeId)
NTSTATUS NTAPI SamrSetSecurityObject(IN SAMPR_HANDLE ObjectHandle, IN SECURITY_INFORMATION SecurityInformation, IN PSAMPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor)
NTSTATUS NTAPI SamrSetInformationDomain(IN SAMPR_HANDLE DomainHandle, IN DOMAIN_INFORMATION_CLASS DomainInformationClass, IN PSAMPR_DOMAIN_INFO_BUFFER DomainInformation)
NTSTATUS NTAPI SamrDeleteAlias(IN OUT SAMPR_HANDLE *AliasHandle)
#define RpcExceptionCode()
#define midl_user_allocate
#define STATUS_BUFFER_TOO_SMALL
PULONG MinorVersion OPTIONAL
unsigned short MaximumLength
PSAMPR_DOMAIN_DISPLAY_GROUP Buffer
unsigned long EntriesRead
PSAMPR_DOMAIN_DISPLAY_MACHINE Buffer
unsigned long EntriesRead
PSAMPR_DOMAIN_DISPLAY_OEM_GROUP Buffer
unsigned long EntriesRead
unsigned long EntriesRead
PSAMPR_DOMAIN_DISPLAY_OEM_USER Buffer
PSAMPR_DOMAIN_DISPLAY_USER Buffer
unsigned long EntriesRead
PSAMPR_RID_ENUMERATION Buffer
unsigned long MembershipCount
unsigned long MemberCount
unsigned long * Attributes
PSAMPR_SID_INFORMATION Sids
PSAMPR_SID_INFORMATION Sids
PRPC_UNICODE_STRING Element
unsigned char * SecurityDescriptor
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_INVALID_PARAMETER
#define STATUS_OBJECT_NAME_INVALID
#define STATUS_INSUFFICIENT_RESOURCES
SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER OemGroupInformation
SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER OemUserInformation
SAMPR_DOMAIN_DISPLAY_USER_BUFFER UserInformation
SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER MachineInformation
SAMPR_DOMAIN_DISPLAY_GROUP_BUFFER GroupInformation
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
WINBASEAPI _In_ DWORD nLength
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
_In_ __drv_aliasesMem PSTRING Prefix
_In_ PSECURITY_SUBJECT_CONTEXT _In_ BOOLEAN _In_ ACCESS_MASK _In_ ACCESS_MASK _Outptr_opt_ PPRIVILEGE_SET _In_ PGENERIC_MAPPING _In_ KPROCESSOR_MODE _Out_ PACCESS_MASK GrantedAccess