EtwpCheckForStackTracingExtension
INT64 __fastcall EtwpCheckForStackTracingExtension(INT64 a1, RTL_BITMAP *a2){
unsigned __int16 *FlagExtension;
int updated;
unsigned __int16 *v7;
FlagExtension = EtwpGetFlagExtension(a1, 3);
if( FlagExtension )
{
updated = EtwpUpdateStackTracing(
(_WMI_LOGGER_CONTEXT *)a2,
(UINT64 *)(FlagExtension + 2),
(unsigned __int16)(4 * *FlagExtension - 4) >> 2);
if( updated >= 0 )
{
v7 = EtwpGetFlagExtension(a1, 5);
if( v7 )
{
if( 4 * *v7 == 12 )
return(unsigned int)EtwpEnableStackCaching(
(_WMI_LOGGER_CONTEXT *)a2,
*((unsigned int *)v7 + 1),
*((unsigned int *)v7 + 2));
else
return(unsigned int)-1073741811;
}
}
}
return(unsigned int)updated;
}Referenced by:
EtwpStartLogger
EtwpUpdateTrace