90 lines
2.1 KiB
C
90 lines
2.1 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 2000 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
RemoteDesktopServerEventSink
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This listens to the events from the IRemoteDesktopServer so
|
||
|
we can find out when the client connects/disconnects
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Marc Reyhner 7/5/2000
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef __REMOTEDESKTOPSERVEREVENTSINK_H__
|
||
|
#define __REMOTEDESKTOPSERVEREVENTSINK_H__
|
||
|
|
||
|
#include "rdshost.h"
|
||
|
|
||
|
#define IDC_EVENT_SOURCE_OBJ 1
|
||
|
|
||
|
//
|
||
|
// Info for all the event functions is entered here
|
||
|
// there is a way to have ATL do this automatically using typelib's
|
||
|
// but it is slower.
|
||
|
//
|
||
|
static _ATL_FUNC_INFO EventFuncNoParamsInfo =
|
||
|
{
|
||
|
CC_STDCALL, // Calling convention.
|
||
|
VT_EMPTY, // Return type.
|
||
|
0, // Number of arguments.
|
||
|
{VT_EMPTY} // Argument types.
|
||
|
};
|
||
|
|
||
|
static _ATL_FUNC_INFO EventFuncLongParamInfo =
|
||
|
{
|
||
|
CC_STDCALL, // Calling convention.
|
||
|
VT_EMPTY, // Return type.
|
||
|
1, // Number of arguments.
|
||
|
{VT_I4} // Argument types.
|
||
|
};
|
||
|
|
||
|
////////////////////////////////////////////////
|
||
|
//
|
||
|
// CRemoteDesktopServerEventSink
|
||
|
//
|
||
|
// Event sink for server events.
|
||
|
//
|
||
|
|
||
|
class CRemoteDesktopServerEventSink :
|
||
|
public IDispEventSimpleImpl<IDC_EVENT_SOURCE_OBJ, CRemoteDesktopServerEventSink,
|
||
|
&DIID__ISAFRemoteDesktopSessionEvents>
|
||
|
{
|
||
|
|
||
|
public:
|
||
|
// The sink map for ATL
|
||
|
BEGIN_SINK_MAP(CRemoteDesktopServerEventSink)
|
||
|
SINK_ENTRY_INFO(IDC_EVENT_SOURCE_OBJ, DIID__ISAFRemoteDesktopSessionEvents,
|
||
|
1, OnConnected,
|
||
|
&EventFuncNoParamsInfo)
|
||
|
SINK_ENTRY_INFO(IDC_EVENT_SOURCE_OBJ, DIID__ISAFRemoteDesktopSessionEvents,
|
||
|
2, OnDisconnected,
|
||
|
&EventFuncNoParamsInfo)
|
||
|
END_SINK_MAP()
|
||
|
|
||
|
|
||
|
|
||
|
//
|
||
|
// Event Sinks
|
||
|
//
|
||
|
|
||
|
// The client connected
|
||
|
VOID __stdcall OnConnected();
|
||
|
|
||
|
// The client disconnected
|
||
|
VOID __stdcall OnDisconnected();
|
||
|
|
||
|
// Return the name of this class.
|
||
|
virtual const LPTSTR ClassName() {
|
||
|
return TEXT("CRemoteDesktopServerEventSink");
|
||
|
}
|
||
|
};
|
||
|
|
||
|
#endif
|