CcMmLogLostDelayedWriteError

VOID __stdcall CcMmLogLostDelayedWriteError(_FILE_OBJECT *FileObject, INT64 DeviceError){
  unsigned int v2; 
  int v4; 
  NTSTATUS FileDosDeviceName; 
  UNICODE_STRING *p_FileName; 
  _VPB *Vpb; 
  _DEVICE_OBJECT *DeviceObject; 
  UINT64 Flags; 
  PVOID P; 
  v2 = DeviceError;
  P = 0i64;
  v4 = 1;
  FileDosDeviceName = IoQueryFileDosDeviceName(FileObject, (_OBJECT_NAME_INFORMATION **)&P);
  p_FileName = (UNICODE_STRING *)P;
  if( FileDosDeviceName )
    p_FileName = &FileObject->FileName;
  if( p_FileName->Length && p_FileName->MaximumLength && p_FileName->Buffer )
    v4 = 0;
  Vpb = FileObject->Vpb;
  if( Vpb )
    DeviceObject = Vpb->DeviceObject;
  else
    DeviceObject = FileObject->DeviceObject;
  LODWORD(Flags) = v4;
  FsRtlLogCcFlushError(p_FileName, DeviceObject, FileObject->SectionObjectPointer, v2, Flags);
  if( P )
    ExFreePoolWithTag(P, 0);
}

Referenced by:

CcWriteBehindInternal
MiLdwPopupWorker