title: Problem with x64 application and ActiveX control
body: <p>I have a small unmanaged c++ application, I'm trying to use CoCreateInstance(...) to create an instance of the "Adobe SVG PLayer" which is installed as an ActiveX control.</p>
  
  <p>When I compile and run my application under 32-bit configuration, it works fine, but when I compile under 64-bit configuration, my application fails to create the instance of the Adove SVG Player, although I know it is installed.</p>
  
  <p>This is the code that I'm using for doing this:</p>
  
  <pre><code>
  const CLSID CLSID_SVGCtl = 
  {0x377b5106,0x3b4e,0x4a2d,{0x85,0x20,0x87,0x67,0x59,0x0c,0xac,0x86}};
  
  BOOL CheckSVGPresented()
  {
      BOOL bResult = FALSE;
      try
      {
          IUnknown* pSvgCtrl = NULL;
          if (FAILED(::CoCreateInstance(CLSID_SVGCtl, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (LPVOID*)&pSvgCtrl)) || (NULL == pSvgCtrl))
              throw 1;
          bResult = TRUE;
          pSvgCtrl->Release();
  
      }
      catch (...)
      {       
          bResult = FALSE;
      }
      return bResult;
  }
  </code></pre>
  
  <p>My guess is that probably I have an issue because I have a 64 bits host (my application) trying to create a 32-bits instance of an ActiveX dll (The SVG player).</p>
  
  <p>I'm testing on Windows 7, x64 bits version.</p>
  
  <p>So if you have any clue about this I will appreciate the help.</p>