!logexts.loge c:\logs
!logexts.logc e *
!logexts.logo d d
!logexts.logo d t
!logexts.logo e v
g
!logexts.logb f
q
と、次のバッチファイル(名前はtrace.cmd):
@echo off
set SYMBOL_PATH=srv*c:\users\markk\appdata\local\temp\symbolcache
cdb -y %SYMBOL_PATH% -cf c:\utils\TraceScript.txt %*
すべてが細かいですが、私は持っていますGUIDは、次のレジストリパスに対応
[LogHookComInterface] Interface {7a18edde-7e78-4163-8ded-78e2c9cee924} is unknown -- not logging.
:
出力に次の行を気づきましたHKEY_CLASSES_ROOT\Interface\{7A18EDDE-7E78-4163-8DED-78E2C9CEE924}
これはICertConfig2
インターフェイスに対応しています - これは関係ないようですか?
とにかく、このインターフェイスをロガーに見えるようにすることが可能かどうかは、すべてのロギングが役に立たないためです。どのように私はそれを知っていますか? Loggerは、CoCreateInstance APIをGUID 372FCE38-4324-11D0-8810-00A0C903B83C(これは、ICertConfig2インターフェイスを実装していると思われるCertConfigクラスに対応します)という単一の呼び出しを報告します。他の証明書に関連するAPIはログには表示されません。したがって、ICertConfig2インターフェイスがなければ、ログは役に立たなくなります。
アイデア?
P.S.
私はICertConfig2 COM APIをトレースする方法を喜んで受け入れます。
私はそれをまっすぐにしましょう。私は2つの.hファイルを変更し、それはそれですか?何も再コンパイルせずに?私は少し懐疑的です。あなたはそれを自分で試しましたか? – mark
はい、2つのファイルを変更するだけです。 logviewerとロガーは、毎回マニフェストファイルを解析します。私はこれを他のAPIと一緒に使ってきました。 – John
一部のSDKヘッダーのマニフェストはどこで入手できますか?手動でそれらを作成することは、多くの仕事の地獄です... – mark