IopCancelIrpsInThreadListForCurrentProcess

UINT64 __stdcall IopCancelIrpsInThreadListForCurrentProcess(
        FILE_OBJECT *FileObject,
        IO_STATUS_BLOCK *IoRequestToCancel){
  unsigned int v4; 
  __int64 v5; 
  _QWORD *i; 
  _ETHREAD *NextProcessThread; 
  INT64 v8; 
  INT64 result[13]; 
  struct _KEVENT Event; 
  char v12; 
  v4 = 0;
  v5 = *((_QWORD *)KeGetCurrentThread() + 23);
  memset((INT64)result, 0i64);
  result[11] = (INT64)FileObject;
  result[12] = (INT64)IoRequestToCancel;
  v12 = 0;
  KeInitializeEvent(&Event, NotificationEvent, 0);
  for( i = 0i64; ; i = (_QWORD *)v8 )
  {
    NextProcessThread = (_ETHREAD *)PsGetNextProcessThread(v5, i);
    v8 = (INT64)NextProcessThread;
    if( !NextProcessThread )
      break;
    if( (unsigned int)IopCancelApcRequired(NextProcessThread, FileObject, IoRequestToCancel) )
      v4 |= IopCancelIrpsInThreadList(v8, (INT64)result);
  }
  return v4;
}

Referenced by:

IopRevokeFileObjectForProcess
NtCancelIoFileEx