source: trunk/src/ole32/old/moniker.h@ 10367

Last change on this file since 10367 was 5601, checked in by sandervl, 24 years ago

created

File size: 2.5 KB
Line 
1/* $Id: moniker.h,v 1.1 2001-04-26 19:26:12 sandervl Exp $ */
2/*
3 * moniker.h [OLE32]
4 *
5 * Private include for Running Object Table (ROT) implementation class
6 */
7
8#if !defined(MONIKER_INCLUDED)
9#define MONIKER_INCLUDED
10
11#define ROT_BLOCK_SIZE 50
12
13// ROT Element
14struct RunObject
15{
16 IUnknown * pObj; // object
17 IMoniker * pmkObj; // moniker who identifies this object
18 FILETIME lastModifObj; // Last modified date/time
19 DWORD identRegObj; // registration key relative to this object
20 DWORD regTypeObj; // registration type : strong or weak
21};
22
23// Implementation structure for ROT
24struct RunningObjectTableImpl
25{
26 ICOM_VTABLE(IRunningObjectTable)* lpvtbl;
27 ULONG ref;
28
29 RunObject * runObjTab; // First object
30 DWORD runObjTabSize; // ROT size
31 DWORD runObjTabLastIndx; // First free ROT entry
32 DWORD runObjTabRegister; // Registration key of the next registred object
33};
34
35// Initialisation
36extern HRESULT RunningObjectTableImpl_Initialize();
37extern HRESULT RunningObjectTableImpl_UnInitialize();
38
39static HRESULT Destroy();
40static HRESULT GetObjectIndex(RunningObjectTableImpl * This, DWORD identReg, IMoniker * pmk, DWORD * indx);
41
42static HRESULT WIN32API RunningObjectTableImpl_QueryInterface
43 (IRunningObjectTable * iface,REFIID riid,void** ppvObject);
44static ULONG WIN32API RunningObjectTableImpl_AddRef
45 (IRunningObjectTable * iface);
46static ULONG WIN32API RunningObjectTableImpl_Release
47 (IRunningObjectTable * iface);
48static HRESULT WIN32API RunningObjectTableImpl_Register
49 (IRunningObjectTable * iface, DWORD grfFlags, IUnknown * punkObject,
50 IMoniker * pmkObjectName, DWORD* pdwRegister);
51static HRESULT WIN32API RunningObjectTableImpl_Revoke
52 (IRunningObjectTable * iface, DWORD dwRegister);
53static HRESULT WIN32API RunningObjectTableImpl_IsRunning
54 (IRunningObjectTable * iface, IMoniker * pmkObjectName);
55static HRESULT WIN32API RunningObjectTableImpl_GetObject
56 (IRunningObjectTable * iface, IMoniker * pmkObjectName, IUnknown * * ppunkObject);
57static HRESULT WIN32API RunningObjectTableImpl_NoteChangeTime
58 (IRunningObjectTable * iface, DWORD dwRegister, FILETIME * pfiletime);
59static HRESULT WIN32API RunningObjectTableImpl_GetTimeOfLastChange
60 (IRunningObjectTable * iface, IMoniker * pmkObjectName, FILETIME * pfiletime);
61static HRESULT WIN32API RunningObjectTableImpl_EnumRunning
62 (IRunningObjectTable * iface, IEnumMoniker * * ppenumMoniker);
63
64#endif // MONIKER_INCLUDED
65
Note: See TracBrowser for help on using the repository browser.