AdtpGetCategoryAndSubCategoryId
INT64 __stdcall AdtpGetCategoryAndSubCategoryId(UINT64 FlatSubCategoryId, UINT64 *CategoryId, UINT64 *SubCategoryId){
unsigned int v3;
unsigned int v4;
unsigned int v6;
__int64 *i;
unsigned int v8;
v3 = 0;
v4 = FlatSubCategoryId - 100;
if( v4 > 0x3A || !CategoryId && !SubCategoryId )
return 3221225485i64;
v6 = 0;
for( i = AdtpPerCategoryCount; ; i = (__int64 *)((char *)i + 2) )
{
v8 = v3 + *(unsigned __int16 *)i;
if( v8 > v4 )
break;
++v6;
v3 = v8;
if( v6 >= 9 )
return 3221225473i64;
}
if( CategoryId )
*(_DWORD *)CategoryId = v6;
if( SubCategoryId )
*(_DWORD *)SubCategoryId = v4 - v3;
return 0i64;
}Referenced by:
AdtpWriteToEtw
AdtpWriteToEtwEx