35 lines
684 B
C
35 lines
684 B
C
|
#pragma once
|
||
|
#ifdef __cplusplus
|
||
|
#include <unknwn.h>
|
||
|
class ThreadRefCount : public IUnknown
|
||
|
{
|
||
|
public:
|
||
|
ThreadRefCount();
|
||
|
STDMETHOD(QueryInterface)(REFIID riid, PVOID *ppvObject);
|
||
|
STDMETHOD_(ULONG, AddRef)(void);
|
||
|
STDMETHOD_(ULONG, Release)(void);
|
||
|
|
||
|
LONG refCount;
|
||
|
};
|
||
|
|
||
|
class AppRefCount : public IUnknown
|
||
|
{
|
||
|
public:
|
||
|
AppRefCount();
|
||
|
STDMETHOD(QueryInterface)(REFIID riid, PVOID *ppvObject);
|
||
|
STDMETHOD_(ULONG, AddRef)(void);
|
||
|
STDMETHOD_(ULONG, Release)(void);
|
||
|
|
||
|
LONG refCount;
|
||
|
DWORD m_dwThread;
|
||
|
};
|
||
|
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
void *InitAppRefCounterObject(DWORD threadId);
|
||
|
void *GetAppRefCounterObject();
|
||
|
void AppRefCount_Release();
|
||
|
int AppRefCount_CanQuit();
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|