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