模拟后,从映射的驱动器字母获取UNC路径

| 如果我调用函数“ 0”从当前会话中映射的驱动器获取UNC路径,则该函数成功。 但... 如果我通过调用
LogonUser()
创建新的登录会话(登录用户与进程创建者相同) 通过调用
ImpersonateLoggedOnUser()
函数模拟登录的用户 再次调用
WNetGetUniversalName()
,该函数返回错误2250(
ERROR_NOT_CONNECTED
) 问题是我应该将此进程作为服务运行(在SYSTEM帐户中),因此我可能需要冒充用户以获取该用户的映射驱动器和关联的网络路径。正如我检查的那样,无法跨用户会话访问该信息。 Windows在何处存储此信息,以便在用户重新登录时可以重新映射驱动器?我发现映射的网络路径历史记录保留在注册表中的键“ѭ5”下,但是当用户重新登录并关联驱动器字母时,它没有说UNC路径是否会被映射。 请帮忙。     
已邀请:
如果我没记错的话,我相信这些驱动器映射将存储在登录会话中。由于LogonUser()创建了新的登录会话,因此它将不具有驱动器映射。您必须将ImpersonateLoggedOnUser()与现有令牌一起使用。     

要回复问题请先登录注册