2009-03-17 7 views
0

.NET言語(おそらくC#)でWindows SDKの ".h"ファイルを使用しようとしましたが、成功しませんでした。このヘッダーは、COM経由でWindows Media Playerの機能を公開しています。私がWin32 C++を使用している場合は問題なく使用できますので、Managed C++を「ブリッジ」として使用してC#に公開することができます。.NET言語でC++ヘッダーを使用する

ヘッダーファイルは、Windows Media Player SDK 11(Windows SDK 6の一部)に付属するsubscriptionservices.hです。

これは可能ですか? .NETアプリケーションでこのヘッダーファイルを使用するにはどうすればよいですか?

おかげで、 エドゥアルドCobuci

+0

だから質問は何ですか? –

+0

これは可能ですか? .NETアプリケーションでこのヘッダーファイルを使用するにはどうすればよいですか?ありがとう! –

答えて

1

あなたは、Win32との相互運用へのPInvokeを使用することができます。 COMオブジェクトを使用しようとしている場合、プロジェクトへの参照を追加できるはずです。あなたは見たことがありますかthis article?

実際には、あなたがやっている仕事の種類を理解する必要があります。ポインタ演算をたくさんするつもりなら、私はmanaged C++をお勧めします。 C#でない場合。がんばろう。

+0

COMのことを書こうとしていたので、代わりに+1してください。ヘッダーファイルは間違いなくCOMです。 – OregonGhost

+0

うん...多くのマイクロソフトのAPIはCOMオブジェクトとして公開されているので、COM相互運用機能は非常に便利です。 –

+0

OpenGL ESがCOMだったらいいのに - それは.NETからそれを使うのは悪夢じゃない;) – OregonGhost

0

PInvokeを試してみてください。実際のヘッダーを使用することはできませんが、外部のアンマネージDLLの関数を参照することはできます。

0

あなたがその道を行く場合、これは、あなたがC++のパス上のヘッドスタートを与えるかもしれません。

http://code.msdn.microsoft.com/wmpinterop

WMPインターフェースはにP /起動するために、いくつかのトリッキーなインターフェースを有することに留意されたいです。私にとっては、C++ラッパーを書く方が簡単です。

0

APIが単純にPInvokeを使用できるのであれば、複雑な場合はC++/CLIを使用することをお勧めします。これにより、管理された世界と管理されていない世界の間に「橋渡し」を行うことができます。

関連する問題