Я создаю драйвер устройства для Windows (драйвер WDM, 32-разрядный), и мне нужно обнаружить создание и закрытие сеансов терминала.
Я знаю, как получить идентификатор сеанса вызывающего процесса (ZwQueryInformationProcess
с флагом ProcessSessionInformation
). Я также перехватываю событие загрузки / выгрузки графического драйвера в сеанс (перехватывая ZwSetSystemInformation
с SystemLoadImage
/ SystemUnLoadImage
).
И я надеялся, что за событием создания / закрытия сеанса последует вызов ZwSetSystemInformation
с флагами SystemCreateSession
/ SystemDeleteSession
. Но, к сожалению, этого не происходит. Пока что я не нашел хорошего указания на создание / закрытие сеанса.