IoReportInterruptActive

VOID __stdcall IoReportInterruptActive(_IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS *Parameters){
  _KINTERRUPT **v1; 
  unsigned int j; 
  _QWORD *Generic; 
  unsigned int i; 
  switch( Parameters->Version )
  {
    case 1u:
      goto LABEL_2;
    case 2u:
      Generic = Parameters->ConnectionContext.Generic;
      for( i = 0; i < *((_DWORD *)Generic + 73); ++i )
        IopUnmaskInterrupt((_KINTERRUPT *)(Generic[i + 37] + 112i64));
      break;
    case 3u:
      v1 = (_KINTERRUPT **)Parameters->ConnectionContext.Generic;
      for( j = 0; j < *((_DWORD *)v1 + 1); ++j )
        IopUnmaskInterrupt(v1[6 * j + 3]);
      break;
    default:
      if( Parameters->Version != 4 )
        KeBugCheckEx(0xCAu, 0xCui64, Parameters->Version, 0i64, 0i64);
LABEL_2:
      IopUnmaskInterrupt(Parameters->ConnectionContext.InterruptObject);
      return;
  }
}

Referenced by:

No references.