1

Activator.CreateInstanceユーザーになりすましてCOMオブジェクトを作成するために呼び出すWCFサービスがあります。

if(impersonateValidUser(impersonatedUser,impersonatedUserDomain,impersonatedUserPassword))
    {
    try
    {
        obj = Activator.CreateInstance(Type.GetTypeFromProgID("Client.Application"));
    }
    catch { }
    undoImpersonation();
}

としてローカルでサーバーにログオンするとimpersonatedUser、すべてが期待どおりに機能します。 Client.exeと同様に、プロセスとして存在しViewer.exeます。両方とも、COMオブジェクトをアクティブ化したときに作成されます。

ただし、としてローカルにログオンしていない場合は、プロセスとしてimpersonatedUserのみClient.exe作成され、次のエラーが発生します。

The instruction at “<address>” referenced memory at "0x00000000". The memory could not be “read.”

私の唯一の推測は、ユーザーが他の方法でログオンしていない場合、システムは十分なメモリを割り当てないということですか?問題が何であるかは他にわかりません。助言がありますか?

助けてくれてありがとう!

4

1 に答える 1

0

Viewer.exeコードによって十分なメモリが割り当てられていない後に作成された可能性はありますか? あなたはそれを活性化できますか?

于 2011-09-20T16:03:01.303 に答える