Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
GetObject once more
Message
From
24/11/2005 21:07:37
 
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Miscellaneous
Thread ID:
01071961
Message ID:
01072004
Views:
35
Hello Hugo,

"By the way Christian, I see You know this stuff very well, can you take a look at Message #1029734 to see if you have an idea of what might be happening?"

not really, i've read 3 to 4 pre 1000 page books about COM but that's years ago, and i've never programmed a DCOM application myself.

But i've found a very good article about COM security which seems to contain information that exactly describes your situation.

http://www.codeguru.com/Cpp/COM-Tech/activex/security/article.php/c5555

Here's an excerpt:
---
"One of the errors that newbies often experience when they first begin tinkering with DCOM occurs when they fail to give a remote server process permission to perform callbacks to a client. Suppose a client on machine A launches a COM server on machine B and receives an interface pointer in return. Then that client passes an interface pointer of its own to the server so the server can perform callbacks.

What's wrong with this picture? Nothing, except for the fact that callbacks will only be permitted if the server process is granted access permission to the client process. If the server process is assigned the identity Mister Server, then Mister Server must be granted access permission to the client process. One way to grant that access permission is to have the client process call CoInitializeSecurity. Another way is to include Mister Server (or Everyone) in the client machine's DefaultAccessPermission ACL."
---

This is exactly your situation, you're passing an interface pointer (your object) to the server and then do a QueryInterface (that's the function GETINTERFACE calls under the hood).

So the solution should be to grant access permission on every client for the user account under which your DCOM server process runs.

Regards
Christian
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform