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,
501 TRACE(
"SamCloseHandle(%p)\n", SamHandle);
527 TRACE(
"SamConnect(%p %p 0x%08x %p)\n",
530 if (ServerName !=
NULL && ServerName->Length > 0 && ServerName->Buffer !=
NULL)
534 if (pServerName ==
NULL)
537 CopyMemory(pServerName, ServerName->Buffer, ServerName->Length);
570 TRACE(
"SamCreateAliasInDomain(%p %p 0x%08x %p %p)\n",
571 DomainHandle, AccountName,
DesiredAccess, AliasHandle, RelativeId);
604 TRACE(
"SamCreateGroupInDomain(%p %p 0x%08x %p %p)\n",
605 DomainHandle, AccountName,
DesiredAccess, GroupHandle, RelativeId);
640 TRACE(
"SamCreateUser2InDomain(%p %p %lu 0x%08x %p %p %p)\n",
678 TRACE(
"SamCreateUserInDomain(%p %p 0x%08x %p %p)\n",
679 DomainHandle, AccountName,
DesiredAccess, UserHandle, RelativeId);
709 TRACE(
"SamDeleteAlias(%p)\n", AliasHandle);
713 if (LocalAliasHandle ==
NULL)
737 TRACE(
"SamDeleteGroup(%p)\n", GroupHandle);
741 if (LocalGroupHandle ==
NULL)
765 TRACE(
"SamDeleteUser(%p)\n", UserHandle);
769 if (LocalUserHandle ==
NULL)
791 IN ULONG PreferedMaximumLength,
797 TRACE(
"SamEnumerateAliasesInDomain(%p %p %p %lu %p)\n",
798 DomainHandle, EnumerationContext,
Buffer, PreferedMaximumLength,
801 if ((EnumerationContext ==
NULL) ||
803 (CountReturned ==
NULL))
813 PreferedMaximumLength,
816 if (EnumBuffer !=
NULL)
841 IN ULONG PreferedMaximumLength,
847 TRACE(
"SamEnumerateDomainsInSamServer(%p %p %p %lu %p)\n",
848 ServerHandle, EnumerationContext,
Buffer, PreferedMaximumLength,
851 if ((EnumerationContext ==
NULL) ||
853 (CountReturned ==
NULL))
863 PreferedMaximumLength,
866 if (EnumBuffer !=
NULL)
891 IN ULONG PreferedMaximumLength,
897 TRACE(
"SamEnumerateGroupsInDomain(%p %p %p %lu %p)\n",
898 DomainHandle, EnumerationContext,
Buffer,
899 PreferedMaximumLength, CountReturned);
911 PreferedMaximumLength,
913 if (EnumBuffer !=
NULL)
937 IN ULONG PreferedMaximumLength,
943 TRACE(
"SamEnumerateUsersInDomain(%p %p %lx %p %lu %p)\n",
944 DomainHandle, EnumerationContext, UserAccountControl,
Buffer,
945 PreferedMaximumLength, CountReturned);
958 PreferedMaximumLength,
960 if (EnumBuffer !=
NULL)
1004 TRACE(
"SamAliasMembership(%p %lu %p %p %p)\n",
1005 DomainHandle, PassedCount, Sids, MembershipCount, Aliases);
1008 MembershipCount ==
NULL ||
1016 SidArray.
Count = PassedCount;
1024 *MembershipCount = Membership.
Count;
1025 *Aliases = Membership.
Element;
1048 TRACE(
"SamGetCompatibilityMode(%p %p)\n", ObjectHandle,
Mode);
1068 TRACE(
"SamGetDisplayEnumerationIndex(%p %lu %wZ %p)\n",
1101 TRACE(
"SamGetGroupsForUser(%p %p %p)\n",
1102 UserHandle, Groups, MembershipCount);
1110 *Groups = GroupsBuffer->
Groups;
1117 if (GroupsBuffer !=
NULL)
1145 TRACE(
"SamGetMembersInAlias(%p %p %p)\n",
1146 AliasHandle, MemberIds, MemberCount);
1148 if ((MemberIds ==
NULL) ||
1149 (MemberCount ==
NULL))
1163 *MemberCount = SidArray.
Count;
1164 *MemberIds = (
PSID *)SidArray.
Sids;
1188 TRACE(
"SamGetMembersInGroup(%p %p %p %p)\n",
1189 GroupHandle, MemberIds,
Attributes, MemberCount);
1197 *MemberIds = MembersBuffer->
Members;
1205 if (MembersBuffer !=
NULL)
1235 TRACE(
"SamLookupDomainInSamServer(%p %p %p)\n",
1236 ServerHandle,
Name, DomainId);
1267 TRACE(
"SamLookupIdsInDomain(%p %lu %p %p %p)\n",
1268 DomainHandle,
Count, RelativeIds,
Names, Use);
1353 for (
i = 0;
i < NamesBuffer.
Count;
i++)
1381 TRACE(
"SamLookupNamesInDomain(%p %lu %p %p %p)\n",
1382 DomainHandle,
Count,
Names, RelativeIds, Use);
1384 *RelativeIds =
NULL;
1404 if (*RelativeIds ==
NULL)
1429 if (*RelativeIds !=
NULL)
1455 TRACE(
"SamOpenAlias(%p 0x%08x %lx %p)\n",
1484 TRACE(
"SamOpenDomain(%p 0x%08x %p %p)\n",
1513 TRACE(
"SamOpenGroup(%p 0x%08x %p %p)\n",
1542 TRACE(
"SamOpenUser(%p 0x%08x %lx %p)\n",
1568 IN ULONG PreferredMaximumLength,
1577 TRACE(
"SamQueryDisplayInformation(%p %lu %lu %lu %lu %p %p %p %p)\n",
1578 DomainHandle, DisplayInformation,
Index, EntryCount,
1579 PreferredMaximumLength, TotalAvailable, TotalReturned,
1580 ReturnedEntryCount, SortedBuffer);
1582 if ((TotalAvailable ==
NULL) ||
1583 (TotalReturned ==
NULL) ||
1584 (ReturnedEntryCount ==
NULL) ||
1585 (SortedBuffer ==
NULL))
1594 PreferredMaximumLength,
1600 switch (DisplayInformation)
1634 *ReturnedEntryCount = 0;
1635 *SortedBuffer =
NULL;
1656 TRACE(
"SamQueryInformationAlias(%p %lu %p)\n",
1657 AliasHandle, AliasInformationClass,
Buffer);
1662 AliasInformationClass,
1683 TRACE(
"SamQueryInformationDomain(%p %lu %p)\n",
1684 DomainHandle, DomainInformationClass,
Buffer);
1689 DomainInformationClass,
1710 TRACE(
"SamQueryInformationGroup(%p %lu %p)\n",
1711 GroupHandle, GroupInformationClass,
Buffer);
1716 GroupInformationClass,
1737 TRACE(
"SamQueryInformationUser(%p %lu %p)\n",
1738 UserHandle, UserInformationClass,
Buffer);
1743 UserInformationClass,
1765 TRACE(
"SamQuerySecurityObject(%p %lu %p)\n",
1774 &SamSecurityDescriptor);
1782 TRACE(
"SamSecurityDescriptor: %p\n", SamSecurityDescriptor);
1784 if (SamSecurityDescriptor !=
NULL)
1786 TRACE(
"SamSecurityDescriptor->Length: %lu\n", SamSecurityDescriptor->
Length);
1805 TRACE(
"SamRemoveMemberFromAlias(%p %ul)\n",
1806 AliasHandle, MemberId);
1830 TRACE(
"SamRemoveMemberFromForeignDomain(%p %ul)\n",
1831 DomainHandle, MemberId);
1855 TRACE(
"SamRemoveMemberFromGroup(%p %ul)\n",
1856 GroupHandle, MemberId);
1882 TRACE(
"SamRemoveMultipleMembersFromAlias(%p %p %lu)\n",
1883 AliasHandle, MemberIds, MemberCount);
1885 if (MemberIds ==
NULL)
1888 Buffer.Count = MemberCount;
1925 TRACE(
"SamSetInformationAlias(%p %lu %p)\n",
1926 AliasHandle, AliasInformationClass,
Buffer);
1931 AliasInformationClass,
1952 TRACE(
"SamSetInformationDomain(%p %lu %p)\n",
1953 DomainHandle, DomainInformationClass,
Buffer);
1958 DomainInformationClass,
1979 TRACE(
"SamSetInformationGroup(%p %lu %p)\n",
1980 GroupHandle, GroupInformationClass,
Buffer);
1985 GroupInformationClass,
2008 CHAR LmPwdBuffer[15];
2011 TRACE(
"SamSetInformationUser(%p %lu %p)\n",
2012 UserHandle, UserInformationClass,
Buffer);
2022 TRACE(
"SampCheckPassword failed (Status 0x%08lx)\n",
Status);
2031 TRACE(
"SystemFunction007 failed (Status 0x%08lx)\n",
Status);
2039 LmPwdString.Length = 15;
2040 LmPwdString.MaximumLength = 15;
2041 LmPwdString.Buffer = LmPwdBuffer;
2042 ZeroMemory(LmPwdString.Buffer, LmPwdString.MaximumLength);
2062 (
PVOID)&Internal1Buffer);
2072 TRACE(
"SamrSetInformation() failed (Status 0x%08lx)\n",
Status);
2109 TRACE(
"Do not try to set a clear text LM password!\n");
2119 TRACE(
"SampCheckPassword failed (Status 0x%08lx)\n",
Status);
2128 TRACE(
"SystemFunction007 failed (Status 0x%08lx)\n",
Status);
2140 LmPwdString.Length = 15;
2141 LmPwdString.MaximumLength = 15;
2142 LmPwdString.Buffer = LmPwdBuffer;
2143 ZeroMemory(LmPwdString.Buffer, LmPwdString.MaximumLength);
2171 (
PVOID)&InternalAllBuffer);
2181 TRACE(
"SamrSetInformation() failed (Status 0x%08lx)\n",
Status);
2190 UserInformationClass,
2211 TRACE(
"SamSetMemberAttributesOfGroup(%p %lu 0x%lx)\n",
2240 TRACE(
"SamSetSecurityObject(%p %lu %p)\n",
2291 TRACE(
"SamShutdownSamServer(%p)\n", ServerHandle);
2312 TRACE(
"SamTestPrivateFunctionsDomain(%p)\n",
2323 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
#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)
_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
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define EXCEPTION_EXECUTE_HANDLER
void *__RPC_USER MIDL_user_allocate(SIZE_T size)
void __RPC_USER MIDL_user_free(void *p)
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
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_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