1

marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)はどこにも文書化されておらず、メソッドが何をするかを知らずにスタックトレースを解釈することは困難です。

4

1 に答える 1

3

これは、2つのパブリックMarshal.ThrowExceptionForHR()メソッドのオーバーロードによって呼び出される小さな内部ヘルパーメソッドです。メッセンジャーを撃たないでください。COMエラーコード(HR = HResult)をマネージド例外に変換し、その例外をスローするだけです。発生する例外は、うまくいけば、何がうまくいかなかったかを示すものです。これは通常それほど明確ではありませんが、特にIErrorInfoが利用できない場合、COMエラーコードは説明的でない傾向があります。

于 2012-10-30T00:31:11.137 に答える