VirtualBox

Changeset 60764 in vbox


Ignore:
Timestamp:
Apr 29, 2016 2:11:22 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
106959
Message:

Main/src-server/win/VBoxComEvents: eliminate the use of not really needed ATL helper classes

Location:
trunk/src/VBox/Main/src-server/win
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/VBox/Main/src-server/win/VBoxComEvents.cpp

    r55401 r60764  
    66
    77/*
    8  * Copyright (C) 2010 Oracle Corporation
     8 * Copyright (C) 2010-2016 Oracle Corporation
    99 *
    1010 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    3232{
    3333    HRESULT            hr = 0;
    34     CComPtr<ITypeLib>  ptlib;
    35     CComPtr<ITypeInfo> ptinfo;
     34    ComPtr<ITypeLib>   ptlib;
     35    ComPtr<ITypeInfo> ptinfo;
    3636    int i;
    3737
    3838
    39     hr = ::LoadRegTypeLib(LIBID_VirtualBox, kTypeLibraryMajorVersion, kTypeLibraryMinorVersion, LOCALE_SYSTEM_DEFAULT, &ptlib);
     39    hr = ::LoadRegTypeLib(LIBID_VirtualBox, kTypeLibraryMajorVersion, kTypeLibraryMinorVersion, LOCALE_SYSTEM_DEFAULT, ptlib.asOutParam());
    4040    if (FAILED(hr))
    4141        return hr;
    4242
    43     hr = ptlib->GetTypeInfoOfGuid(aGuid.ref(), &ptinfo);
     43    hr = ptlib->GetTypeInfoOfGuid(aGuid.ref(), ptinfo.asOutParam());
    4444    if (FAILED(hr))
    4545        return hr;
    4646
    47     CComTypeAttr       ptypeattr(ptinfo);
    48     hr = ptinfo->GetTypeAttr(&ptypeattr);
     47    TYPEATTR *pta;
     48    hr = ptinfo->GetTypeAttr(&pta);
    4949    if (FAILED(hr))
    5050        return hr;
    5151
    52     int cFuncs = ptypeattr->cFuncs;
     52    int cFuncs = pta->cFuncs;
    5353
    54     for (i=0; i<cFuncs; i++)
     54    for (i = 0; i < cFuncs; i++)
    5555    {
    56         CComFuncDesc  pfuncdesc(ptinfo);
    57         DWORD         hContext; // help context
    58         BSTR          fName;
     56        FUNCDESC *pfd;
     57        DWORD hContext; // help context
     58        BSTR fName;
    5959
    60         hr = ptinfo->GetFuncDesc(i, &pfuncdesc);
     60        hr = ptinfo->GetFuncDesc(i, &pfd);
    6161        if (FAILED(hr))
    62            break;
     62            break;
    6363
    64         hr = ptinfo->GetDocumentation(pfuncdesc->memid, &fName, NULL, &hContext, NULL);
     64        hr = ptinfo->GetDocumentation(pfd->memid, &fName, NULL, &hContext, NULL);
    6565        if (FAILED(hr))
    66            break;
     66        {
     67            ptinfo->ReleaseFuncDesc(pfd);
     68            break;
     69        }
    6770
    6871        /* We only allow firing event callbacks */
     
    7780        SysFreeString(fName);
    7881
    79         pfuncdesc.Release();
     82        ptinfo->ReleaseFuncDesc(pfd);
    8083    }
     84    ptinfo->ReleaseTypeAttr(pta);
    8185
    82    return hr;
     86    return hr;
    8387}
    8488
     
    100104
    101105
    102 HRESULT ComEventsHelper::fire(IDispatch* aObj, ComEventDesc& event, CComVariant* result)
     106HRESULT ComEventsHelper::fire(IDispatch *aObj, ComEventDesc &event, tagVARIANT *result)
    103107{
    104108     int argc = event.mArgc;
    105      CComVariant* args = event.mArgs;
     109     tagVARIANT *args = event.mArgs;
    106110     DISPPARAMS disp = { args, NULL, argc, 0};
    107111     DISPID           dispid;
  • TabularUnified trunk/src/VBox/Main/src-server/win/VBoxComEvents.h

    r55401 r60764  
    66
    77/*
    8  * Copyright (C) 2010 Oracle Corporation
     8 * Copyright (C) 2010-2016 Oracle Corporation
    99 *
    1010 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    2727#include <VBox/err.h>
    2828
    29 #include <atlcom.h>
    30 
    3129
    3230class ComEventDesc
     
    4240 }
    4341
    44  void init(const char* name, int argc)
     42 void init(const char *name, int argc)
    4543 {
    4644   // copies content
     
    4947   if (mArgs)
    5048     delete [] mArgs;
    51    mArgs = new CComVariant[mArgc];
     49   mArgs = new tagVARIANT[mArgc];
    5250   mPos = argc - 1;
    5351 }
    5452
    5553 template <class T>
    56  ComEventDesc& add(T v)
     54 ComEventDesc &add(T v)
    5755 {
    5856   Assert(mPos>= 0);
     
    6563 com::Utf8Str mName;
    6664 int          mArgc;
    67  CComVariant* mArgs;
     65 tagVARIANT  *mArgs;
    6866 int          mPos;
    6967
     
    7977    HRESULT init(const com::Guid &aGuid);
    8078    HRESULT lookup(com::Utf8Str &aName, DISPID *did);
    81     HRESULT fire(IDispatch* aObj, ComEventDesc& desc, CComVariant *pResult);
     79    HRESULT fire(IDispatch *aObj, ComEventDesc &desc, tagVARIANT *pResult);
    8280
    8381private:
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette