SmKmStoreFileDelete
__int64 __fastcall SmKmStoreFileDelete(__int64 a1){
UINT8 v2;
VOID *v3;
UINT8 v4;
NTSTATUS Status;
unsigned int v6;
struct _IO_STATUS_BLOCK IoStatusBlock;
char FileInformation;
IoStatusBlock = 0i64;
v2 = IoSetThreadHardErrorMode(0);
v3 = *(VOID **)a1;
FileInformation = 1;
v4 = v2;
Status = ZwSetInformationFile(v3, &IoStatusBlock, &FileInformation, 1ui64, FileDispositionInformation);
v6 = 0;
if( Status == 259 )
{
KeWaitForSingleObject((PVOID)(*(_QWORD *)(a1 + 8) + 152i64), Executive, 0, 0, 0i64);
Status = IoStatusBlock.Status;
}
if( Status < 0 )
v6 = Status;
IoSetThreadHardErrorMode(v4);
return v6;
}Referenced by:
SmKmStoreFileCreate
SmKmStoreFileCreateForIoType
SmcCacheCleanup