タイトル : Re^3: Com Surrogate 投稿日 : 2020/05/12(Tue) 19:45 投稿者 : 魔界の仮面弁士
> ComSurrogateの発生は、hogehoge.exe内の > objXML.open "GET", URL, False で発生しています 「COM インスタンスを生成した時」や「send メソッドを呼び出した時」ではなく、 「open メソッドを呼び出した時」に発生しているのですか? また、exe を終了させずに上記を複数回呼び出した場合も、 COM Surrogate なプロセスが増えていくのでしょうか? > 一応 dim objXML as MSXML2.XMLHTTP60 インスタンスはどうやって生成していますか? New なのか CreateObject なのか。 手元に VB6 がないので、32bit 版 Office 2016 VBA から試しましたが、 {3EB3C877-1F16-487C-9050-104DBCD66683} な dllhost は一つだけで、 実行するたびに増えていくような事象は確認できませんでした。 Option Explicit Sub Test() Dim objXML As MSXML2.XMLHTTP60 Set objXML = New MSXML2.XMLHTTP60 objXML.Open "GET", "http://hanatyan.sakura.ne.jp/index.html", False objXML.send MsgBox objXML.Status End Sub > hogehoge.exeを単体実行したときはSurrogateは発生しません > 親プログラムAから実行しても発生しません なるほど。当方の VBA で再現できなかったのはそれが原因かな…。 > どうやら、タスクスケジューラからプログラムAを実行すると発生するようです。 私も把握できているわけでは無いのですが、思い当たるのは DCOM の権限がらみです。 「管理者:コマンド プロンプト」 →「dcomcnfg.exe /32」 → [コンソール ルート] → [コンポーネント サービス] → [コンピューター] → [マイコンピューター] → [DCOMの構成] → [WinInetCacheServer] → コンテキストメニュー[プロパティ] → [セキュリティ]タブ → [起動とアクティブ化のアクセス許可] あたりでどうでしょう。 > > {3EB3C877-1F16-487C-9050-104DBCD66683} なら WinInetCacheServer > こちらでした。 改善に繋がる物があるかどうかは分かりませんが、 上記で検索すると、幾つか情報が見つかるかもしれません。 https://freepc.jp/error10016 |