MiniFilter InstanceSetupCallback is not called?

一般來說,MiniFilter 的 InstanceSetupCallback 會在 filter manager 把 minifilter attache 到 volume 後呼叫。如果沒有的話,可以檢查一下 minifilter 的 INF 是否把 instance flags 設定成 0x00000001 了:

  • 0x00000000: Allow all attachments
  • 0x00000001: Suppress automatic attachments

如果你的 INF 不是自己從頭寫的,而是參考 Windows Minispy 改來的,哪很有可能你沒有收到 InstanceSetupCallback() 的原因就是你忘了改掉 flags 值為 0。

;Instances specific information.
DefaultInstance    = "Scanner Instance"
Instance1.Name     = "Scanner Instance"
Instance1.Altitude = "265000"
Instance1.Flags    = 0x0          ; Allow all attachments

Written with StackEdit.

windbg cheet sheet

WinDbg Cheet Sheet

Launch program

$> windbg -y C:\sym -srcpath C:\src notepad.exe

Written with StackEdit.

MiniFilter InstanceSetupCallback is not called?

一般來說,MiniFilter 的 InstanceSetupCallback 會在 filter manager 把 minifilter attache 到 volume 後呼叫。如果沒有的話,可以檢查一下 minifilter 的 INF 是否把 instance fla...