我正在 Windows XP 上编写一个应用程序,它提供了用户的 SID。
使用有效的令牌句柄,当我GetTokenInfomation
使用作为第二个参数调用 API 时TokenUser
,每次 & 对于所有用户帐户,我都会在PTOKEN_USER
结构变量中获得 Valid SID。
有效 Sid => Sid 是S-1-5-21-1121170692-2157880286-4158546613-1000
这里 RID => 1000
但是当我将NetQueryDisplayInformation
APINET_DISPLAY_USER
用作信息级别(第二个参数)时,我将NET_DISPLAY_USER
结构作为输出参数。
User123
是我的一个具有管理权限的帐户。
在结构的帮助下,NET_DISPLAY_USER
当我LookupAccountName
使用变量NET_DISPLAY_USER.usri1_name
作为用户帐户的名称调用 API 时,对于一个User123
帐户,我得到没有 RID 的 SID。
例如像这样 => Sid 是S-1-5-21-1121170692-2157880286-4158546613
对于具有相同程序的其他帐户,我提供了正确的 SID,即带有 RID 的 SID
例如有效 Sid => Sid 是S-1-5-21-1121170692-2157880286-4158546613-1000
请为我提供在第二种情况下返回没有 RID 的 SID 的任何指针。