EtwExitProcess
VOID __stdcall EtwExitProcess(_EPROCESS *Process){
PADAPTER_OBJECT *EtwDataSource;
_ADAPTER_OBJECT *v3;
void *CoverageSamplerContext;
EtwDataSource = (PADAPTER_OBJECT *)Process->EtwDataSource;
if( EtwDataSource )
{
Process->EtwDataSource = 0i64;
if( *EtwDataSource )
HalPutDmaAdapter(*EtwDataSource);
v3 = EtwDataSource[1];
if( v3 )
HalPutDmaAdapter(v3);
ExFreePoolWithTag(EtwDataSource, 0);
}
CoverageSamplerContext = Process->CoverageSamplerContext;
if( CoverageSamplerContext )
{
Process->CoverageSamplerContext = 0i64;
EtwpCovSampProcessCleanup((INT64)CoverageSamplerContext, 1);
ExFreePoolWithTag(CoverageSamplerContext, 0x56777445u);
}
}Referenced by:
No references.