C++ 从其他计算机获取的SID上的ConvertSidToStringSid
我很好奇,我们是否能够转换一个二进制SID,这个SID是从一个与调用这个API完全不同的机器上获得的 通过调用以下命令在源计算机上获取SID:C++ 从其他计算机获取的SID上的ConvertSidToStringSid,c++,windows,winapi,C++,Windows,Winapi,我很好奇,我们是否能够转换一个二进制SID,这个SID是从一个与调用这个API完全不同的机器上获得的 通过调用以下命令在源计算机上获取SID: GetTokenInformation(hToken, TokenUser, , , ); 然后使用GetLengthSid()API计算SID本身的二进制数组大小。Windows有时确实需要操作外部SID,例如,如果您连接到另一台计算机上的文件共享,或连接到另一台计算机上使用过的外部NTFS格式磁盘。因此,它完全有能力做到这一点 当然,如果您试图将S
GetTokenInformation(hToken, TokenUser, , , );
然后使用
GetLengthSid()
API计算SID本身的二进制数组大小。Windows有时确实需要操作外部SID,例如,如果您连接到另一台计算机上的文件共享,或连接到另一台计算机上使用过的外部NTFS格式磁盘。因此,它完全有能力做到这一点
当然,如果您试图将SID转换为用户名,就会遇到麻烦。但是,像将二进制SID转换为字符串表示或将二进制SID转换为字符串表示这样简单的操作将非常有效。我不明白为什么不能,因为它只是将SID中的位转换为字符串形式。