我尝试使用.NET SDK中的“.h
”文件(可能是C#),但没有成功。此标头通过COM公开一些Windows Media Player功能。如果我使用Win32 C ++,我可以毫无问题地使用它,所以我认为我可以使用托管C ++作为“桥”将它暴露给C#。
头文件是Windows Media Player SDK 11(Windows SDK 6的一部分)附带的subscriptionservices.h
。
这可能吗?我怎么能在.NET应用程序中使用该头文件?
谢谢, Eduardo Cobuci
答案 0 :(得分:1)
您可以使用PInvoke与Win32互操作。如果您尝试使用COM对象,则应该能够添加对项目的引用。你看过this article?
吗?更实际的是,你需要了解你正在做的工作。如果您要进行大量的指针运算,那么我建议使用托管c ++。如果不是C#。祝你好运。
答案 1 :(得分:1)
如果您希望从头文件中使用特定代码段或类型,则可以将它们粘贴到PInvoke Interop Assistant中并获取为您生成的C#代码。
http://www.codeplex.com/clrinterop/Release/ProjectReleases.aspx?ReleaseId=14120
答案 2 :(得分:0)
试试PInvoke。我不认为你可以使用实际的头,但你可以引用外部非托管DLL中的函数。
答案 3 :(得分:0)
是的 - 有可能。 P / Invoke是你的朋友。使用此链接翻译标题。
答案 4 :(得分:0)
如果您这样做,这可能会让您在C ++路径上领先一步。
http://code.msdn.microsoft.com/wmpinterop
请注意,WMP接口有一些棘手的P / Invoke接口。对我来说,编写C ++包装器更容易。
答案 5 :(得分:0)
如果API只是你可以使用PInvoke,如果它很复杂我会建议使用C ++ / CLI。这允许您在托管和非托管世界之间创建“桥梁”。