2009-01-29 164 views
1

微软似乎正在将大量配置和查询功能移动到PowerShell(可从C#或托管C++访问),同时废弃甚至删除较旧的API(可用于C或非托管C++)。我们这些拥有大量非托管C++程序但无法切换到托管C++的人可能需要调用PowerShell cmdlet(至少我现在有一个) - 我们该怎么做?从非托管C++调用PowerShell脚本

有人建议反向PInvoke(托管/非托管thunk)可能能够做些什么,但我希望有更好的方法比thunking或解析从PowerShell脚本输出的文本。

[注:这是一个重新设计和广义query I made yesterday可能已经太专业了。]

回答

2

的MS的建议很可能是编译在一般非托管C++应用程序特定的类/模块,托管代码(编译个人带有/ clr的文件),并让IJW转换代码管理对它的调用(并从管理位调用PowerShell API)。我被告知(来自MS VC++人员),这是将大量托管调用添加到大型非托管应用程序的预期方法。

希望有所帮助。

+0

谢谢。这个建议给了我一些有趣的事情来查询,并且我们有一个基于我们发现的计划实现。 – 2009-01-30 18:16:36