MiStoreModifiedWriteDereference

VOID __stdcall MiStoreModifiedWriteDereference(_MMMOD_WRITER_MDL_ENTRY *ModWriterEntry){
  _MI_PARTITION *Partition; 
  unsigned __int64 ByteCount; 

  if( _InterlockedExchangeAdd((volatile signed __int32 *)&ModWriterEntry->StoreWriteRefCount, 0xFFFFFFFF) == 1 )
  {
    Partition = ModWriterEntry->Partition;
    ByteCount = ModWriterEntry->Mdl.ByteCount;
    ModWriterEntry->u.IoStatus.Status = 0;
    ModWriterEntry->u.IoStatus.Information = ByteCount;
    KeInitializeApc(
      (INT64)&ModWriterEntry->StoreWriteCompletionApc,
      (INT64)Partition->Modwriter.ModifiedPageWriterThread,
      0i64,
      (INT64)MiStoreWriteModifiedCompleteApc,
      0i64,
      0i64,
      0,
      0i64);
    KeInsertQueueApc((INT64)&ModWriterEntry->StoreWriteCompletionApc, (INT64)ModWriterEntry, 0i64, 0i64);
  }
}

Referenced by:

MiStoreWriteModifiedPages
SmIoRequestComplete