Let?s assume we have object B and aggregated object C (in-
proc server), created by B. Can you access any interface of
B from C? What?s the difference between aggregated and
contained objects?
Answers were Sorted based on User's Feedback
Answer / mms zubeir
For the first question, Yes, we can since the QueryInterface
() rules of thumb suggest that if we can query an interface
of C from B, we should be able to query the viceversa.
The IUnknown implementation of both the objects has to do
the 'magic'.
For the second question, Aggregation bounds outer and inner
objects together and gives the user the interface pointers
of either objects to access it directly so that the user
never knows the objects are aggregated.
But when containment is used, the interface of inner object
never exposed to the client directly rather the outer
object receives the calls and forwards internally. Here
also, the user doesn't know the objects are contained.
Is This Answer Correct ? | 2 Yes | 1 No |
Answer / chandrasekharreddy siddamreddy
1. Yes, we can access. In aggresstion will use deligation
concept to directly interact with innner components.
2. Explantion given in answer (1). I will give how we are
achieving that
When we create the Outer Componet Instance internally will
create innner componet instance and keep the IUnknown
pointer of Inner component in Outer Component and Outer
componet IUnknown pointer in InnerComponet to deligate the
calls.
Is This Answer Correct ? | 0 Yes | 1 No |
Answer / kirba
Go through the book called "Inside COM+ Base Services"
or "Inside DCOM" by Guy Edon & Henry Edon under topic
IUnknown interface.You could be able to understand the Core
interns of Aggregation & Containment
Is This Answer Correct ? | 0 Yes | 1 No |
can a COM interface be implemented by more than one COM class in the same COM component?
2 Answers Cap Gemini, Honeywell,
How does a DCOM component know where to instantiate itself?
Can you explain what is dcom?
What is the difference, if any, between OLE and COM?
Let?s assume we have object B and aggregated object C (in- proc server), created by B. Can you access any interface of B from C? What?s the difference between aggregated and contained objects?
What is the difference between aggregated and contained objects?
Is dcom dead?
how you call a dll as a COM dll.
How do you make a NET component talk to a COM component?
how do you know it is general dll or com dll
What should QueryInterface functions do if requested object was not found?
where can i use pmcmd commands of informatica