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.
|
|
/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
vcint.h
Abstract:
This module defines the virtual channel interface class.
Author:
Madan Appiah (madana) 17-Sep-1998
Revision History:
--*/
#ifndef __PORTMAP_H__
#define __PORTMAP_H__
//include externally exposed API
#include "drapi.h"
//definition of a channel init handle
//this is used only by internal plugins
#include "vchandle.h"
#define STATE_UNKNOWN 0xFF
#define PRDR_VC_CHANNEL_NAME DR_CHANNEL_NAME
class ProcObj;
class VCManager;
typedef struct _VC_TX_DATA { UINT32 uiLength; UINT32 uiAvailLen; BYTE *pbData; } VC_TX_DATA, *PVC_TX_DATA;
class CClip; class CRDPSound;
class VCManager : public IRDPDR_INTERFACE_OBJ {
public:
VCManager(CHANNEL_ENTRY_POINTS_EX*); VOID ChannelWrite(LPVOID, UINT);
// This version returns a status for the write as:
// CHANNEL_RC_OK, CHANNEL_RC_NOT_INITIALIZED, CHANNEL_RC_NOT_CONNECTED,
// CHANNEL_RC_BAD_CHANNEL_HANDLE, CHANNEL_RC_NULL_DATA,
// CHANNEL_RC_ZERO_LENGTH
UINT ChannelWriteEx(LPVOID, UINT); UINT ChannelClose();
VOID ChannelInitEvent(PVOID, UINT, PVOID, UINT); VOID ChannelOpenEvent(ULONG, UINT, PVOID, UINT32, UINT32, UINT32);
VOID SetClip(CClip* pClip) {_pClip = pClip;} CClip* GetClip() {return _pClip;} VOID SetInitData(PRDPDR_DATA pInitData) {_pRdpDrInitSettings = pInitData;} PRDPDR_DATA GetInitData() {return _pRdpDrInitSettings;}
VOID SetSound(CRDPSound *pSound) { _pSound = pSound; } CRDPSound *GetSound() { return _pSound; }
virtual void OnDeviceChange(WPARAM wParam, LPARAM lParam);
protected: PVOID _hVCHandle; // Virtual Channel Handle.
ULONG _hVCOpenHandle; // VC open handle for rdpdr channel.
VC_TX_DATA _Buffer; // Data for compiling data recieved by the channel
BYTE _bState; // State of the connection/system
ProcObj *_pProcObj; // Pointer to the processing unit
CHANNEL_ENTRY_POINTS_EX _ChannelEntries; // Callback methods
PRDPDR_DATA _pRdpDrInitSettings;
CClip* _pClip; CRDPSound *_pSound; };
#endif // __PORTMAP_H__
|