AuthzBasepQueryClaimAttributesToken
INT64 __fastcall AuthzBasepQueryClaimAttributesToken(
_AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION *pInfo,
VOID *pBuffer,
UINT64 BufferLength,
UINT64 *pReturnLength){
UINT64 v7;
INT64 result;
int v9;
UINT64 pBufferSize;
pBufferSize = 0i64;
*(_DWORD *)pReturnLength = 0;
v7 = (unsigned int)BufferLength;
if( pInfo->SecurityAttributeCount )
{
result = AuthzBasepGetClaimAttributesCopyoutBufferSize(pInfo, &pBufferSize);
if( (int)result >= 0 )
{
v9 = pBufferSize;
if( pBufferSize )
{
if( v7 >= pBufferSize )
{
memset((INT64)pBuffer, 0i64);
LODWORD(result) = AuthzBasepCopyoutClaimAttributes(&pInfo->SecurityAttributeCount, pBuffer, v7);
}
else
{
result = 3221225507i64;
}
*(_DWORD *)pReturnLength = v9;
}
else
{
return 3221225485i64;
}
}
}
else
{
if( (unsigned int)BufferLength < 0x10 )
{
result = 3221225507i64;
}
else
{
*(_OWORD *)pBuffer = 0i64;
*(_WORD *)pBuffer = 1;
result = 0i64;
}
*(_DWORD *)pReturnLength = 16;
}
return result;
}Referenced by:
NtQueryInformationToken
SeQueryInformationToken