在Vista工作站上,我有一个附带的XP Embedded计算机,我想以编程方式在本地安装卷(例如,将XP Embedded \\MyXPEmbedded\C:\some\path\
安装到Vista工作站(安装到C:\mounted_XPEmbedded\
)。
(这是一个在Vista工作站上运行的pipe理工具,用于维护XP Embedded工作站上的文件,这是大型设备的一部分。)
我可以从Vista工作站上看到 XP Embedded计算机。 例如,我可以::getnameinfo()
从其IP地址parsingXP Embedded计算机的名称。
但是,所有对GetVolumeNameForVolumeMountPoint()
调用都会失败(返回false
),格式为::GetLastError()
消息为:
Logon failure: unknown user name or bad password
很显然,这似乎是一个权限问题。 但是,我没有在Microsoft API中看到如何通过这些卷GUIDpathAPI提供用户/密码。
当通过在地址栏中inputXP Embedded机器的IP地址从Vista工作站上的Windows资源pipe理器“浏览”XP Embedded时,系统会提示input用户名和密码,之后可以看到XP Embedded上的所有内容( 呃!我如何提供这个编程?)
问题:如何在使用GUIDpathAPI(特别是::GetVolumeNameForVolumeMountPoint()
)时以编程方式提供用户login名/密码?
部分问题可能是这些计算机不共享相同的域(它们不能,Vista计算机将被添加到客户的域中,XP Embedded必须“隐藏”)。
其他信息,这可能不重要:
红利问题:如果我可以在没有pipe理权限的情况下在Vista工作站上运行这个pipe理工具,这将是一件好事,这是可能的吗? (我知道embeddedXP的pipe理login/密码。)
在尝试访问嵌入式框中的共享之前拨打WNetAddConnection2
的电话。 您可能需要以MyXPEmbedded\[admin username]
的形式拥有用户MyXPEmbedded\[admin username]
。
如果您之前已尝试连接到嵌入式框,则可能会遇到问题。 要从命令行/delete
可以使用的任何延迟连接 – net use
和/delete
选项。 在运行程序进行调试之前,您也可以使用建立与网络连接的连接来玩游戏。
至于运行W / O管理员权限,主要是与你决定在哪里做本地安装点,但你可能只是使用UNC路径逃脱。 使用默认的管理共享(如果“使用简单文件共享”处于禁用状态,则启用该功能),则可以使用类似\\MyXPEmbedded\c$\some\path
方式访问嵌入式系统。
您可能需要建立至少一个从Vista工作站到XP工作站的SMB(命名管道/文件共享)连接,在具有足够权限的任何共享上,如\\ myXP \ whatever或\\ myXp \ c $甚至\\ myXP \ icp $,然后才能打开任何针对“myXP”计算机的网络路径。
您可以使用WNetAddConnection2函数以编程方式使用用户名和密码。