Changeset 6648 for trunk/src/ole32/moniker.c
- Timestamp:
- Sep 5, 2001, 3:19:02 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/ole32/moniker.c
r5843 r6648 1 /* $Id: moniker.c,v 1.3 2001-09-05 13:17:10 bird Exp $ */ 1 2 /* 2 * 3 * Monikers 3 4 * 4 * Copyright 1998Marcus Meissner5 * Copyright 1998 Marcus Meissner 5 6 * Copyright 1999 Noomen Hamza 6 7 */ … … 46 47 DWORD runObjTabLastIndx; /* first free index element in the table. */ 47 48 DWORD runObjTabRegister; /* registration key of the next registered object */ 48 49 49 50 } RunningObjectTableImpl; 50 51 … … 136 137 { 137 138 TRACE("()\n"); 138 139 139 140 if (runningObjectTableInstance==NULL) 140 141 return E_INVALIDARG; … … 169 170 if (( This->runObjTab[i].regTypeObj & ROTFLAGS_REGISTRATIONKEEPSALIVE) != 0) 170 171 IUnknown_Release(This->runObjTab[i].pObj); 171 172 172 173 IMoniker_Release(This->runObjTab[i].pmkObj); 173 174 } … … 229 230 if (runningObjectTableInstance==NULL) 230 231 return E_POINTER; 231 232 232 233 RunningObjectTableImpl_Release((IRunningObjectTable*)runningObjectTableInstance); 233 234 … … 270 271 This->runObjTab[This->runObjTabLastIndx].identRegObj = This->runObjTabRegister; 271 272 CoFileTimeNow(&(This->runObjTab[This->runObjTabLastIndx].lastModifObj)); 272 273 273 274 /* gives a registration identifier to the registered object*/ 274 275 (*pdwRegister)= This->runObjTabRegister; … … 277 278 278 279 FIXME("runObjTabRegister: %ld is out of data limite \n",This->runObjTabRegister); 279 280 return E_FAIL; 280 281 } 281 282 This->runObjTabRegister++; 282 283 This->runObjTabLastIndx++; 283 284 284 285 if (This->runObjTabLastIndx == This->runObjTabSize){ /* table is full ! so it must be resized */ 285 286 … … 295 296 296 297 IMoniker_AddRef(pmkObjectName); 297 298 298 299 return res; 299 300 } … … 321 322 322 323 IMoniker_Release(This->runObjTab[index].pmkObj); 323 324 324 325 /* remove the object from the table */ 325 326 for(j=index; j<This->runObjTabLastIndx-1; j++) 326 327 This->runObjTab[j]= This->runObjTab[j+1]; 327 328 328 329 This->runObjTabLastIndx--; 329 330 … … 336 337 HRESULT WINAPI RunningObjectTableImpl_IsRunning( IRunningObjectTable* iface, 337 338 IMoniker *pmkObjectName) /* Pointer to the moniker of the object whose status is desired */ 338 { 339 { 339 340 ICOM_THIS(RunningObjectTableImpl,iface); 340 341 … … 358 359 if (ppunkObject==NULL) 359 360 return E_POINTER; 360 361 361 362 *ppunkObject=0; 362 363 … … 393 394 return S_OK; 394 395 } 395 396 396 397 /*********************************************************************** 397 398 * RunningObjectTable_GetTimeOfLastChange … … 447 448 /* search object identified by a register identifier */ 448 449 for(i=0;((i<This->runObjTabLastIndx)&&(This->runObjTab[i].identRegObj!=identReg));i++); 449 450 450 451 if (i==This->runObjTabLastIndx) return S_FALSE; 451 452 … … 456 457 457 458 /****************************************************************************** 458 * GetRunningObjectTable16[OLE2.30]459 * GetRunningObjectTable16 [OLE2.30] 459 460 */ 460 461 HRESULT WINAPI GetRunningObjectTable16(DWORD reserved, LPRUNNINGOBJECTTABLE *pprot) 461 462 { 462 463 FIXME("(%ld,%p),stub!\n",reserved,pprot); 463 464 return E_NOTIMPL; 464 465 } … … 490 491 HRESULT WINAPI OleRun(LPUNKNOWN pUnknown) 491 492 { 492 IRunnableObject 493 IRunnableObject *runable; 493 494 ICOM_THIS(IRunnableObject,pUnknown); 494 LRESULT 495 LRESULT ret; 495 496 496 497 #ifdef __WIN32OS2__ … … 501 502 502 503 ret = IRunnableObject_QueryInterface(This,&IID_IRunnableObject,(LPVOID*)&runable); 503 if (ret) 504 504 if (ret) 505 return 0; /* Appears to return no error. */ 505 506 ret = IRunnableObject_Run(runable,NULL); 506 507 IRunnableObject_Release(runable); … … 512 513 */ 513 514 HRESULT WINAPI MkParseDisplayName(LPBC pbc, LPCOLESTR szUserName, 514 515 LPDWORD pchEaten, LPMONIKER *ppmk) 515 516 { 516 517 FIXME("(%p, %s, %p, %p): stub.\n", pbc, debugstr_w(szUserName), pchEaten, *ppmk); 517 518 if (!(IsValidInterface((LPUNKNOWN) pbc))) 518 519 return E_INVALIDARG; 519 520 520 521 return MK_E_SYNTAX;
Note:
See TracChangeset
for help on using the changeset viewer.