SmKmIssueFileIo
__int64 __fastcall SmKmIssueFileIo(
__int64 *a1,
__int64 a2,
_LARGE_INTEGER *a3,
void (__stdcall *a4)(PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved),
PVOID ApcContext){
_IO_STATUS_BLOCK *v6;
void *v7;
__int64 v8;
NTSTATUS File;
ULONG v11;
v6 = *(_IO_STATUS_BLOCK **)a2;
v7 = *(void **)(a2 + 8);
v8 = *a1;
v11 = *(_DWORD *)(a2 + 16);
if( (*(_DWORD *)(a2 + 32) & 1) != 0 )
File = NtReadFile(v8, 0, a4, ApcContext, v6, v7, v11, a3, 0i64);
else
File = NtWriteFile(v8, 0, a4, ApcContext, v6, v7, v11, a3, 0i64);
if( (File & 0xC0000000) == -1073741824 )
{
v6->Status = File;
((void(__fastcall *)(PVOID, _IO_STATUS_BLOCK *, _QWORD))a4)(ApcContext, v6, 0i64);
}
return 259i64;
}Referenced by:
SmKmIssueIo