SmKmIssueFileIo
__int64 __fastcall SmKmIssueFileIo(
struct _SMKM_FILE_INFO *a1,
struct _SMKM_ISSUE_IO_PARAMS *a2,
union _LARGE_INTEGER *a3,
void (__stdcall *a4)(void *, struct _IO_STATUS_BLOCK *, unsigned int),
void *ApcContext){
struct _IO_STATUS_BLOCK *v6;
void *v7;
void *v8;
NTSTATUS File;
ULONG v11;
v6 = *(struct _IO_STATUS_BLOCK **)a2;
v7 = (void *)*((_QWORD *)a2 + 1);
v8 = *(void **)a1;
v11 = *((_DWORD *)a2 + 4);
if( (*((_DWORD *)a2 + 8) & 1) != 0 )
File = NtReadFile(v8, 0i64, a4, ApcContext, v6, v7, v11, a3, 0i64);
else
File = NtWriteFile(v8, 0i64, a4, ApcContext, v6, v7, v11, a3, 0i64);
if( (File & 0xC0000000) == -1073741824 )
{
v6->Status = File;
((void(__fastcall *)(void *, struct _IO_STATUS_BLOCK *, _QWORD))a4)(ApcContext, v6, 0i64);
}
return 259i64;
}Referenced by:
SmKmIssueIo