PpLastGoodDeleteFilesCallback

INT64 __stdcall PpLastGoodDeleteFilesCallback(
        UNICODE_STRING *FullPathName,
        UNICODE_STRING *FileName,
        UINT64 FileAttributes,
        PVOID Context){
  INT64 result; 
  struct _IO_STATUS_BLOCK IoStatusBlock; 
  struct _OBJECT_ATTRIBUTES ObjectAttributes; 
  UNICODE_STRING FileHandle; 
  char FileInformation; 
  *(&ObjectAttributes.Length + 1) = 0;
  memset(&ObjectAttributes.Attributes + 1, 0, 20);
  *(_QWORD *)&FileHandle.Length = 0i64;
  IoStatusBlock = 0i64;
  IopFileUtilClearAttributes(FullPathName);
  ObjectAttributes.RootDirectory = 0i64;
  ObjectAttributes.Length = 48;
  ObjectAttributes.Attributes = 64;
  ObjectAttributes.ObjectName = FullPathName;
  LODWORD(result) = ZwOpenFile(&FileHandle, (PWCHAR)0x10080);
  if( (int)result >= 0 )
  {
    FileInformation = 1;
    ZwSetInformationFile(
      *(VOID **)&FileHandle.Length,
      &IoStatusBlock,
      &FileInformation,
      1ui64,
      FileDispositionInformation);
    ZwClose(*(HANDLE *)&FileHandle.Length);
    return 0i64;
  }
  return result;
}

Referenced by:

No references.