質問: 0 Then 'プリンタの情報はとれた場合 Console.WriteLine(mo("Name").ToString()) Exit For End If Next mo ``` ### 質問事項 質問事項として2点あります。 1.Marshal.ThrowExceptionForHRInternalとは何なのか 2.エラーの原因について 以上、よろしくお願い致します。 ### 補足情報(言語/FW/ツール等のバージョンなど) OS:WindowsServer2012R2 言語:.Net Framework3.5
回答: COMコンポーネントのエラーが発生しているようです。 > > 1.Marshal.ThrowExceptionForHRInternalとは何なのか > > > COMの結果(HRESULT)が「0:正常」以外の場合に例外にしているだけのようです。 Marshal.ThrowExceptionForHRのMSDN.aspx) Marshal.ThrowExceptionForHRのソース > > 2.エラーの原因について > > > Exceptionをcatchして、エラーコードを調べると何かわかるかも知れません。 キーワード「HRESULT 一覧」で検索した以下のサイトの「HRESULT (COM)」から該当エラーがわかるかも知れません。 Win32エラーコード一覧 - ir9 ちなみに、私の環境ではエラーは発生しませんでした。 windows 7 pro Visual Studio 2012 pro(.Net Framework3.5を指定)