IoStartIoRateControl
NTSTATUS __stdcall IoStartIoRateControl(
_JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 *ControlInfo,
PVOID VolumeHandle,
PVOID DiskIoAttribution,
PVOID *RateControl,
UINT64 *VolumeKey){
unsigned int v5;
UINT64 v8;
unsigned __int64 v9;
UINT64 RateAmounts[16];
v5 = ControlInfo[9];
RateAmounts[0] = *(_QWORD *)ControlInfo;
RateAmounts[3] = *((_QWORD *)ControlInfo + 2);
RateAmounts[6] = *((_QWORD *)ControlInfo + 6);
RateAmounts[9] = *((_QWORD *)ControlInfo + 12);
RateAmounts[12] = *((_QWORD *)ControlInfo + 15);
RateAmounts[1] = *((_QWORD *)ControlInfo + 1);
RateAmounts[4] = *((_QWORD *)ControlInfo + 7);
RateAmounts[7] = *((_QWORD *)ControlInfo + 8);
RateAmounts[10] = *((_QWORD *)ControlInfo + 13);
RateAmounts[13] = *((_QWORD *)ControlInfo + 16);
RateAmounts[2] = *((_QWORD *)ControlInfo + 9);
RateAmounts[5] = *((_QWORD *)ControlInfo + 10);
RateAmounts[8] = *((_QWORD *)ControlInfo + 11);
RateAmounts[11] = *((_QWORD *)ControlInfo + 14);
RateAmounts[14] = *((_QWORD *)ControlInfo + 17);
v8 = (v5 >> 1) & 1 | 2;
if( (v5 & 4) == 0 )
v8 = (v5 >> 1) & 1;
v9 = (unsigned int)v8 | 4;
if( (v5 & 8) == 0 )
v9 = (unsigned int)v8;
return IopIoRateStartRateControl(
RateAmounts,
v8,
(VOID *)v9,
VolumeHandle,
(VOID **)DiskIoAttribution,
(UINT64 *)RateControl);
}Referenced by:
PspIoRateEntryActivate