Windows2003-3790/termsrv/newclient/clshell/evsink.h
2020-09-30 16:53:55 +02:00

48 lines
1.5 KiB
C++

//
// evsink.h: Event Sink Object class
//
#ifndef _sinkobj_h_
#define _sinkobj_h_
//fwd declaration
class CContainerWnd;
class CEventSink : public IMsTscAxEvents
{
public:
// constructor and destructor
CEventSink(CContainerWnd* pContainerWnd);
~CEventSink();
// IUnknown methods
STDMETHODIMP QueryInterface (THIS_ REFIID riid, LPVOID *ppvObj);
STDMETHODIMP_(ULONG) AddRef (THIS);
STDMETHODIMP_(ULONG) Release(THIS);
// IDispatch methods
STDMETHODIMP GetTypeInfoCount(THIS_ UINT *);
STDMETHODIMP GetTypeInfo (THIS_ UINT, LCID, ITypeInfo **);
STDMETHODIMP GetIDsOfNames (THIS_ REFIID, OLECHAR **, UINT, LCID, DISPID *);
STDMETHODIMP Invoke (THIS_ DISPID, REFIID, LCID, WORD,
DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *);
//Event sinks
HRESULT inline __stdcall OnConnected();
HRESULT inline __stdcall OnLoginComplete();
HRESULT inline __stdcall OnDisconnected(long disconReason);
HRESULT inline __stdcall OnRequestEnterFullScreen();
HRESULT inline __stdcall OnRequestLeaveFullScreen();
HRESULT inline __stdcall OnFatalError(long errorCode);
HRESULT inline __stdcall OnWarning(long errorCode);
HRESULT inline __stdcall OnRemoteDesktopSizeChange(long width, long height);
HRESULT inline __stdcall OnRequestContainerMinimize();
HRESULT inline __stdcall OnConfirmClose(VARIANT_BOOL* pvbConfirmClose);
private:
LONG _cRef;
CContainerWnd* _pContainerWnd;
};
#endif // _sinkobj_h_