Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

77 lines
2.1 KiB

//////////////////////////////////////////////////////////////////////
#ifndef __SESSMGREVNT_H__
#define __SESSMGREVNT_H__
//#include <atlbase.h>
//#include "IMSession.h"
class CIMSession;
class CSessionMgrEvent : public IDispatch
{
public:
CSessionMgrEvent(CIMSession*);
~CSessionMgrEvent();
// IUnknown methods
public:
STDMETHOD_(ULONG, AddRef) ()
{
InterlockedIncrement((long*)&m_dwRefCount);
return m_dwRefCount;
}
STDMETHOD_(ULONG, Release) ()
{
if ( InterlockedDecrement((long*)&m_dwRefCount) == 0 )
{
delete this;
return 0;
}
else
return m_dwRefCount;
} ;
STDMETHOD (QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
// IDispatch methods
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) ;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) ;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) ;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr);
public:
HRESULT Advise(IConnectionPoint*);
void OnAppShutDown();
HRESULT Unadvise();
private:
ULONG m_dwRefCount;
CIMSession *m_pIMSession;
IConnectionPoint* m_pCP;
DWORD m_dwCookie;
IID m_iid;
};
#endif