IoRecordIoAttribution
__int64 __fastcall IoRecordIoAttribution(unsigned __int64 a1, _DWORD *a2){
void *v3;
void *v4;
UINT64 *v5;
int v6;
int v7;
if( *a2 == 1 )
{
LODWORD(v3) = IopFindDiskIoAttribution((PVOID)a1);
v4 = v3;
if( v3 )
{
v5 = (UINT64 *)v3;
while( 1 )
{
v6 = a2[1];
if( (v6 & 0x800) == 0 || (v6 & 0x200) != 0 || v5[22] )
{
v7 = IopRecordIoAttribution(v5, (INT64)a2, 0);
if( v7 < 0 )
break;
}
v5 = (UINT64 *)v5[22];
if( !v5 )
{
v7 = 0;
break;
}
}
IoDiskIoAttributionDereference(v4);
}
else
{
return(unsigned int)-1073741816;
}
}
else
{
return(unsigned int)-1073741735;
}
return(unsigned int)v7;
}Referenced by:
No references.