Ignore:
Timestamp:
Sep 5, 2001, 3:19:02 PM (24 years ago)
Author:
bird
Message:

Added $Id:$ keyword.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ole32/oleobj.c

    r5602 r6648  
     1/* $Id: oleobj.c,v 1.2 2001-09-05 13:17:11 bird Exp $ */
    12/*
    2  *      OLE2 COM objects
     3 *  OLE2 COM objects
    34 *
    4  *      Copyright 1998 Eric Kohl
     5 *  Copyright 1998 Eric Kohl
    56 *      Copyright 1999 Francis Beaudet
    67 */
     
    7172
    7273  lpoah= (OleAdviseHolderImpl*)HeapAlloc(GetProcessHeap(),
    73                                         0,
    74                                         sizeof(OleAdviseHolderImpl));
    75  
     74                    0,
     75                    sizeof(OleAdviseHolderImpl));
     76
    7677  ICOM_VTBL(lpoah) = &oahvt;
    7778  lpoah->ref = 1;
    7879  lpoah->maxSinks = INITIAL_SINKS;
    7980  lpoah->arrayOfSinks = HeapAlloc(GetProcessHeap(),
    80                                   0,
    81                                   lpoah->maxSinks * sizeof(IAdviseSink*));
     81                  0,
     82                  lpoah->maxSinks * sizeof(IAdviseSink*));
    8283
    8384  for (index = 0; index < lpoah->maxSinks; index++)
     
    105106    }
    106107  }
    107  
     108
    108109  HeapFree(GetProcessHeap(),
    109            0,
    110            ptrToDestroy->arrayOfSinks);
    111  
     110       0,
     111       ptrToDestroy->arrayOfSinks);
     112
    112113
    113114  HeapFree(GetProcessHeap(),
    114            0,
    115            ptrToDestroy);
     115       0,
     116       ptrToDestroy);
    116117}
    117118
     
    121122static HRESULT WINAPI OleAdviseHolderImpl_QueryInterface(
    122123  LPOLEADVISEHOLDER iface,
    123   REFIID            riid, 
     124  REFIID            riid,
    124125  LPVOID*           ppvObj)
    125126{
    126   ICOM_THIS(OleAdviseHolderImpl, iface); 
     127  ICOM_THIS(OleAdviseHolderImpl, iface);
    127128  TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppvObj);
    128129  /*
     
    134135  *ppvObj = NULL;
    135136
    136   if (IsEqualIID(riid, &IID_IUnknown)) 
     137  if (IsEqualIID(riid, &IID_IUnknown))
    137138  {
    138139    /* IUnknown */
    139     *ppvObj = This; 
    140   }
    141   else if(IsEqualIID(riid, &IID_IOleAdviseHolder)) 
     140    *ppvObj = This;
     141  }
     142  else if(IsEqualIID(riid, &IID_IOleAdviseHolder))
    142143  {
    143144    /* IOleAdviseHolder */
     
    147148  if(*ppvObj == NULL)
    148149    return E_NOINTERFACE;
    149  
     150
    150151  /*
    151152   * A successful QI always increments the reference count.
     
    162163  LPOLEADVISEHOLDER iface)
    163164{
    164   ICOM_THIS(OleAdviseHolderImpl, iface); 
    165   TRACE("(%p)->(ref=%ld)\n", This, This->ref); 
     165  ICOM_THIS(OleAdviseHolderImpl, iface);
     166  TRACE("(%p)->(ref=%ld)\n", This, This->ref);
    166167  return ++(This->ref);
    167168}
     
    173174  LPOLEADVISEHOLDER iface)
    174175{
    175   ICOM_THIS(OleAdviseHolderImpl, iface); 
    176   TRACE("(%p)->(ref=%ld)\n", This, This->ref); 
     176  ICOM_THIS(OleAdviseHolderImpl, iface);
     177  TRACE("(%p)->(ref=%ld)\n", This, This->ref);
    177178  This->ref--;
    178179
     
    196197{
    197198  DWORD index;
    198  
    199   ICOM_THIS(OleAdviseHolderImpl, iface); 
     199
     200  ICOM_THIS(OleAdviseHolderImpl, iface);
    200201
    201202  TRACE("(%p)->(%p, %p)\n", This, pAdvise, pdwConnection);
     
    206207  if (pdwConnection==NULL)
    207208    return E_POINTER;
    208  
     209
    209210  *pdwConnection = 0;
    210211
     
    227228    This->maxSinks+=INITIAL_SINKS;
    228229
    229     This->arrayOfSinks = HeapReAlloc(GetProcessHeap(), 
    230                                      0,
    231                                      This->arrayOfSinks,
    232                                      This->maxSinks*sizeof(IAdviseSink*));
     230    This->arrayOfSinks = HeapReAlloc(GetProcessHeap(),
     231                     0,
     232                     This->arrayOfSinks,
     233                     This->maxSinks*sizeof(IAdviseSink*));
    233234
    234235    for (i=index;i < This->maxSinks; i++)
    235       This->arrayOfSinks[i]=0;     
     236      This->arrayOfSinks[i]=0;
    236237  }
    237238
     
    258259 */
    259260static HRESULT WINAPI OleAdviseHolderImpl_Unadvise(
    260   LPOLEADVISEHOLDER iface, 
     261  LPOLEADVISEHOLDER iface,
    261262  DWORD             dwConnection)
    262263{
    263   ICOM_THIS(OleAdviseHolderImpl, iface); 
     264  ICOM_THIS(OleAdviseHolderImpl, iface);
    264265
    265266  TRACE("(%p)->(%lu)\n", This, dwConnection);
    266267
    267268  /*
    268    * So we don't return 0 as a cookie, the index was 
     269   * So we don't return 0 as a cookie, the index was
    269270   * incremented by 1 in OleAdviseHolderImpl_Advise
    270271   * we have to compensate.
    271272   */
    272273  dwConnection--;
    273  
     274
    274275  /*
    275276   * Check for invalid cookies.
    276277   */
    277   if ( (dwConnection < 0) || 
     278  if ( (dwConnection < 0) ||
    278279       (dwConnection >= This->maxSinks) )
    279280    return OLE_E_NOCONNECTION;
     
    297298OleAdviseHolderImpl_EnumAdvise (LPOLEADVISEHOLDER iface, IEnumSTATDATA **ppenumAdvise)
    298299{
    299     ICOM_THIS(OleAdviseHolderImpl, iface); 
     300    ICOM_THIS(OleAdviseHolderImpl, iface);
    300301    FIXME("(%p)->(%p)\n", This, ppenumAdvise);
    301302
     
    311312OleAdviseHolderImpl_SendOnRename (LPOLEADVISEHOLDER iface, IMoniker *pmk)
    312313{
    313     ICOM_THIS(OleAdviseHolderImpl, iface); 
     314    ICOM_THIS(OleAdviseHolderImpl, iface);
    314315    FIXME("(%p)->(%p)\n", This, pmk);
    315316
     
    324325OleAdviseHolderImpl_SendOnSave (LPOLEADVISEHOLDER iface)
    325326{
    326     ICOM_THIS(OleAdviseHolderImpl, iface); 
     327    ICOM_THIS(OleAdviseHolderImpl, iface);
    327328    FIXME("(%p)\n", This);
    328329
     
    336337OleAdviseHolderImpl_SendOnClose (LPOLEADVISEHOLDER iface)
    337338{
    338     ICOM_THIS(OleAdviseHolderImpl, iface); 
     339    ICOM_THIS(OleAdviseHolderImpl, iface);
    339340    FIXME("(%p)\n", This);
    340341
     
    350351  FORMATETC fmat;
    351352  DWORD advf;
    352 } DataAdviseConnection; 
     353} DataAdviseConnection;
    353354
    354355typedef struct DataAdviseHolder
     
    367368static void               DataAdviseHolder_Destructor(DataAdviseHolder* ptrToDestroy);
    368369static HRESULT WINAPI     DataAdviseHolder_QueryInterface(
    369                             IDataAdviseHolder*      iface,
    370                             REFIID                  riid,
    371                             void**                  ppvObject);
    372 static ULONG WINAPI       DataAdviseHolder_AddRef( 
     370                IDataAdviseHolder*      iface,
     371                REFIID                  riid,
     372                void**                  ppvObject);
     373static ULONG WINAPI       DataAdviseHolder_AddRef(
    373374                            IDataAdviseHolder*      iface);
    374 static ULONG WINAPI       DataAdviseHolder_Release( 
     375static ULONG WINAPI       DataAdviseHolder_Release(
    375376                            IDataAdviseHolder*      iface);
    376 static HRESULT WINAPI     DataAdviseHolder_Advise( 
     377static HRESULT WINAPI     DataAdviseHolder_Advise(
    377378                            IDataAdviseHolder*      iface,
    378                             IDataObject*            pDataObject,
    379                             FORMATETC*              pFetc,
    380                             DWORD                   advf,
    381                             IAdviseSink*            pAdvise,
    382                             DWORD*                  pdwConnection);
    383 static HRESULT WINAPI     DataAdviseHolder_Unadvise( 
     379                IDataObject*            pDataObject,
     380                FORMATETC*              pFetc,
     381                DWORD                   advf,
     382                IAdviseSink*            pAdvise,
     383                DWORD*                  pdwConnection);
     384static HRESULT WINAPI     DataAdviseHolder_Unadvise(
    384385                            IDataAdviseHolder*      iface,
    385                             DWORD                   dwConnection);
    386 static HRESULT WINAPI     DataAdviseHolder_EnumAdvise( 
    387                             IDataAdviseHolder*      iface,       
    388                             IEnumSTATDATA**         ppenumAdvise);
    389 static HRESULT WINAPI     DataAdviseHolder_SendOnDataChange( 
    390                             IDataAdviseHolder*      iface, 
    391                             IDataObject*            pDataObject,
    392                             DWORD                   dwReserved,
    393                             DWORD                   advf);
     386                DWORD                   dwConnection);
     387static HRESULT WINAPI     DataAdviseHolder_EnumAdvise(
     388                            IDataAdviseHolder*      iface,
     389                IEnumSTATDATA**         ppenumAdvise);
     390static HRESULT WINAPI     DataAdviseHolder_SendOnDataChange(
     391                            IDataAdviseHolder*      iface,
     392                IDataObject*            pDataObject,
     393                DWORD                   dwReserved,
     394                DWORD                   advf);
    394395
    395396/**************************************************************************
     
    416417
    417418  newHolder = (DataAdviseHolder*)HeapAlloc(GetProcessHeap(),
    418                                            0,
    419                                            sizeof(DataAdviseHolder));
    420  
     419                       0,
     420                       sizeof(DataAdviseHolder));
     421
    421422  ICOM_VTBL(newHolder) = &DataAdviseHolderImpl_VTable;
    422423  newHolder->ref = 1;
    423424  newHolder->maxCons = INITIAL_SINKS;
    424425  newHolder->Connections = HeapAlloc(GetProcessHeap(),
    425                                      HEAP_ZERO_MEMORY,
    426                                      newHolder->maxCons *
    427                                      sizeof(DataAdviseConnection));
     426                     HEAP_ZERO_MEMORY,
     427                     newHolder->maxCons *
     428                     sizeof(DataAdviseConnection));
    428429
    429430  TRACE("returning %p\n", newHolder);
     
    447448    }
    448449  }
    449  
     450
    450451  HeapFree(GetProcessHeap(), 0, ptrToDestroy->Connections);
    451452  HeapFree(GetProcessHeap(), 0, ptrToDestroy);
     
    462463  void**                  ppvObject)
    463464{
    464   ICOM_THIS(DataAdviseHolder, iface); 
     465  ICOM_THIS(DataAdviseHolder, iface);
    465466  TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppvObject);
    466467  /*
     
    469470  if ( (This==0) || (ppvObject==0) )
    470471    return E_INVALIDARG;
    471  
     472
    472473  /*
    473474   * Initialize the return parameter.
     
    483484    *ppvObject = iface;
    484485  }
    485  
     486
    486487  /*
    487488   * Check that we obtained an interface.
     
    491492    return E_NOINTERFACE;
    492493  }
    493  
     494
    494495  /*
    495496   * Query Interface always increases the reference count by one when it is
    496    * successful. 
     497   * successful.
    497498   */
    498499  IUnknown_AddRef((IUnknown*)*ppvObject);
    499500
    500   return S_OK;; 
     501  return S_OK;;
    501502}
    502503
     
    506507 * See Windows documentation for more details on IUnknown methods.
    507508 */
    508 static ULONG WINAPI       DataAdviseHolder_AddRef(                             
     509static ULONG WINAPI       DataAdviseHolder_AddRef(
    509510  IDataAdviseHolder*      iface)
    510511{
    511   ICOM_THIS(DataAdviseHolder, iface); 
     512  ICOM_THIS(DataAdviseHolder, iface);
    512513  TRACE("(%p) (ref=%ld)\n", This, This->ref);
    513514  This->ref++;
     
    521522 * See Windows documentation for more details on IUnknown methods.
    522523 */
    523 static ULONG WINAPI DataAdviseHolder_Release( 
     524static ULONG WINAPI DataAdviseHolder_Release(
    524525  IDataAdviseHolder*      iface)
    525526{
     
    541542    return 0;
    542543  }
    543  
     544
    544545  return This->ref;
    545546}
     
    551552static HRESULT WINAPI DataAdviseHolder_Advise(
    552553  IDataAdviseHolder*      iface,
    553   IDataObject*            pDataObject, 
    554   FORMATETC*              pFetc, 
    555   DWORD                   advf, 
    556   IAdviseSink*            pAdvise, 
     554  IDataObject*            pDataObject,
     555  FORMATETC*              pFetc,
     556  DWORD                   advf,
     557  IAdviseSink*            pAdvise,
    557558  DWORD*                  pdwConnection)
    558559{
    559560  DWORD index;
    560  
    561   ICOM_THIS(DataAdviseHolder, iface); 
     561
     562  ICOM_THIS(DataAdviseHolder, iface);
    562563
    563564  TRACE("(%p)->(%p, %p, %08lx, %p, %p)\n", This, pDataObject, pFetc, advf,
    564         pAdvise, pdwConnection);
     565    pAdvise, pdwConnection);
    565566  /*
    566567   * Sanity check
     
    568569  if (pdwConnection==NULL)
    569570    return E_POINTER;
    570  
     571
    571572  *pdwConnection = 0;
    572573
     
    587588    This->maxCons+=INITIAL_SINKS;
    588589    This->Connections = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
    589                                     This->Connections,
    590                                     This->maxCons*sizeof(DataAdviseConnection));
     590                    This->Connections,
     591                    This->maxCons*sizeof(DataAdviseConnection));
    591592  }
    592593  /*
     
    616617 * DataAdviseHolder_Unadvise
    617618 */
    618 static HRESULT WINAPI     DataAdviseHolder_Unadvise( 
     619static HRESULT WINAPI     DataAdviseHolder_Unadvise(
    619620  IDataAdviseHolder*      iface,
    620621  DWORD                   dwConnection)
    621622{
    622   ICOM_THIS(DataAdviseHolder, iface); 
     623  ICOM_THIS(DataAdviseHolder, iface);
    623624
    624625  TRACE("(%p)->(%lu)\n", This, dwConnection);
    625626
    626627  /*
    627    * So we don't return 0 as a cookie, the index was 
     628   * So we don't return 0 as a cookie, the index was
    628629   * incremented by 1 in OleAdviseHolderImpl_Advise
    629630   * we have to compensate.
    630631   */
    631632  dwConnection--;
    632  
     633
    633634  /*
    634635   * Check for invalid cookies.
    635636   */
    636   if ( (dwConnection < 0) || 
     637  if ( (dwConnection < 0) ||
    637638       (dwConnection >= This->maxCons) )
    638639    return OLE_E_NOCONNECTION;
     
    649650}
    650651
    651 static HRESULT WINAPI     DataAdviseHolder_EnumAdvise( 
    652   IDataAdviseHolder*      iface,       
     652static HRESULT WINAPI     DataAdviseHolder_EnumAdvise(
     653  IDataAdviseHolder*      iface,
    653654  IEnumSTATDATA**         ppenumAdvise)
    654655{
    655   ICOM_THIS(DataAdviseHolder, iface); 
     656  ICOM_THIS(DataAdviseHolder, iface);
    656657
    657658  FIXME("(%p)->(%p)\n", This, ppenumAdvise);
     
    662663 * DataAdviseHolder_SendOnDataChange
    663664 */
    664 static HRESULT WINAPI     DataAdviseHolder_SendOnDataChange( 
    665   IDataAdviseHolder*      iface, 
    666   IDataObject*            pDataObject, 
    667   DWORD                   dwReserved, 
     665static HRESULT WINAPI     DataAdviseHolder_SendOnDataChange(
     666  IDataAdviseHolder*      iface,
     667  IDataObject*            pDataObject,
     668  DWORD                   dwReserved,
    668669  DWORD                   advf)
    669670{
    670   ICOM_THIS(DataAdviseHolder, iface); 
     671  ICOM_THIS(DataAdviseHolder, iface);
    671672  DWORD index;
    672673  STGMEDIUM stg;
     
    678679    if(This->Connections[index].sink != NULL) {
    679680      if(!(This->Connections[index].advf & ADVF_NODATA)) {
    680         TRACE("Calling IDataObject_GetData\n");
    681         res = IDataObject_GetData(pDataObject,
    682                                   &(This->Connections[index].fmat),
    683                                   &stg);
    684         TRACE("returns %08lx\n", res);
     681    TRACE("Calling IDataObject_GetData\n");
     682    res = IDataObject_GetData(pDataObject,
     683                  &(This->Connections[index].fmat),
     684                  &stg);
     685    TRACE("returns %08lx\n", res);
    685686      }
    686687      TRACE("Calling IAdviseSink_OnDataChange\n");
    687688      IAdviseSink_OnDataChange(This->Connections[index].sink,
    688                                      &(This->Connections[index].fmat),
    689                                      &stg);
     689                     &(This->Connections[index].fmat),
     690                     &stg);
    690691      TRACE("Done IAdviseSink_OnDataChange\n");
    691692      if(This->Connections[index].advf & ADVF_ONLYONCE) {
    692         TRACE("Removing connection\n");
    693         DataAdviseHolder_Unadvise(iface, index+1);
     693    TRACE("Removing connection\n");
     694    DataAdviseHolder_Unadvise(iface, index+1);
    694695      }
    695696    }
Note: See TracChangeset for help on using the changeset viewer.