COM DCOM Interview Preparation Guide
Download PDF

DCOM COM frequently Asked Questions by expert members with experience in COM DCOM. So get preparation for the DCOM COM job interview

25 COM DCOM Questions and Answers:

1 :: How do you make a NET component talk to a COM component?

RCW is used for making a NET compnent talk to a com component.
CCW is used for Com to .NET communication

2 :: What are queued components?

Queued Components, a key feature of COM+ and based on
Microsoft Message Queuing Services (MSMQ), provides an easy
way to invoke and execute components asynchronously.
Processing can occur without regard to the availability or
accessibility of either the sender or receiver. A home
shopping network is an example of the type of application
that might benefit from asynchronous processing. In this
asynchronous, disconnected scenario where viewers phone in
to several operators, orders are taken en masse and are
then queued for later retrieval and processing by the
server.

3 :: C is aggregated by B, which in turn aggregated by A. Our client requested C. What will happen?

QueryInterface to A will delegate request to B which, in
turn, will delegate request for the interface to C. This
pointer will be returned to the client.

4 :: How does a DCOM component know where to instantiate itself?

While accessing the DCOM component you have to provide
COSERVERINFO structure. This structure is having the
information about where the component is.

5 :: What kind of components can be used as DCOM servers?

There are two kind components
1. InProc
2. OutProc

We can use both as DCOM servers, its upto our design.

6 :: What are the different compatibility types when we create a COM component?

No Compatibility
Project Compatibility
Binary Compatibility

7 :: How to Use structs in COM interfaces when Automation compatibility is not an issue?

Structs, also known as User Defined Types (UDTs), can be
used in Automation- compatible interfaces
An Automation- compatible struct may contain only primitive
Automation types as its members.

Nesting structs is not allowed, but VARIANT is allowed thus
enabling nested structs (you can store a struct in a
VARIANT).

In order for a struct to be usable for Automation-
compatible interfaces, the struct must be described in a
type library and it must be declared with its own GUID:

[uuid(21602F40-CC62-11d4-AA2B-00A0CC39CFE0)]
struct MyStruct
{
[helpstring("A long value")]
long nLongValue;

[helpstring("A string")]
BSTR bstrStringValue;
};

// Later in the IDL file
[uuid(...), version(...), helpstring(...)]
library MyLib
{
...
struct MyStruct;
};

8 :: Do COM keep track of all the object references (Accounting)?

Object references in COM is accounted using two methods of
IUnknown Interface (AddRef and Release).

AddRef: Increments a reference count whereas "Release"
decrements the count.
When the count of the reference is zero the DLL is unloaded
from memory.

9 :: how to call a dll as a COM dll?

Inorder to call your DLL as COM dll, you have to follow
some rules to develop the dll. If those rules are there
then only your DLL will be called as COM dll.

COM is a specification set of rules to develope binaries,
COM is not a language.

10 :: Define and explain about COM?

COM (Component Object Model) technology in the Microsoft
Windows-family of Operating Systems enables software
components to communicate. COM is used by developers to
create re-usable software components, link components
together to build applications, and take advantage of
Windows services.