“How much memory is your process using?”

This post does a great job sumarizing the different notions behind memory management in Windows. Clear and consise explanations details virtual/physical, commited/reserved and how section sharing can complexify computation of “How much memory is your process using?”.

A link that is worth preserving at least for the definition of each term: Windows Process Memory Usage Demystified | All Your Base Are Belong To Us

WinFsp: helper to develop user mode file system in Windows

This project provides an infrastructure to build user mode file system:

  • A kernel mode file system driver is responsible of re-routing IRP to user mode code,
  • A library provide a low level abstraction to build user mode file system. This part make the glu with previous kernel driver. A FUSE compatible layer is also provided,
  • a sample fs, memfs: an in memory file system,
  • A Windows Service called WinFsp Launcher to launch multiple user mode file system.

Source: Main | WinFsp

EDIT: Yet another solution for developping user mode filesystem with FUSE support: https://github.com/dokan-dev/dokany with a .Net binding.

Task Scheduler Managed Wrapper

Easy to use wrapper arround Task Scheduler: Task Scheduler Managed Wrapper – Home (samples here). You can create, delete, modify, list tasks on local machine or remote one.

Tasks are made of:

a trigger:

  • BootTrigger,
  • IdleTrigger,
  • LogonTrigger (can include a specific user by name or SID),
  • RegistrationTrigger (auto trigger after self regsitration),
  • SessionStateChangeTrigger (“connecting or disconnecting locally or remotely, or locking or unlocking the session”)
  • and every time specific triggers.

an action:

  • ExecAction,
  • EmailAction,
  • ShowMessageAction,
  • ComHandlerAction (“It allows the task to execute and In-Proc COM server object that implements the ITaskHandler interface”).