ATL COM DLL without proxy/stub 
Author Message
 ATL COM DLL without proxy/stub

Hi,

Can I create an in-proc COM server without any proxy/stub code using
the "ATL COM" Wizard? I don't want any proxy/stub code, either merged
with my DLL or separate.

BTW, why would I need to use marshalling for an in-proc server? I
anticipate the answer because I've seen it here: to pass the itf
pointer between apartments. But could someone please tell me what this
means? In what situations would I require marshalling? If my client
launches several threads and they enter a MTA (CoInitializeEx
(COINIT_MULTITHREADED)), can I safely pass itf pointer between threads
with no marshalling?

Thanks in advance,

Adam.



Sat, 03 Sep 2005 01:52:41 GMT  
 ATL COM DLL without proxy/stub
Wizard creates proxy/stub code by default. You can safely remove it (3 or 4
files).

Marshalling is necessary when call is crossing apartment boundaries. And
it's possible to have many apartments in in-proc.

As long as your thread are in MTA you can safely pass itf pointer between
them since there is no apartment boundaries crossing.

George.


Quote:
> Hi,

> Can I create an in-proc COM server without any proxy/stub code using
> the "ATL COM" Wizard? I don't want any proxy/stub code, either merged
> with my DLL or separate.

> BTW, why would I need to use marshalling for an in-proc server? I
> anticipate the answer because I've seen it here: to pass the itf
> pointer between apartments. But could someone please tell me what this
> means? In what situations would I require marshalling? If my client
> launches several threads and they enter a MTA (CoInitializeEx
> (COINIT_MULTITHREADED)), can I safely pass itf pointer between threads
> with no marshalling?

> Thanks in advance,

> Adam.



Sat, 03 Sep 2005 02:19:37 GMT  
 ATL COM DLL without proxy/stub
And with COM+ you also get cross-context marshaling, so watch out for
that.

On Mon, 17 Mar 2003 13:19:37 -0500, "George Ter-Saakov"

Quote:

>Wizard creates proxy/stub code by default. You can safely remove it (3 or 4
>files).

>Marshalling is necessary when call is crossing apartment boundaries. And
>it's possible to have many apartments in in-proc.

>As long as your thread are in MTA you can safely pass itf pointer between
>them since there is no apartment boundaries crossing.

>George.



>> Hi,

>> Can I create an in-proc COM server without any proxy/stub code using
>> the "ATL COM" Wizard? I don't want any proxy/stub code, either merged
>> with my DLL or separate.

>> BTW, why would I need to use marshalling for an in-proc server? I
>> anticipate the answer because I've seen it here: to pass the itf
>> pointer between apartments. But could someone please tell me what this
>> means? In what situations would I require marshalling? If my client
>> launches several threads and they enter a MTA (CoInitializeEx
>> (COINIT_MULTITHREADED)), can I safely pass itf pointer between threads
>> with no marshalling?

>> Thanks in advance,

>> Adam.



Sat, 03 Sep 2005 03:07:09 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. Merge Proxy/stub (in ATL) generated DLL does not change the Proxystubclsid32

2. Packing Proxy-Stub Dll in the COM Executable.

3. COM proxies and stubs in C#

4. Registering proxy/stub for Side by Side COM Components

5. How can I undo merge proxy/stub checked in ATL wizard

6. ATL 7.0 Proxy-stub fails to register

7. COM - standard proxy/stub marshalling VS typelib marshalling ?

8. Does ATL perform automatic proxy/stub registration?

9. COM - standard proxy/stub marshalling VS typelib marshalling ?

10. Proxy/Stub for MFC COM exe

11. Proxy/Stub for MFC COM exe

12. Proxy Stub Dll

 

 
Powered by phpBB® Forum Software