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 I use .net components from com programs?
What are queued components?
What are the purposes of AddRef, Release and QueryInterface functions
Explain transaction atomicity?
Explain Futures of COM?
Once I have developed the com wrapper do I have to still register the com in registry?
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 are the different compatibility types when we create a COM component?
Suppose 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 IUnknown? What methods are provided by IUnknown?
Does .net replace com?
How do we create dcom object in vb6?