私はC#プログラマーで、ネイティブでは紹介しません。 私はネイティブDLLを持っています。&私のプロジェクトでそれを使用していますが、いくつかのタイプは管理コードで実行できません。 Native(C++)でDLLを準備します。イベントが発生したときに管理コードを認識したいときに使います。どうやってやるの?ネイティブDLLを作成
1
A
答えて
1
ネイティブDLLのAPIを使用して、イベントが発生したときに呼び出されるコールバックとして関数ポインタを登録できる場合は、通常のC#デリゲートを関数ポインタ(Marshal.GetFunctionPointerForDelegate
)にマーシャリングし、 P/Invoke。
1
ネイティブイベントをC#コードで処理したい場合は、C++ネイティブDLLとC#DLLの間の中間層として機能するC++/CLI DLLを作成することをお勧めします。これにより、中間ライブラリ内のイベントを処理して渡すことができ、管理対象DLLによって再度キャプチャされるようになります。
もう1つの方法は、ネイティブDLLをCOM DLLとして書き込んでそこからCOMディスパッチイベントを呼び出すことです。このCOM DLLの相互運用機能を作成すると、C#DLLに直接イベントを取り込むことができます。しかし、COMプログラミングの初心者であれば、このルートは非常に急な学習曲線になります。
関連する問題
- 1. COM対ネイティブDLL
- 2. ネイティブDLL - C#
- 3. ネイティブx64 dllが動作しません
- 4. ネイティブDLL acess denied UWP
- 5. ネイティブC++のdll /メモリ
- 6. ネイティブDLLのAssemblyInfoパッチ
- 7. ダイナミックコンポーネントリアクション(ネイティブ)を作成
- 8. データをアップロードするネイティブDLL
- 9. ネイティブ対ネイティブ対ネイティブアプリを作成する
- 10. C++ネイティブDLLのC++/CLIラッパー
- 11. ネイティブC++ COM .dllを.NET COM .dllに置き換えます。
- 12. NetBeansでネイティブDLLのカスタムパスを提供
- 13. intelliJにネイティブdllファイルを追加する
- 14. jarをネイティブdllに変換する
- 15. C#でネイティブDLLを使用する
- 16. サービスファブリックでネイティブDLLをインポートするには?
- 17. 別の.dllを参照する.dllを作成します。
- 18. テスト用のオフラインビルドを作成する:ネイティブのネイティブ
- 19. Silverlight 5アプリケーションでのネイティブ.dllのデバッグ
- 20. WindowsフォームでのネイティブC++ dllの使用
- 21. CABのネイティブDLL(Windows Mobile上)のインストール
- 22. 反応ネイティブでパーティクルエフェクトを作成する
- 23. WebサービスをPHPネイティブで作成する
- 24. 反応ネイティブでシングルトンクラスを作成する
- 25. ReactネイティブAndroidアプリでWebワーカーを作成
- 26. ネイティブでネットワークリクエストを作成する
- 27. UnsatisfiedLinkError - C++ DLLを作成するには?
- 28. DLL内にスレッドを作成します
- 29. dev-C++でC++のDLLを作成
- 30. アンマネージdllクラスのインスタンスを作成