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

タイトル Re^4: Com Surrogate
投稿日: 2020/05/13(Wed) 19:19
投稿者でふぁいあんと
重ね重ねありがとうございます。

> > ComSurrogateの発生は、hogehoge.exe内の
> > objXML.open "GET", URL, False  で発生しています
> 「COM インスタンスを生成した時」や「send メソッドを呼び出した時」ではなく、
> 「open メソッドを呼び出した時」に発生しているのですか?

> インスタンスはどうやって生成していますか?
> New なのか CreateObject なのか。
を、まとめてご説明いたしますと

実はNewの扱いが苦手でおかしければご指摘いただきたいのですが、
hogehoge内のmainで。

dim objXML as new msxml2.xmlhttp60
から
ret = F1(objxml,,)
--
private function F1(objxml as object,,,
log(ミリ秒)
Set objXML = New MSXML2.XMLHTTP60
log(ミリ秒)
objXML.open "GET"
logミリ秒---A
objXML.send
logミリ秒
--と実行しておりまして、new の所にもlogをとれるようにしました。

で別のプログラムでComSurrogateを探して
CreationDateを記録すると、Aのタイミングです。
ちなみに以前は
private function F1(objxml as msxml2.xmlhttp60,,,
objXML.open "GET"
と直接操作していましたが、状況は同じです。


> また、exe を終了させずに上記を複数回呼び出した場合も、
> COM Surrogate なプロセスが増えていくのでしょうか?
はい、hogehogeのxml.open直後に msgbox(" ")で止めるようにして
親から呼ぶと、デスクトップから呼んだときは発生内
タスクスケジューラーから実行すると、実行した数だけComSurrogate発生します


> > どうやら、タスクスケジューラからプログラムAを実行すると発生するようです。
>
> 私も把握できているわけでは無いのですが、思い当たるのは DCOM の権限がらみです。
>
>
> 「管理者:コマンド プロンプト」 →「dcomcnfg.exe /32」
> → [コンソール ルート] → [コンポーネント サービス]
> → [コンピューター] → [マイコンピューター] → [DCOMの構成]
> → [WinInetCacheServer] → コンテキストメニュー[プロパティ]
> → [セキュリティ]タブ → [起動とアクティブ化のアクセス許可]
>
> あたりでどうでしょう。
>
これ、なんとなく当たりかなと思ったのですが、
「起動とアクティブ化のアクセス許可」の「編集」が選択できない状態です
ログオンユーザーは管理者、
コマンドプロンプトは間違いなく管理者モード
「dcomの構成」の上位の「マイコンピューター」-「プロパティ」-「com セキュリティ」に
あえてログオンユーザーを追加してもだめでした。

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

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