tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。