2011-07-01 12 views
0

標準のサードパーティ製のクライアントと統合しているActiveX DLLがあります。これを実現するには、カスタムのDEFファイル、プロキシリンカーを組み込み、COMライブラリを自己初期化する必要がありました。名前のデコレーションの検索

作成したクライアントでActiveX DLLをテストすると正常に動作します。ただし、サードパーティのクライアントにActiveX DLLを含めると、特定の関数呼び出しでクラッシュします。私はクラッシュがネーミングデコレーションの不一致の結果であると信じています。

サードパーティのクライアントプログラムに必要な名前の装飾を確認する方法はありますか?

おかげで、

+0

をタグが削除されました。 – pmg

+0

与えられた質問はあまりにも漠然とした意味の答えや助言を与えるように見えます。 –

+0

'dumpbin.exe/imports client.exe'を試しましたか? – wqw

答えて

1

依存関係ウォーカーがのDLLからエクスポートされたものをお見せすることができます

http://dependencywalker.com/

名の不一致がある場合は、あなたがエラーまたは例外が発生します。あなたが悪いパラメータを渡している可能性が高くなります。

[編集] 依存関係ウォーカーはあなたと呼ばれるDLLにそれらを一致させようとしている外部関数を示しています。私はあなたが何を意味するか理解していればには、「名前の装飾」がない

enter image description here

+0

私はDependency Walkerを使用しましたが、私はdllの署名しか見つけることができませんでした。クライアントプログラムに必要なシグネチャは表示されません。これは表示できますか? – Peretz

+0

オリジナルの回答を編集しました(イメージを貼り付けることができました)。 –

+0

イメージありがとうございます。何らかの理由で、関数の一致は、それぞれのexeの下にあるすべてのDLLに表示されます。しかし、いくつかのDLLは、他のメインexeと同じレベルで表示され、上部のウィンドウは空に見えます。 DLLはまた、exeで呼び出されます、偶然、あなたはなぜそれが表示されません知っていますか? – Peretz

関連する問題