99 SIZE_T AccountNameLength, DomainNameLength;
103 AccountNameLength =
wcslen(AccountName);
104 DomainNameLength =
wcslen(DomainName);
112 if (SidEntry ==
NULL)
133 *
p = SubAuthorities[
i];
175 *SidPtr = SidEntry->
Sid;
184 WCHAR szAccountName[80];
185 WCHAR szDomainName[80];
186 ULONG SubAuthorities[8];
714 ListEntry = ListEntry->
Flink;
738 ListEntry = ListEntry->
Flink;
764 ListEntry = ListEntry->
Flink;
787 if (DomainsBuffer ==
NULL)
794 if (AccountsBuffer ==
NULL)
828 AccountLength = (
Names[
i].Length /
sizeof(
WCHAR)) - DomainLength - 1;
832 if (DomainLength > 0)
872 if (AccountsBuffer !=
NULL)
883 if (DomainsBuffer !=
NULL)
896 *DomainNames = DomainsBuffer;
897 *AccountNames = AccountsBuffer;
913 while (i < ReferencedDomains->
Entries &&
943 Name->MaximumLength);
966 while (i < ReferencedDomains->
Entries &&
1073 for (
i = 0;
i < (
ULONG)RidCount;
i++)
1103 if (DomainSid ==
NULL)
1110 for (
i = 0;
i < (
ULONG)RidCount;
i++)
1141 for (
i = 0;
i < (
ULONG)RidCount;
i++)
1175 if (DomainNames[
i].
Length != 0)
1178 TRACE(
"Mapping name: %wZ\n", &AccountNames[
i]);
1223 if (DomainSid ==
NULL)
1234 if (DomainSid !=
NULL)
1338 TRACE(
"SamrConnect failed (Status %08lx)\n",
Status);
1348 TRACE(
"SamOpenDomain failed (Status %08lx)\n",
Status);
1359 if (DomainNames[
i].
Length != 0)
1362 TRACE(
"Mapping name: %wZ\n", &AccountNames[
i]);
1371 TRACE(
"Found relative ID: %lu\n", RelativeIds.
Element[0]);
1402 if (DomainHandle !=
NULL)
1405 if (ServerHandle !=
NULL)
1436 TRACE(
"SamrConnect failed (Status %08lx)\n",
Status);
1446 TRACE(
"SamOpenDomain failed (Status %08lx)\n",
Status);
1457 if (DomainNames[
i].
Length != 0)
1460 TRACE(
"Mapping name: %wZ\n", &AccountNames[
i]);
1469 TRACE(
"Found relative ID: %lu\n", RelativeIds.
Element[0]);
1500 if (DomainHandle !=
NULL)
1503 if (ServerHandle !=
NULL)
1533 if (DomainNames[
i].
Length == 0)
1536 TRACE(
"Mapping name: %wZ\\%wZ\n", &DomainNames[
i], &AccountNames[
i]);
1543 TRACE(
"Found it! (%wZ\\%wZ)\n", &
ptr->DomainName, &
ptr->AccountName);
1584 if (DomainSid ==
NULL)
1595 if (DomainSid !=
NULL)
1640 TRACE(
"SamrConnect failed (Status %08lx)\n",
Status);
1650 TRACE(
"SamOpenDomain failed (Status %08lx)\n",
Status);
1661 if (DomainNames[
i].
Length == 0)
1667 TRACE(
"Mapping name: %wZ\\%wZ\n", &DomainNames[
i], &AccountNames[
i]);
1705 if (DomainHandle !=
NULL)
1708 if (ServerHandle !=
NULL)
1737 TRACE(
"SamrConnect failed (Status %08lx)\n",
Status);
1747 TRACE(
"SamOpenDomain failed (Status %08lx)\n",
Status);
1758 if (DomainNames[
i].
Length == 0)
1764 TRACE(
"Mapping name: %wZ\\%wZ\n", &DomainNames[
i], &AccountNames[
i]);
1802 if (DomainHandle !=
NULL)
1805 if (ServerHandle !=
NULL)
1819 DWORD LookupOptions,
1820 DWORD ClientRevision)
1826 ULONG SidsBufferLength;
1835 *ReferencedDomains =
NULL;
1839 if (SidsBuffer ==
NULL)
1847 if (DomainsBuffer ==
NULL)
1867 SidsBuffer[
i].Sid =
NULL;
1868 SidsBuffer[
i].DomainIndex = -1;
1869 SidsBuffer[
i].Flags = 0;
1878 TRACE(
"LsapSplitNames failed! (Status %lx)\n",
Status);
1893 TRACE(
"LsapLookupIsolatedNames failed! (Status %lx)\n",
Status);
1897 if (Mapped ==
Count)
1911 TRACE(
"LsapLookupIsolatedBuiltinNames failed! (Status %lx)\n",
Status);
1915 if (Mapped ==
Count)
1929 TRACE(
"LsapLookupIsolatedAccountNames failed! (Status %lx)\n",
Status);
1933 if (Mapped ==
Count)
1946 TRACE(
"LsapLookupFullyQualifiedWellKnownNames failed! (Status %lx)\n",
Status);
1950 if (Mapped ==
Count)
1963 TRACE(
"LsapLookupBuiltinNames failed! (Status %lx)\n",
Status);
1967 if (Mapped ==
Count)
1981 TRACE(
"LsapLookupAccountNames failed! (Status %lx)\n",
Status);
1985 if (Mapped ==
Count)
1991 if (DomainNames !=
NULL)
2003 if (AccountNames !=
NULL)
2023 if (DomainsBuffer !=
NULL)
2032 if (SidsBuffer !=
NULL)
2039 *ReferencedDomains = DomainsBuffer;
2041 TranslatedSids->
Sids = SidsBuffer;
2042 *MappedCount = Mapped;
2046 else if (Mapped <
Count)
2075 TRACE(
"Mapping SID: %S\n", SidString);
2082 NamesBuffer[
i].
Use =
ptr->Use;
2083 NamesBuffer[
i].
Flags = 0;
2096 if (
ptr->DomainName.Length == 0)
2122 TRACE(
"Mapped to: %wZ\n", &NamesBuffer[
i].
Name);
2145 ULONG RelativeIds[1];
2154 TRACE(
"SamrConnect failed (Status %08lx)\n",
Status);
2164 TRACE(
"SamOpenDomain failed (Status %08lx)\n",
Status);
2175 TRACE(
"Mapping SID: %S\n", SidString);
2181 TRACE(
"Found builtin domain!\n");
2184 NamesBuffer[
i].
Flags = 0;
2206 TRACE(
"Mapped to: %wZ\n", &NamesBuffer[
i].
Name);
2212 TRACE(
"Found builtin domain account!\n");
2224 NamesBuffer[
i].
Flags = 0;
2239 Names.Element[0].Buffer,
2240 Names.Element[0].MaximumLength);
2254 TRACE(
"Mapped to: %wZ\n", &NamesBuffer[
i].
Name);
2262 if (DomainHandle !=
NULL)
2265 if (ServerHandle !=
NULL)
2284 ULONG RelativeIds[1];
2293 TRACE(
"SamrConnect failed (Status %08lx)\n",
Status);
2303 TRACE(
"SamOpenDomain failed (Status %08lx)\n",
Status);
2314 TRACE(
"Mapping SID: %S\n", SidString);
2320 TRACE(
"Found account domain!\n");
2323 NamesBuffer[
i].
Flags = 0;
2345 TRACE(
"Mapped to: %wZ\n", &NamesBuffer[
i].
Name);
2351 TRACE(
"Found account domain account!\n");
2363 NamesBuffer[
i].
Flags = 0;
2378 Names.Element[0].Buffer,
2379 Names.Element[0].MaximumLength);
2393 TRACE(
"Mapped to: %wZ\n", &NamesBuffer[
i].
Name);
2401 if (DomainHandle !=
NULL)
2404 if (ServerHandle !=
NULL)
2417 DWORD LookupOptions,
2418 DWORD ClientRevision)
2422 ULONG NamesBufferLength;
2429 if (NamesBuffer ==
NULL)
2436 if (DomainsBuffer ==
NULL)
2460 NamesBuffer[
i].
Flags = 0;
2473 if (Mapped == SidEnumBuffer->
Entries)
2486 if (Mapped == SidEnumBuffer->
Entries)
2499 if (Mapped == SidEnumBuffer->
Entries)
2503 TRACE(
"done Status: %lx Mapped: %lu\n",
Status, Mapped);
2507 if (DomainsBuffer !=
NULL)
2515 if (NamesBuffer !=
NULL)
2520 *ReferencedDomains = DomainsBuffer;
2522 TranslatedNames->
Names = NamesBuffer;
2523 *MappedCount = Mapped;
2527 else if (Mapped < SidEnumBuffer->
Entries)
#define IDS_PRINCIPAL_SELF_RID
#define SECURITY_BATCH_RID
static NTSTATUS LsapLookupAccountDomainSids(PLSAPR_SID_ENUM_BUFFER SidEnumBuffer, PLSAPR_TRANSLATED_NAME_EX NamesBuffer, PLSAPR_REFERENCED_DOMAIN_LIST DomainsBuffer, PULONG Mapped)
static BOOLEAN LsapIsPrefixSid(IN PSID PrefixSid, IN PSID Sid)
SID_IDENTIFIER_AUTHORITY LocalSidAuthority
#define IDS_ALIAS_RID_USERS
#define IDS_ALIAS_RID_RAS_SERVERS
#define SAM_SERVER_CONNECT
#define SECURITY_AUTHENTICATED_USER_RID
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
#define SECURITY_LOCAL_SYSTEM_RID
INT LsapLoadString(HINSTANCE hInstance, UINT uId, LPWSTR lpBuffer, INT nBufferMax)
#define IDS_ALIAS_RID_GUESTS
static PSID LsapCopySid(PSID SrcSid)
#define DOMAIN_ALIAS_RID_GUESTS
#define STATUS_INSUFFICIENT_RESOURCES
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define SECURITY_THIS_ORGANIZATION_RID
VOID NTAPI SamIFree_SAMPR_ULONG_ARRAY(PSAMPR_ULONG_ARRAY Ptr)
static PSID CreateDomainSidFromAccountSid(PSID AccountSid)
enum _SID_NAME_USE SID_NAME_USE
#define SECURITY_TERMINAL_SERVER_RID
static NTSTATUS LsapAddAuthorityToDomainsList(PLSAPR_REFERENCED_DOMAIN_LIST ReferencedDomains, PSID Sid, PULONG Index)
* PSID_IDENTIFIER_AUTHORITY
struct _WELL_KNOWN_SID WELL_KNOWN_SID
#define DOMAIN_ALIAS_RID_ACCOUNT_OPS
#define SECURITY_DIALUP_RID
wchar_t * PSAMPR_SERVER_NAME
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
struct _SAMPR_RETURNED_USTRING_ARRAY SAMPR_RETURNED_USTRING_ARRAY
#define SECURITY_NETWORK_RID
#define IDS_ALIAS_RID_REPLICATOR
#define IDS_CREATOR_OWNER_SERVER_RID
NTSYSAPI PULONG NTAPI RtlSubAuthoritySid(_In_ PSID Sid, _In_ ULONG SubAuthority)
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)
#define IDS_NETWORK_SERVICE_RID
#define IDS_ALIAS_RID_ACCOUNT_OPS
#define DOMAIN_ALIAS_RID_POWER_USERS
#define SECURITY_INTERACTIVE_RID
#define IDS_ALIAS_RID_BACKUP_OPS
VOID NTAPI SamIFree_SAMPR_RETURNED_USTRING_ARRAY(PSAMPR_RETURNED_USTRING_ARRAY Ptr)
#define InsertTailList(ListHead, Entry)
SID_IDENTIFIER_AUTHORITY CreatorSidAuthority
BOOL WINAPI ConvertSidToStringSidW(PSID Sid, LPWSTR *StringSid)
#define IDS_RESTRICTED_CODE_RID
NTSTATUS NTAPI SamrCloseHandle(IN OUT SAMPR_HANDLE *SamHandle)
PLSAPR_TRANSLATED_NAME_EX Names
#define STATUS_NONE_MAPPED
UNICODE_STRING AccountDomainName
#define IDS_AUTHENTICATED_USER_RID
enum _LSAP_LOOKUP_LEVEL LSAP_LOOKUP_LEVEL
NTSTATUS LsapLookupNames(DWORD Count, PRPC_UNICODE_STRING Names, PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, PLSAPR_TRANSLATED_SIDS_EX2 TranslatedSids, LSAP_LOOKUP_LEVEL LookupLevel, DWORD *MappedCount, DWORD LookupOptions, DWORD ClientRevision)
#define SECURITY_PRINCIPAL_SELF_RID
NTSYSAPI NTSTATUS NTAPI RtlInitializeSid(IN OUT PSID Sid, IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, IN UCHAR SubAuthorityCount)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
NTSTATUS LsapLookupSids(PLSAPR_SID_ENUM_BUFFER SidEnumBuffer, PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, PLSAPR_TRANSLATED_NAMES_EX TranslatedNames, LSAP_LOOKUP_LEVEL LookupLevel, DWORD *MappedCount, DWORD LookupOptions, DWORD ClientRevision)
struct _LSAPR_TRANSLATED_NAME_EX LSAPR_TRANSLATED_NAME_EX
NTSTATUS NTAPI SamrLookupIdsInDomain(IN SAMPR_HANDLE DomainHandle, IN ULONG Count, IN ULONG *RelativeIds, OUT PSAMPR_RETURNED_USTRING_ARRAY Names, OUT PSAMPR_ULONG_ARRAY Use)
#define IDS_TERMINAL_SERVER_RID
PRPC_UNICODE_STRING Element
#define IDS_CREATOR_GROUP_SERVER_RID
#define SAM_SERVER_LOOKUP_DOMAIN
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
NTSYSAPI ULONG NTAPI RtlLengthSid(IN PSID Sid)
#define IDS_REMOTE_LOGON_RID
#define SECURITY_LOCAL_SERVICE_RID
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
static NTSTATUS LsapLookupFullyQualifiedWellKnownNames(DWORD Count, PRPC_UNICODE_STRING DomainNames, PRPC_UNICODE_STRING AccountNames, PLSAPR_REFERENCED_DOMAIN_LIST DomainsBuffer, PLSAPR_TRANSLATED_SID_EX2 SidsBuffer, PULONG Mapped)
SID_IDENTIFIER_AUTHORITY WorldSidAuthority
PWELL_KNOWN_SID LsapLookupFullyQualifiedWellKnownName(PUNICODE_STRING AccountName, PUNICODE_STRING DomainName)
static NTSTATUS LsapLookupIsolatedAccountNames(DWORD Count, PRPC_UNICODE_STRING DomainNames, PRPC_UNICODE_STRING AccountNames, PLSAPR_REFERENCED_DOMAIN_LIST DomainsBuffer, PLSAPR_TRANSLATED_SID_EX2 SidsBuffer, PULONG Mapped)
static NTSTATUS LsapLookupIsolatedBuiltinNames(DWORD Count, PRPC_UNICODE_STRING DomainNames, PRPC_UNICODE_STRING AccountNames, PLSAPR_REFERENCED_DOMAIN_LIST DomainsBuffer, PLSAPR_TRANSLATED_SID_EX2 SidsBuffer, PULONG Mapped)
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
struct _LIST_ENTRY * Flink
struct _WELL_KNOWN_SID * PWELL_KNOWN_SID
#define SECURITY_CREATOR_GROUP_SERVER_RID
#define SECURITY_ENTERPRISE_CONTROLLERS_RID
#define UNICODE_STRING_MAX_CHARS
PSID LsapAdministratorsSid
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
#define SECURITY_BUILTIN_DOMAIN_RID
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
#define IDS_ALIAS_RID_NETWORK_CONFIGURATION_OPS
#define NT_SUCCESS(StatCode)
static NTSTATUS LsapLookupBuiltinDomainSids(PLSAPR_SID_ENUM_BUFFER SidEnumBuffer, PLSAPR_TRANSLATED_NAME_EX NamesBuffer, PLSAPR_REFERENCED_DOMAIN_LIST DomainsBuffer, PULONG Mapped)
UNICODE_STRING BuiltinDomainName
NTSYSAPI PSID_IDENTIFIER_AUTHORITY NTAPI RtlIdentifierAuthoritySid(PSID Sid)
#define DOMAIN_ALIAS_RID_BACKUP_OPS
#define IDS_ALIAS_RID_POWER_USERS
PLSAPR_TRANSLATED_SID_EX2 Sids
_In_ WDFCOLLECTION _In_ ULONG Index
#define IDS_LOCAL_SYSTEM_RID
NTSYSAPI PUCHAR NTAPI RtlSubAuthorityCountSid(IN PSID Sid)
#define DOMAIN_ALIAS_RID_SYSTEM_OPS
ULONG LsapGetRelativeIdFromSid(PSID Sid_)
static NTSTATUS LsapSplitNames(DWORD Count, PRPC_UNICODE_STRING Names, PRPC_UNICODE_STRING *DomainNames, PRPC_UNICODE_STRING *AccountNames)
#define SECURITY_LOCAL_RID
PWELL_KNOWN_SID LsapLookupWellKnownSid(PSID Sid)
GLdouble GLdouble GLdouble GLdouble q
static NTSTATUS LsapLookupBuiltinNames(DWORD Count, PRPC_UNICODE_STRING DomainNames, PRPC_UNICODE_STRING AccountNames, PLSAPR_REFERENCED_DOMAIN_LIST DomainsBuffer, PLSAPR_TRANSLATED_SID_EX2 SidsBuffer, PULONG Mapped)
#define IDS_ALIAS_RID_REMOTE_DESKTOP_USERS
#define IDS_ENTERPRISE_CONTROLLERS_RID
#define SECURITY_WORLD_RID
#define SECURITY_PROXY_RID
#define SECURITY_ANONYMOUS_LOGON_RID
BOOLEAN LsapCreateSid(PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, UCHAR SubAuthorityCount, PULONG SubAuthorities, PWSTR AccountName, PWSTR DomainName, SID_NAME_USE Use, PSID *SidPtr)
static NTSTATUS LsapLookupWellKnownSids(PLSAPR_SID_ENUM_BUFFER SidEnumBuffer, PLSAPR_TRANSLATED_NAME_EX NamesBuffer, PLSAPR_REFERENCED_DOMAIN_LIST DomainsBuffer, PULONG Mapped)
#define SECURITY_CREATOR_OWNER_RID
#define SECURITY_NULL_RID
#define IDS_INTERACTIVE_RID
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
static SID_IDENTIFIER_AUTHORITY NtAuthority
UNICODE_STRING AccountName
#define IDS_LOCAL_SERVICE_RID
NTSTATUS LsapInitSids(VOID)
NTSTATUS NTAPI SamrOpenDomain(IN SAMPR_HANDLE ServerHandle, IN ACCESS_MASK DesiredAccess, IN PRPC_SID DomainId, OUT SAMPR_HANDLE *DomainHandle)
NTSYSAPI BOOLEAN WINAPI RtlCopySid(DWORD, PSID, PSID)
_In_ PSID_IDENTIFIER_AUTHORITY _In_ UCHAR SubAuthorityCount
#define SECURITY_NETWORK_SERVICE_RID
static NTSTATUS LsapAddDomainToDomainsList(PLSAPR_REFERENCED_DOMAIN_LIST ReferencedDomains, PUNICODE_STRING Name, PSID Sid, PULONG Index)
NTSTATUS NTAPI SamrConnect(IN PSAMPR_SERVER_NAME ServerName, OUT SAMPR_HANDLE *ServerHandle, IN ACCESS_MASK DesiredAccess)
static NTSTATUS LsapLookupAccountNames(DWORD Count, PRPC_UNICODE_STRING DomainNames, PRPC_UNICODE_STRING AccountNames, PLSAPR_REFERENCED_DOMAIN_LIST DomainsBuffer, PLSAPR_TRANSLATED_SID_EX2 SidsBuffer, PULONG Mapped)
#define STATUS_SOME_NOT_MAPPED
#define SECURITY_CREATOR_GROUP_RID
#define SECURITY_REMOTE_LOGON_RID
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 DOMAIN_ALIAS_RID_USERS
HLOCAL NTAPI LocalFree(HLOCAL hMem)
#define InitializeListHead(ListHead)
UNICODE_STRING DomainName
#define DOMAIN_ALIAS_RID_REPLICATOR
#define SECURITY_RESTRICTED_CODE_RID
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
LIST_ENTRY WellKnownSidListHead
#define SECURITY_CREATOR_OWNER_SERVER_RID
struct _SAMPR_RETURNED_USTRING_ARRAY * PSAMPR_RETURNED_USTRING_ARRAY
struct _LSAPR_TRANSLATED_SID_EX2 LSAPR_TRANSLATED_SID_EX2
#define DOMAIN_ALIAS_RID_PRINT_OPS
#define SECURITY_SERVICE_RID
static PSID CreateSidFromSidAndRid(PSID SrcSid, ULONG RelativeId)
#define DOMAIN_ALIAS_RID_PREW2KCOMPACCESS
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
PWELL_KNOWN_SID LsapLookupIsolatedWellKnownName(PUNICODE_STRING AccountName)
#define RtlCopyMemory(Destination, Source, Length)
SID_IDENTIFIER_AUTHORITY IdentifierAuthority
_In_ PSID_IDENTIFIER_AUTHORITY IdentifierAuthority
#define DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS
void *__RPC_USER MIDL_user_allocate(SIZE_T size)
PLSAPR_TRUST_INFORMATION Domains
SID_IDENTIFIER_AUTHORITY NullSidAuthority
#define DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS
void __RPC_USER MIDL_user_free(void *p)
#define IDS_ALIAS_RID_ADMINS
#define IDS_THIS_ORGANIZATION_RID
#define IDS_CREATOR_GROUP_RID
#define DOMAIN_ALIAS_RID_RAS_SERVERS
PLSAPR_SID_INFORMATION SidInfo
#define DOMAIN_ALIAS_RID_ADMINS
#define IDS_CREATOR_OWNER_RID
NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive)
#define IDS_ANONYMOUS_LOGON_RID
#define IDS_ALIAS_RID_PRINT_OPS
#define IDS_ALIAS_RID_PREW2KCOMPACCESS
#define IDS_ALIAS_RID_SYSTEM_OPS
#define IDS_BUILTIN_DOMAIN_RID
unsigned short MaximumLength
NTSYSAPI BOOLEAN NTAPI RtlEqualSid(_In_ PSID Sid1, _In_ PSID Sid2)
NTSYSAPI ULONG NTAPI RtlLengthRequiredSid(IN ULONG SubAuthorityCount)
static NTSTATUS LsapLookupIsolatedNames(DWORD Count, PRPC_UNICODE_STRING DomainNames, PRPC_UNICODE_STRING AccountNames, PLSAPR_REFERENCED_DOMAIN_LIST DomainsBuffer, PLSAPR_TRANSLATED_SID_EX2 SidsBuffer, PULONG Mapped)
wchar_t * PSAMPR_SERVER_NAME
#define RTL_CONSTANT_STRING(s)