PiUEventHandleIoctl

__int64 __fastcall PiUEventHandleIoctl(
        _IRP *Irp,
        __int64 a2,
        unsigned int a3,
        unsigned int a4,
        __int64 a5,
        __int64 a6,
        __int64 a7,
        __int64 a8){
  __int64 v9; 
  unsigned int Event; 
  unsigned int v11; 
  v9 = *((_QWORD *)Irp + 23);
  switch( *(_DWORD *)(v9 + 24) )
  {
    case 0x470800:
      Event = PiUEventHandleRegistration(
                *(FILE_OBJECT **)(v9 + 48),
                *((PVOID *)Irp + 3),
                *(unsigned int *)(v9 + 16),
                *(unsigned int *)(v9 + 8),
                (IO_STATUS_BLOCK *)Irp + 3);
      break;
    case 0x470804:
      Event = PiUEventHandleGetEvent(
                *(FILE_OBJECT **)(v9 + 48),
                *((PVOID *)Irp + 3),
                *(UINT64 *)&a3,
                (IO_STATUS_BLOCK *)*(unsigned int *)(v9 + 8));
      break;
    case 0x470808:
      Event = PiUEventHandleVetoEvent(
                *(FILE_OBJECT **)(v9 + 48),
                *((PVOID *)Irp + 3),
                *(unsigned int *)(v9 + 16),
                *(IO_STATUS_BLOCK **)&a4);
      break;
    case 0x47080C:
      Event = PiUEventHandleUnregisterClient(*(FILE_OBJECT **)(v9 + 48));
      break;
    default:
      v11 = -1073741637;
      goto LABEL_5;
  }
  v11 = Event;
LABEL_5:
  *((_DWORD *)Irp + 12) = v11;
  IofCompleteRequest(Irp, 0);
  return v11;
}

Referenced by:

No references.