IopQueryPassiveInterruptRegistryOptions
NTSTATUS __stdcall IopQueryPassiveInterruptRegistryOptions(){
int v0;
NTSTATUS v1;
char v2;
char v4;
int v5;
int v6;
_QWORD v7[29];
memset(&v7[1], 0i64, 0xE0u);
LODWORD(v7[7]) = 0;
LODWORD(v7[14]) = 0;
LODWORD(v7[21]) = 0;
LODWORD(v7[0]) = (unsigned __int8)PassiveInterruptForceCriticalWorker;
v5 = (unsigned __int8)PassiveInterruptRealtimeWorkerCount;
v6 = (unsigned __int8)PassiveInterruptRealtimeWorkerPriority;
v7[3] = L"PassiveIntRealTimeWorkerCount";
v7[4] = &v5;
v7[6] = &v5;
v7[10] = L"PassiveIntRealTimeWorkerPriority";
v7[11] = &v6;
v7[13] = &v6;
v7[17] = L"PassiveIntForceCriticalWorker";
v7[18] = v7;
LODWORD(v7[2]) = 288;
LODWORD(v7[5]) = 67108868;
LODWORD(v7[9]) = 288;
LODWORD(v7[12]) = 67108868;
LODWORD(v7[16]) = 288;
LODWORD(v7[19]) = 67108868;
v7[20] = v7;
LOBYTE(v0) = RtlpQueryRegistryValues((_KTRAP_FRAME *)2, (_KEXCEPTION_FRAME *)&stru_1407D01E0);
v1 = v0;
if( v0 >= 0 )
{
if( (_BYTE)v5 )
{
v2 = v5;
if( (unsigned __int8)v5 > 0x10u )
v2 = 16;
PassiveInterruptRealtimeWorkerCount = v2;
}
if( (unsigned __int8)v6 > 0x10u )
{
v4 = v6;
if( (unsigned __int8)v6 > 0x15u )
v4 = 21;
PassiveInterruptRealtimeWorkerPriority = v4;
}
}
return v1;
}Referenced by:
IopInitializePassiveInterruptServices