セキュリティ関連のタスクを実行するために使用するネイティブライブラリがあります。 Interopライブラリを作成して、.NETから使用できるようにしました。我々は2つのテストアプリケーションを持っている.netからネイティブコードを呼び出すと、それがネイティブプログラムから呼び出されたのと異なる結果になるのはなぜですか?
、最初のアプリケーションは、C++(アンマネージド)で書かれており、第二は、C#で書かれています。それらは、ネイティブライブラリへの呼び出しと全く同じシーケンスを生成しますが、異なる結果を生成します。
私は失われたんだと.NETのインポート定義のいずれかの明白な間違いを見つけることができません。私は非常に単純なインターフェイスでしか動作しないように、私はすでにそれを愚かにしました。 .NET環境からネイティブライブラリを呼び出すと結果に影響するかもしれないというアイディアを探しています。
編集: 私はライブラリの深い知識は持っていないので、ネイティブコードで何が行われているかについてはあまり説明することができません。私はそれが(ヒートビート)スレッドを維持していることを知っています。アプリケーションがVM上で実行されているかどうかを識別するために使用されるライブラリの別の部分も、同じ動作を示します。これは必ずしも関連していません。
私は、C#からネイティブライブラリを消費するのがやや簡単で、C#と同じ結果を与えるので、C++/CLIで別のテストアプリケーションを書いています。
ここではより多くの情報が必要だと思います。あなたは何をしていますか、どのようにしていますか? =) – Jens
ネイティブライブラリが異なる結果のソースである可能性は低いです。チャンスは、テストアプリケーションに違いがあります。 –
これにはさまざまな原因があります。詳細をお知らせください。 –