DCOM Interview Questions & Answers

  • Question 1. What Is In-proc?

    Answer :

    In-proc server is a COM component, when instance is the server is loaded into the caller process space. In-Proc  server can be easily identified by .dll extension.

    Out-of-Proc server is a COM component that run in its own  process space and for any instances created by the users, a proxy is created within the users process space. Proxy is responsible for interacting with the server to carry out  operation on behalf of the client. (.exe extension).

  • Question 2. 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?

    Answer :

    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.

  • Web Services Interview Questions

  • Question 3. What Is A Moniker?

    Answer :

    An object that implements the IMoniker interface. A moniker  acts as a name that uniquely identifies a COM object. In the same way that a path identifies a file in the file  system, a moniker identifies a COM object in the directory  namespace.

  • Question 4. What Is The Difference, If Any, Between Ole And Com?

    Answer :

    OLE is a set of technologies to support linking and  embedding. COM lies in OLE as one of the technologies. COM  defines a binary standard / set of rules for developing  reusable components.

  • Web Services Tutorial

  • Question 5. How To Create An Instance Of The Object In Com?

    Answer :

    To create the instance of COM componet use the following 

    WIN32 APIs

    To access the component that was there in local system use  following API

    CoCreateInstance(clsid,NULL(used for 

    aggregation),CLSCTX_ALL,Interface_GUID,(void**)

    &pRequestedInterface );

    To access the COM componet remotely use the following API

    CoCreateInstanceEx

    (CLSID,NULL,CLSCTX_ALL,COSERVERINFO,Interface_GUID,MULTI_QI*

    );

  • Java Script Interview Questions

  • Question 6. What Happens When Client Calls Cocreateinstance?

    Answer :

    • Reads RootClassesProgId for the matching ProgID
    • Reads RootClassesProgId for the matching CLSID. The CLSID is read from the above step.
    • From the CLSID key, the server type and image filename is known.
    • Depending upon the server type, it starts the server.
    • Calls CoGetClassObject function to get a handle to the factory object.
    • Then calls createinstance on the factory interface to get the pointer to the derived object.
  • Question 7. What Should Queryinterface Functions Do If Requested Object Was Not Found?

    Answer :

    Returns a pointer to the current interface if successful or 

    E_NOINTERFACE otherwise.

  • Java Script Tutorial UMTS Interview Questions

  • Question 8. What Is Iunknown? What Methods Are Provided By Iunknown?

    Answer :

    IUnknown is a type of COM Interface.

    Every COM class implements an interface named IUnKnown.

    IUnKnown contains three methods:

    1. HRESULT QueryInterface()
    2. ULONG AddRef()
    3. ULONG Release()
  • Question 9. What Are The Purposes Of Addref, Release And Queryinterface Functions?

    Answer :

    Query Interface method is used to get the pointer to the interface specified in one of the parameters of this  method. Client then uses this pointer to call the method of the component. 

    AddRef and Release are used to increase and decrease the  count of the instance of component loaded in memory  respectively. when the count reaches zero the component is unloaded.

  • ActiveX Interview Questions

  • Question 10. Which Tool Is Used To Configure The Port Range And Protocols For Dcom Communications?

    Answer :

    use DCOMCONFIG.EXE

  • UMTS Tutorial

  • Question 11. Can A Com Interface Be Implemented By More Than One Com Class In The Same Com Component?

    Answer :

    NO.

  • OOPS Interview Questions

  • Question 12. How Do You Know It Is General Dll Or Com Dll?

    Answer :

    Open the dll in dependency walker application(depends.exe).

    If the dll is having following functions:

    • DLLRegisterServer
    • DLLUnRegisterServer
    • DLLCanUnloadNow
    • DLLGetClassObject

    It is a COM DLL otherwise it is not.

  • Web Services Interview Questions

  • Question 13. Explain Futures Of Com?

    Answer :

    1. Defines a binary standard for component interoperability 
    2. Is programming language-independent 
    3. Is provided on multiple platforms (Microsoft® Windows®, 
    4. Microsoft Windows NT™, Apple® Macintosh®, UNIX®) 
    5. Provides for robust evolution of component-based applications and systems 
    6. Is extensible
  • Windows Communication Foundation (WCF) Tutorial

  • Question 14. When You Call Co Initialize(null) Function How It Works Internally?

    Answer :

    CoInitialize will initialize the COM library and will move the executing thread to a STA or Single Threaded Apartment Apartment is the logical entity where threads live.

  • Question 15. Differentiate Normal Dll To Com Dll?

    Answer :

    COM Dll exposes Interface on the contrary to normal DLL  that exports functions. Clients create the pointer to  COMDLL’s interface to call the methods defined by the component that implements the interface. 

    That results in isolation of implementation and definition  of method in the interface. Client doesnt need to relink or  recompile the code if method in the com dll changes as far as the definition of the interface remains same.

  • Windows Communication Foundation (WCF) Interview Questions

  • Question 16. Define And Explain About Com?

    Answer :

    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.

  • Java XML Tutorial

  • Question 17. How To Call A Dll As A Com Dll?

    Answer :

    In order 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 develop binaries, COM is not a language.

  • Java XML Interview Questions

  • Question 18. Do Com Keep Track Of All The Object References (accounting)?

    Answer :

    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.

  • Java Script Interview Questions

  • Question 19. What Are The Different Compatibility Types When We Create A Com Component?

    Answer :

    • No Compatibility
    • Project Compatibility
    • Binary Compatibility
  • JSON (JavaScript Object Notation) Tutorial

  • Question 20. What Kind Of Components Can Be Used As Dcom Servers?

    Answer :

    There are two kind components:

    1. InProc

    2. OutProc

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

  • COM+ Interview Questions

  • Question 21. How Does A Dcom Component Know Where To Instantiate Itself?

    Answer :

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

  • Question 22. C Is Aggregated By B, Which In Turn Aggregated By A. Our Client Requested C. What Will Happen?

    Answer :

    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.

  • Question 23. What Are Queued Components?

    Answer :

    Queued Components, a key feature of COM+ and based on  Microsoft Message Queuing Services (MSMQ), provides an easy  way to invoke and execute components asynchronous. 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.

  • JSON (JavaScript Object Notation) Interview Questions

  • Question 24. How Do You Make A Net Component Talk To A Com Component?

    Answer :

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

  • UMTS Interview Questions