Changeset 8620 for trunk/src/ole32/oleobj.c
- Timestamp:
- Jun 9, 2002, 6:37:22 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/ole32/oleobj.c
r8441 r8620 87 87 0, 88 88 sizeof(OleAdviseHolderImpl)); 89 89 90 90 ICOM_VTBL(lpoah) = &oahvt; 91 91 lpoah->ref = 1; … … 119 119 } 120 120 } 121 121 122 122 HeapFree(GetProcessHeap(), 123 123 0, 124 124 ptrToDestroy->arrayOfSinks); 125 125 126 126 127 127 HeapFree(GetProcessHeap(), … … 135 135 static HRESULT WINAPI OleAdviseHolderImpl_QueryInterface( 136 136 LPOLEADVISEHOLDER iface, 137 REFIID riid, 137 REFIID riid, 138 138 LPVOID* ppvObj) 139 139 { 140 ICOM_THIS(OleAdviseHolderImpl, iface); 140 ICOM_THIS(OleAdviseHolderImpl, iface); 141 141 TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppvObj); 142 142 /* … … 148 148 *ppvObj = NULL; 149 149 150 if (IsEqualIID(riid, &IID_IUnknown)) 150 if (IsEqualIID(riid, &IID_IUnknown)) 151 151 { 152 152 /* IUnknown */ 153 *ppvObj = This; 154 } 155 else if(IsEqualIID(riid, &IID_IOleAdviseHolder)) 153 *ppvObj = This; 154 } 155 else if(IsEqualIID(riid, &IID_IOleAdviseHolder)) 156 156 { 157 157 /* IOleAdviseHolder */ … … 161 161 if(*ppvObj == NULL) 162 162 return E_NOINTERFACE; 163 163 164 164 /* 165 165 * A successful QI always increments the reference count. … … 176 176 LPOLEADVISEHOLDER iface) 177 177 { 178 ICOM_THIS(OleAdviseHolderImpl, iface); 179 TRACE("(%p)->(ref=%ld)\n", This, This->ref); 178 ICOM_THIS(OleAdviseHolderImpl, iface); 179 TRACE("(%p)->(ref=%ld)\n", This, This->ref); 180 180 return ++(This->ref); 181 181 } … … 187 187 LPOLEADVISEHOLDER iface) 188 188 { 189 ICOM_THIS(OleAdviseHolderImpl, iface); 190 TRACE("(%p)->(ref=%ld)\n", This, This->ref); 189 ICOM_THIS(OleAdviseHolderImpl, iface); 190 TRACE("(%p)->(ref=%ld)\n", This, This->ref); 191 191 This->ref--; 192 192 … … 210 210 { 211 211 DWORD index; 212 213 ICOM_THIS(OleAdviseHolderImpl, iface); 212 213 ICOM_THIS(OleAdviseHolderImpl, iface); 214 214 215 215 TRACE("(%p)->(%p, %p)\n", This, pAdvise, pdwConnection); … … 220 220 if (pdwConnection==NULL) 221 221 return E_POINTER; 222 222 223 223 *pdwConnection = 0; 224 224 … … 241 241 This->maxSinks+=INITIAL_SINKS; 242 242 243 This->arrayOfSinks = HeapReAlloc(GetProcessHeap(), 243 This->arrayOfSinks = HeapReAlloc(GetProcessHeap(), 244 244 0, 245 245 This->arrayOfSinks, … … 247 247 248 248 for (i=index;i < This->maxSinks; i++) 249 This->arrayOfSinks[i]=0; 249 This->arrayOfSinks[i]=0; 250 250 } 251 251 … … 272 272 */ 273 273 static HRESULT WINAPI OleAdviseHolderImpl_Unadvise( 274 LPOLEADVISEHOLDER iface, 274 LPOLEADVISEHOLDER iface, 275 275 DWORD dwConnection) 276 276 { 277 ICOM_THIS(OleAdviseHolderImpl, iface); 277 ICOM_THIS(OleAdviseHolderImpl, iface); 278 278 279 279 TRACE("(%p)->(%lu)\n", This, dwConnection); 280 280 281 281 /* 282 * So we don't return 0 as a cookie, the index was 282 * So we don't return 0 as a cookie, the index was 283 283 * incremented by 1 in OleAdviseHolderImpl_Advise 284 284 * we have to compensate. 285 285 */ 286 286 dwConnection--; 287 287 288 288 /* 289 289 * Check for invalid cookies. 290 290 */ 291 if ( (dwConnection < 0) || 291 if ( (dwConnection < 0) || 292 292 (dwConnection >= This->maxSinks) ) 293 293 return OLE_E_NOCONNECTION; … … 311 311 OleAdviseHolderImpl_EnumAdvise (LPOLEADVISEHOLDER iface, IEnumSTATDATA **ppenumAdvise) 312 312 { 313 ICOM_THIS(OleAdviseHolderImpl, iface); 313 ICOM_THIS(OleAdviseHolderImpl, iface); 314 314 FIXME("(%p)->(%p)\n", This, ppenumAdvise); 315 315 … … 325 325 OleAdviseHolderImpl_SendOnRename (LPOLEADVISEHOLDER iface, IMoniker *pmk) 326 326 { 327 ICOM_THIS(OleAdviseHolderImpl, iface); 327 ICOM_THIS(OleAdviseHolderImpl, iface); 328 328 FIXME("(%p)->(%p)\n", This, pmk); 329 329 … … 338 338 OleAdviseHolderImpl_SendOnSave (LPOLEADVISEHOLDER iface) 339 339 { 340 ICOM_THIS(OleAdviseHolderImpl, iface); 340 ICOM_THIS(OleAdviseHolderImpl, iface); 341 341 FIXME("(%p)\n", This); 342 342 … … 350 350 OleAdviseHolderImpl_SendOnClose (LPOLEADVISEHOLDER iface) 351 351 { 352 ICOM_THIS(OleAdviseHolderImpl, iface); 352 ICOM_THIS(OleAdviseHolderImpl, iface); 353 353 FIXME("(%p)\n", This); 354 354 … … 364 364 FORMATETC fmat; 365 365 DWORD advf; 366 } DataAdviseConnection; 366 } DataAdviseConnection; 367 367 368 368 typedef struct DataAdviseHolder … … 384 384 REFIID riid, 385 385 void** ppvObject); 386 static ULONG WINAPI DataAdviseHolder_AddRef( 386 static ULONG WINAPI DataAdviseHolder_AddRef( 387 387 IDataAdviseHolder* iface); 388 static ULONG WINAPI DataAdviseHolder_Release( 388 static ULONG WINAPI DataAdviseHolder_Release( 389 389 IDataAdviseHolder* iface); 390 static HRESULT WINAPI DataAdviseHolder_Advise( 390 static HRESULT WINAPI DataAdviseHolder_Advise( 391 391 IDataAdviseHolder* iface, 392 IDataObject* pDataObject, 393 FORMATETC* pFetc, 394 DWORD advf, 395 IAdviseSink* pAdvise, 392 IDataObject* pDataObject, 393 FORMATETC* pFetc, 394 DWORD advf, 395 IAdviseSink* pAdvise, 396 396 DWORD* pdwConnection); 397 static HRESULT WINAPI DataAdviseHolder_Unadvise( 397 static HRESULT WINAPI DataAdviseHolder_Unadvise( 398 398 IDataAdviseHolder* iface, 399 399 DWORD dwConnection); 400 static HRESULT WINAPI DataAdviseHolder_EnumAdvise( 401 IDataAdviseHolder* iface, 400 static HRESULT WINAPI DataAdviseHolder_EnumAdvise( 401 IDataAdviseHolder* iface, 402 402 IEnumSTATDATA** ppenumAdvise); 403 static HRESULT WINAPI DataAdviseHolder_SendOnDataChange( 404 IDataAdviseHolder* iface, 405 IDataObject* pDataObject, 406 DWORD dwReserved, 403 static HRESULT WINAPI DataAdviseHolder_SendOnDataChange( 404 IDataAdviseHolder* iface, 405 IDataObject* pDataObject, 406 DWORD dwReserved, 407 407 DWORD advf); 408 408 … … 432 432 0, 433 433 sizeof(DataAdviseHolder)); 434 434 435 435 ICOM_VTBL(newHolder) = &DataAdviseHolderImpl_VTable; 436 436 newHolder->ref = 1; … … 438 438 newHolder->Connections = HeapAlloc(GetProcessHeap(), 439 439 HEAP_ZERO_MEMORY, 440 newHolder->maxCons * 440 newHolder->maxCons * 441 441 sizeof(DataAdviseConnection)); 442 442 … … 461 461 } 462 462 } 463 463 464 464 HeapFree(GetProcessHeap(), 0, ptrToDestroy->Connections); 465 465 HeapFree(GetProcessHeap(), 0, ptrToDestroy); … … 476 476 void** ppvObject) 477 477 { 478 ICOM_THIS(DataAdviseHolder, iface); 478 ICOM_THIS(DataAdviseHolder, iface); 479 479 TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppvObject); 480 480 /* … … 483 483 if ( (This==0) || (ppvObject==0) ) 484 484 return E_INVALIDARG; 485 485 486 486 /* 487 487 * Initialize the return parameter. … … 497 497 *ppvObject = iface; 498 498 } 499 499 500 500 /* 501 501 * Check that we obtained an interface. … … 505 505 return E_NOINTERFACE; 506 506 } 507 507 508 508 /* 509 509 * Query Interface always increases the reference count by one when it is 510 * successful. 510 * successful. 511 511 */ 512 512 IUnknown_AddRef((IUnknown*)*ppvObject); 513 513 514 return S_OK; ;514 return S_OK; 515 515 } 516 516 … … 520 520 * See Windows documentation for more details on IUnknown methods. 521 521 */ 522 static ULONG WINAPI DataAdviseHolder_AddRef( 522 static ULONG WINAPI DataAdviseHolder_AddRef( 523 523 IDataAdviseHolder* iface) 524 524 { 525 ICOM_THIS(DataAdviseHolder, iface); 525 ICOM_THIS(DataAdviseHolder, iface); 526 526 TRACE("(%p) (ref=%ld)\n", This, This->ref); 527 527 This->ref++; … … 535 535 * See Windows documentation for more details on IUnknown methods. 536 536 */ 537 static ULONG WINAPI DataAdviseHolder_Release( 537 static ULONG WINAPI DataAdviseHolder_Release( 538 538 IDataAdviseHolder* iface) 539 539 { … … 555 555 return 0; 556 556 } 557 557 558 558 return This->ref; 559 559 } … … 565 565 static HRESULT WINAPI DataAdviseHolder_Advise( 566 566 IDataAdviseHolder* iface, 567 IDataObject* pDataObject, 568 FORMATETC* pFetc, 569 DWORD advf, 570 IAdviseSink* pAdvise, 567 IDataObject* pDataObject, 568 FORMATETC* pFetc, 569 DWORD advf, 570 IAdviseSink* pAdvise, 571 571 DWORD* pdwConnection) 572 572 { 573 573 DWORD index; 574 575 ICOM_THIS(DataAdviseHolder, iface); 574 575 ICOM_THIS(DataAdviseHolder, iface); 576 576 577 577 TRACE("(%p)->(%p, %p, %08lx, %p, %p)\n", This, pDataObject, pFetc, advf, … … 582 582 if (pdwConnection==NULL) 583 583 return E_POINTER; 584 584 585 585 *pdwConnection = 0; 586 586 … … 630 630 * DataAdviseHolder_Unadvise 631 631 */ 632 static HRESULT WINAPI DataAdviseHolder_Unadvise( 632 static HRESULT WINAPI DataAdviseHolder_Unadvise( 633 633 IDataAdviseHolder* iface, 634 634 DWORD dwConnection) 635 635 { 636 ICOM_THIS(DataAdviseHolder, iface); 636 ICOM_THIS(DataAdviseHolder, iface); 637 637 638 638 TRACE("(%p)->(%lu)\n", This, dwConnection); 639 639 640 640 /* 641 * So we don't return 0 as a cookie, the index was 641 * So we don't return 0 as a cookie, the index was 642 642 * incremented by 1 in OleAdviseHolderImpl_Advise 643 643 * we have to compensate. 644 644 */ 645 645 dwConnection--; 646 646 647 647 /* 648 648 * Check for invalid cookies. 649 649 */ 650 if ( (dwConnection < 0) || 650 if ( (dwConnection < 0) || 651 651 (dwConnection >= This->maxCons) ) 652 652 return OLE_E_NOCONNECTION; … … 663 663 } 664 664 665 static HRESULT WINAPI DataAdviseHolder_EnumAdvise( 666 IDataAdviseHolder* iface, 665 static HRESULT WINAPI DataAdviseHolder_EnumAdvise( 666 IDataAdviseHolder* iface, 667 667 IEnumSTATDATA** ppenumAdvise) 668 668 { 669 ICOM_THIS(DataAdviseHolder, iface); 669 ICOM_THIS(DataAdviseHolder, iface); 670 670 671 671 FIXME("(%p)->(%p)\n", This, ppenumAdvise); … … 676 676 * DataAdviseHolder_SendOnDataChange 677 677 */ 678 static HRESULT WINAPI DataAdviseHolder_SendOnDataChange( 679 IDataAdviseHolder* iface, 680 IDataObject* pDataObject, 681 DWORD dwReserved, 678 static HRESULT WINAPI DataAdviseHolder_SendOnDataChange( 679 IDataAdviseHolder* iface, 680 IDataObject* pDataObject, 681 DWORD dwReserved, 682 682 DWORD advf) 683 683 { 684 ICOM_THIS(DataAdviseHolder, iface); 684 ICOM_THIS(DataAdviseHolder, iface); 685 685 DWORD index; 686 686 STGMEDIUM stg;
Note:
See TracChangeset
for help on using the changeset viewer.