RM_PROCESS_INFO::TSSessionId is unsigned but RM_INVALID_TS_SESSION is signed
KalleOlaviNiemitalo opened this issue · comments
RM_INVALID_TS_SESSION is intended to be compared to RM_PROCESS_INFO::TSSessionId but they have different types; one is signed and the other is unsigned. That then requires an unchecked
cast when these are compared in C#.
win32metadata/generation/WinSDK/RecompiledIdlHeaders/um/RestartManager.h
Lines 99 to 100 in c2b7ea9
Can the same type be used for both? I guess it would have to be the unsigned type, for consistency with WTS_CURRENT_SESSION, WTSQuerySessionInformationW, and others.
Similar considerations may apply to RM_INVALID_PROCESS vs. RM_UNIQUE_PROCESS::dwProcessId, but I haven't found any formal documentation on the intended use of RM_INVALID_PROCESS.