我正在构建Windows的设备驱动程序(WDM驱动程序,32位),我需要检测终端会话的创建和关闭。
我知道如何获取调用者进程的会话ID(ZwQueryInformationProcess
并带有ProcessSessionInformation
标志)。我还拦截了图形驱动程序加载/卸载到会话中的事件(通过ZwSetSystemInformation
/ SystemLoadImage
截取SystemUnLoadImage
。
我希望会话创建/关闭事件之后会调用带有ZwSetSystemInformation
/ SystemCreateSession
标志的SystemDeleteSession
。但不幸的是,这不会发生。到目前为止,我没有找到会话创建/关闭的良好指示。
答案 0 :(得分:1)
SystemCreateSession
和SystemDeleteSession
不再使用。我没有对此进行太多调查,但是看一下在传递给NtCreateUserProcess
的ProcessFlags中设置0x80标志的时间。它可能与每个会话的CSR创建有关。