mirror of
https://github.com/reactos/reactos.git
synced 2024-10-07 01:44:21 +00:00
[FORMATTING]
No code changes. svn path=/trunk/; revision=48146
This commit is contained in:
parent
a9b1042fdf
commit
924ee8d9ef
|
@ -791,7 +791,7 @@ GetUserNameA(LPSTR lpszName,
|
|||
BOOL
|
||||
WINAPI
|
||||
GetUserNameW(LPWSTR lpszName,
|
||||
LPDWORD lpSize )
|
||||
LPDWORD lpSize)
|
||||
{
|
||||
HANDLE hToken = INVALID_HANDLE_VALUE;
|
||||
DWORD tu_len = 0;
|
||||
|
@ -802,89 +802,96 @@ GetUserNameW(LPWSTR lpszName,
|
|||
WCHAR* domain_name = NULL;
|
||||
DWORD dn_len = 0;
|
||||
|
||||
if ( !OpenThreadToken ( GetCurrentThread(), TOKEN_QUERY, FALSE, &hToken ) )
|
||||
if (!OpenThreadToken (GetCurrentThread(), TOKEN_QUERY, FALSE, &hToken))
|
||||
{
|
||||
DWORD dwLastError = GetLastError();
|
||||
if ( dwLastError != ERROR_NO_TOKEN
|
||||
&& dwLastError != ERROR_NO_IMPERSONATION_TOKEN )
|
||||
if (dwLastError != ERROR_NO_TOKEN
|
||||
&& dwLastError != ERROR_NO_IMPERSONATION_TOKEN)
|
||||
{
|
||||
/* don't call SetLastError(),
|
||||
as OpenThreadToken() ought to have set one */
|
||||
return FALSE;
|
||||
}
|
||||
if ( !OpenProcessToken ( GetCurrentProcess(), TOKEN_QUERY, &hToken ) )
|
||||
|
||||
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken))
|
||||
{
|
||||
/* don't call SetLastError(),
|
||||
as OpenProcessToken() ought to have set one */
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
tu_buf = LocalAlloc ( LMEM_FIXED, 36 );
|
||||
if ( !tu_buf )
|
||||
|
||||
tu_buf = LocalAlloc(LMEM_FIXED, 36);
|
||||
if (!tu_buf)
|
||||
{
|
||||
SetLastError ( ERROR_NOT_ENOUGH_MEMORY );
|
||||
CloseHandle ( hToken );
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
CloseHandle(hToken);
|
||||
return FALSE;
|
||||
}
|
||||
if ( !GetTokenInformation ( hToken, TokenUser, tu_buf, 36, &tu_len ) || tu_len > 36 )
|
||||
|
||||
if (!GetTokenInformation(hToken, TokenUser, tu_buf, 36, &tu_len) || tu_len > 36)
|
||||
{
|
||||
LocalFree ( tu_buf );
|
||||
tu_buf = LocalAlloc ( LMEM_FIXED, tu_len );
|
||||
if ( !tu_buf )
|
||||
LocalFree(tu_buf);
|
||||
tu_buf = LocalAlloc(LMEM_FIXED, tu_len);
|
||||
if (!tu_buf)
|
||||
{
|
||||
SetLastError ( ERROR_NOT_ENOUGH_MEMORY );
|
||||
CloseHandle ( hToken );
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
CloseHandle(hToken);
|
||||
return FALSE;
|
||||
}
|
||||
if ( !GetTokenInformation ( hToken, TokenUser, tu_buf, tu_len, &tu_len ) )
|
||||
|
||||
if (!GetTokenInformation(hToken, TokenUser, tu_buf, tu_len, &tu_len))
|
||||
{
|
||||
/* don't call SetLastError(),
|
||||
as GetTokenInformation() ought to have set one */
|
||||
LocalFree ( tu_buf );
|
||||
CloseHandle ( hToken );
|
||||
LocalFree(tu_buf);
|
||||
CloseHandle(hToken);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
CloseHandle ( hToken );
|
||||
|
||||
CloseHandle(hToken);
|
||||
token_user = (TOKEN_USER*)tu_buf;
|
||||
|
||||
an_len = *lpSize;
|
||||
dn_len = 32;
|
||||
domain_name = LocalAlloc ( LMEM_FIXED, dn_len * sizeof(WCHAR) );
|
||||
if ( !domain_name )
|
||||
domain_name = LocalAlloc(LMEM_FIXED, dn_len * sizeof(WCHAR));
|
||||
if (!domain_name)
|
||||
{
|
||||
LocalFree ( tu_buf );
|
||||
SetLastError ( ERROR_NOT_ENOUGH_MEMORY );
|
||||
LocalFree(tu_buf);
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
return FALSE;
|
||||
}
|
||||
if ( !LookupAccountSidW ( NULL, token_user->User.Sid, lpszName, &an_len, domain_name, &dn_len, &snu )
|
||||
|| dn_len > 32 )
|
||||
|
||||
if (!LookupAccountSidW(NULL, token_user->User.Sid, lpszName, &an_len, domain_name, &dn_len, &snu)
|
||||
|| dn_len > 32)
|
||||
{
|
||||
if ( dn_len > 32 )
|
||||
if (dn_len > 32)
|
||||
{
|
||||
LocalFree ( domain_name );
|
||||
domain_name = LocalAlloc ( LMEM_FIXED, dn_len * sizeof(WCHAR) );
|
||||
if ( !domain_name )
|
||||
LocalFree(domain_name);
|
||||
domain_name = LocalAlloc(LMEM_FIXED, dn_len * sizeof(WCHAR));
|
||||
if (!domain_name)
|
||||
{
|
||||
LocalFree ( tu_buf );
|
||||
SetLastError ( ERROR_NOT_ENOUGH_MEMORY );
|
||||
LocalFree(tu_buf);
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
an_len = *lpSize;
|
||||
if ( !LookupAccountSidW ( NULL, token_user->User.Sid, lpszName, &an_len, domain_name, &dn_len, &snu ) )
|
||||
if (!LookupAccountSidW(NULL, token_user->User.Sid, lpszName, &an_len, domain_name, &dn_len, &snu))
|
||||
{
|
||||
/* don't call SetLastError(),
|
||||
as LookupAccountSid() ought to have set one */
|
||||
LocalFree ( domain_name );
|
||||
LocalFree ( tu_buf );
|
||||
LocalFree(domain_name);
|
||||
LocalFree(tu_buf);
|
||||
*lpSize = an_len;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
LocalFree ( domain_name );
|
||||
LocalFree ( tu_buf );
|
||||
LocalFree(domain_name);
|
||||
LocalFree(tu_buf);
|
||||
*lpSize = an_len + 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -918,14 +925,11 @@ LookupAccountSidA(LPCSTR lpSystemName,
|
|||
dwName = *cchName;
|
||||
dwReferencedDomainName = *cchReferencedDomainName;
|
||||
|
||||
/*
|
||||
* allocate buffers for the unicode strings to receive
|
||||
*/
|
||||
|
||||
if(dwName > 0)
|
||||
/* allocate buffers for the unicode strings to receive */
|
||||
if (dwName > 0)
|
||||
{
|
||||
NameBuffer = (PWSTR)LocalAlloc(LMEM_FIXED, dwName);
|
||||
if(NameBuffer == NULL)
|
||||
if (NameBuffer == NULL)
|
||||
{
|
||||
SetLastError(ERROR_OUTOFMEMORY);
|
||||
return FALSE;
|
||||
|
@ -934,15 +938,16 @@ LookupAccountSidA(LPCSTR lpSystemName,
|
|||
else
|
||||
NameBuffer = NULL;
|
||||
|
||||
if(dwReferencedDomainName > 0)
|
||||
if (dwReferencedDomainName > 0)
|
||||
{
|
||||
ReferencedDomainNameBuffer = (PWSTR)LocalAlloc(LMEM_FIXED, dwReferencedDomainName);
|
||||
if(ReferencedDomainNameBuffer == NULL)
|
||||
if (ReferencedDomainNameBuffer == NULL)
|
||||
{
|
||||
if(dwName > 0)
|
||||
if (dwName > 0)
|
||||
{
|
||||
LocalFree(NameBuffer);
|
||||
}
|
||||
|
||||
SetLastError(ERROR_OUTOFMEMORY);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -950,11 +955,9 @@ LookupAccountSidA(LPCSTR lpSystemName,
|
|||
else
|
||||
ReferencedDomainNameBuffer = NULL;
|
||||
|
||||
/*
|
||||
* convert the system name to unicode - if present
|
||||
*/
|
||||
|
||||
if(lpSystemName != NULL)
|
||||
/* convert the system name to unicode - if present */
|
||||
if (lpSystemName != NULL)
|
||||
{
|
||||
ANSI_STRING SystemNameA;
|
||||
|
||||
|
@ -964,10 +967,7 @@ LookupAccountSidA(LPCSTR lpSystemName,
|
|||
else
|
||||
SystemNameW.Buffer = NULL;
|
||||
|
||||
/*
|
||||
* it's time to call the unicode version
|
||||
*/
|
||||
|
||||
/* it's time to call the unicode version */
|
||||
Ret = LookupAccountSidW(SystemNameW.Buffer,
|
||||
lpSid,
|
||||
NameBuffer,
|
||||
|
@ -975,14 +975,14 @@ LookupAccountSidA(LPCSTR lpSystemName,
|
|||
ReferencedDomainNameBuffer,
|
||||
cchReferencedDomainName,
|
||||
peUse);
|
||||
if(Ret)
|
||||
if (Ret)
|
||||
{
|
||||
/*
|
||||
* convert unicode strings back to ansi, don't forget that we can't convert
|
||||
* more than 0xFFFF (USHORT) characters! Also don't forget to explicitly
|
||||
* terminate the converted string, the Rtl functions don't do that!
|
||||
*/
|
||||
if(lpName != NULL)
|
||||
if (lpName != NULL)
|
||||
{
|
||||
ANSI_STRING NameA;
|
||||
|
||||
|
@ -995,7 +995,7 @@ LookupAccountSidA(LPCSTR lpSystemName,
|
|||
NameA.Buffer[NameA.Length] = '\0';
|
||||
}
|
||||
|
||||
if(lpReferencedDomainName != NULL)
|
||||
if (lpReferencedDomainName != NULL)
|
||||
{
|
||||
ANSI_STRING ReferencedDomainNameA;
|
||||
|
||||
|
@ -1010,19 +1010,18 @@ LookupAccountSidA(LPCSTR lpSystemName,
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* free previously allocated buffers
|
||||
*/
|
||||
|
||||
if(SystemNameW.Buffer != NULL)
|
||||
/* free previously allocated buffers */
|
||||
if (SystemNameW.Buffer != NULL)
|
||||
{
|
||||
RtlFreeUnicodeString(&SystemNameW);
|
||||
}
|
||||
if(NameBuffer != NULL)
|
||||
|
||||
if (NameBuffer != NULL)
|
||||
{
|
||||
LocalFree(NameBuffer);
|
||||
}
|
||||
if(ReferencedDomainNameBuffer != NULL)
|
||||
|
||||
if (ReferencedDomainNameBuffer != NULL)
|
||||
{
|
||||
LocalFree(ReferencedDomainNameBuffer);
|
||||
}
|
||||
|
@ -1054,20 +1053,21 @@ LookupAccountSidW(LPCWSTR pSystemName,
|
|||
BOOL ret;
|
||||
DWORD dwAccountName, dwDomainName;
|
||||
|
||||
RtlInitUnicodeString ( &SystemName, pSystemName );
|
||||
Status = LsaOpenPolicy ( &SystemName, &ObjectAttributes, POLICY_LOOKUP_NAMES, &PolicyHandle );
|
||||
if ( !NT_SUCCESS(Status) )
|
||||
RtlInitUnicodeString(&SystemName, pSystemName);
|
||||
Status = LsaOpenPolicy(&SystemName, &ObjectAttributes, POLICY_LOOKUP_NAMES, &PolicyHandle);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
SetLastError ( LsaNtStatusToWinError(Status) );
|
||||
SetLastError(LsaNtStatusToWinError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
Status = LsaLookupSids ( PolicyHandle, 1, &pSid, &ReferencedDomain, &TranslatedName );
|
||||
|
||||
LsaClose ( PolicyHandle );
|
||||
Status = LsaLookupSids(PolicyHandle, 1, &pSid, &ReferencedDomain, &TranslatedName);
|
||||
|
||||
if ( !NT_SUCCESS(Status) || Status == STATUS_SOME_NOT_MAPPED )
|
||||
LsaClose(PolicyHandle);
|
||||
|
||||
if (!NT_SUCCESS(Status) || Status == STATUS_SOME_NOT_MAPPED)
|
||||
{
|
||||
SetLastError ( LsaNtStatusToWinError(Status) );
|
||||
SetLastError(LsaNtStatusToWinError(Status));
|
||||
ret = FALSE;
|
||||
}
|
||||
else
|
||||
|
@ -1086,14 +1086,15 @@ LookupAccountSidW(LPCWSTR pSystemName,
|
|||
*pdwAccountName = dwAccountName + 1;
|
||||
*pdwDomainName = dwDomainName + 1;
|
||||
ret = FALSE;
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Lengths are sufficient, copy the data */
|
||||
if(dwAccountName)
|
||||
if (dwAccountName)
|
||||
RtlCopyMemory(pAccountName, TranslatedName->Name.Buffer, dwAccountName * sizeof(WCHAR));
|
||||
pAccountName[dwAccountName] = L'\0';
|
||||
|
||||
if(dwDomainName)
|
||||
if (dwDomainName)
|
||||
RtlCopyMemory(pDomainName, ReferencedDomain->Domains[0].Name.Buffer, dwDomainName * sizeof(WCHAR));
|
||||
pDomainName[dwDomainName] = L'\0';
|
||||
|
||||
|
@ -1104,20 +1105,20 @@ LookupAccountSidW(LPCWSTR pSystemName,
|
|||
*peUse = TranslatedName->Use;
|
||||
}
|
||||
|
||||
if ( !ret )
|
||||
if (!ret)
|
||||
SetLastError(ERROR_INSUFFICIENT_BUFFER);
|
||||
}
|
||||
|
||||
if ( ReferencedDomain )
|
||||
LsaFreeMemory ( ReferencedDomain );
|
||||
if ( TranslatedName )
|
||||
LsaFreeMemory ( TranslatedName );
|
||||
if (ReferencedDomain)
|
||||
LsaFreeMemory(ReferencedDomain);
|
||||
|
||||
if (TranslatedName)
|
||||
LsaFreeMemory(TranslatedName);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* LookupAccountNameA [ADVAPI32.@]
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue