CmpWriteOffsetArrayToFile
INT64 __stdcall CmpWriteOffsetArrayToFile(
UINT64 ArrayCount,
CMP_OFFSET_ARRAY *OffsetArray,
UINT64 FileLength,
PVOID FileHandle){
unsigned int v5;
INT64 result;
CMP_OFFSET_ARRAY *v7;
UINT64 v8;
struct _IO_STATUS_BLOCK IoStatusBlock;
int v10;
int v11;
HANDLE FileHandlea;
v11 = 0;
v5 = (unsigned int)OffsetArray;
v10 = (int)FileHandle;
IoStatusBlock = 0i64;
LODWORD(result) = ZwSetInformationFile(FileHandlea, &IoStatusBlock, &v10, 8ui64, FileEndOfFileInformation);
if( (int)result >= 0 )
{
LODWORD(v8) = 0;
LOBYTE(result) = CmpDoFileWrite(FileHandlea, v7, FileLength, (UINT64 *)v5, v8);
if( (int)result >= 0 )
LODWORD(result) = ZwFlushBuffersFile(FileHandlea, &IoStatusBlock);
}
return result;
}Referenced by:
CmDumpKey
CmpFlushBackupHive