SmKmIssueIo
NTSTATUS __stdcall SmKmIssueIo(
_SMKM_FILE_INFO *FileInfo,
_SMKM_ISSUE_IO_PARAMS *IoParams,
VOID *CompletionRoutine,
VOID *CompletionContext,
UINT64 PerformsFileIo){
__int64 v5;
__int64 i;
_LARGE_INTEGER v8;
v5 = (unsigned int)IoParams[6];
for( i = *((_QWORD *)FileInfo + 6); (unsigned int)v5 >= *(_DWORD *)i; i += 16i64 )
v5 = (unsigned int)(v5 - *(_DWORD *)i);
v8.QuadPart = *(_QWORD *)(i + 8) + (unsigned int)IoParams[5] + v5 * (unsigned int)IoParams[7];
if( (_DWORD)PerformsFileIo )
return SmKmIssueFileIo(
(__int64 *)FileInfo,
(__int64)IoParams,
&v8,
(void(__stdcall *)(PVOID, PIO_STATUS_BLOCK, ULONG))CompletionRoutine,
CompletionContext);
else
return SmKmIssueVolumeIo(
(__int64)FileInfo,
(__int64)IoParams,
&v8,
(int(__fastcall *)(_DEVICE_OBJECT *, _IRP *, void *))CompletionRoutine,
CompletionContext);
}Referenced by:
SmIssueIo