WTS32api:WTSEnumerateSessions返回错误代码5

时间:2018-12-20 12:53:28

标签: c# winapi

我正在使用WTSEnumerateSessions来获取用户会话。在大多数情况下,它工作正常,但有时返回0个用户会话。

因此,我们添加了Marshal.GetLastWin32Error()来了解其背后的原因。并且我们得到了错误代码5-表示访问被拒绝。

IntPtr ppSessionInfo = IntPtr.Zero;
Int32 pCount = 0;
Int32 retval = WTSEnumerateSessions(server, 0, 1, ref ppSessionInfo, ref pCount);
Log.Write(pCount.ToString());
Int32 dataSize = Marshal.SizeOf(typeof(WTS_SESSION_INFO));

Int64 current = (int)ppSessionInfo;

if (retval == 0 || pCount == 0)
{
    Log(Marshal.GetLastWin32Error());
}

by this,我知道它是“访问被拒绝”,但是我想知道更多。为什么在执行此类较低级别的API时会拒绝访问,而有时却并非总是如此

0 个答案:

没有答案