SmKmStoreFileDelete
NTSTATUS __stdcall SmKmStoreFileDelete(_SMKM_FILE_INFO *FileInfo){
UINT64 v2;
char v3;
char v4;
NTSTATUS Status;
INT16 v6;
NTSTATUS v7;
UINT64 FileInformationClass;
_IO_STATUS_BLOCK IoStatusBlock;
INT8 FileInformation;
IoStatusBlock = 0i64;
IoSetThreadHardErrorMode(0);
v2 = *(_QWORD *)FileInfo;
FileInformation = 1;
LODWORD(FileInformationClass) = 13;
v4 = v3;
Status = ZwSetInformationFile(v2, (UINT64)&IoStatusBlock, &FileInformation, 1ui64, FileInformationClass);
v7 = 0;
if( Status == 259 )
{
KeWaitForSingleObject(*((_QWORD *)FileInfo + 1) + 152i64, 0, 0, 0, 0i64);
Status = IoStatusBlock.Status;
}
LOBYTE(v6) = v4;
if( Status < 0 )
v7 = Status;
IoSetThreadHardErrorMode(v6);
return v7;
}Referenced by:
SmKmStoreFileCreate
SmKmStoreFileCreateForIoType
SmcCacheCleanup