c++visual-c++comdeclarationobjectinstantiation

declaration/definition and instantiation of COM objects with visual c++?


i need to instantiate com object which is .dll and on local machine in visual c++,i know that it can be done by using CoCreateInstance("clsid") ,but i am confused about declaration.so can anyone explain all steps involved? for late binding as well as early binding

  1. is any import/inclusion required
  2. how to declare com object ?
  3. any other steps required before createinstance (e.g CoInitialize?)

or provide any specific reference involving step by step code


Solution

  • First you have to call CoInitialize and don't forget to callCoUnitialize if initialization was successful.

    So your code will have the following structure:

    HRESULT hr = CoInitialize(NULL); 
    if (SUCCEEDED(hr))
    {
        try
        {
            CoCreateInstance(...)
            // ...
        }
        catch (_com_error &e)
        {
            //...
        }
        CoUninitialize();
    }
    

    For more information visit MSDN. I recommend you to start with The COM Library and then you should read something about CoInitialize and CoCreateInstance functions before you use them.

    This tutorial could help you too: Introduction to COM - What It Is and How to Use It.