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