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.
 
 
 
 
 
 

196 lines
8.1 KiB

/****************************************************************************/
// as_conf.hpp
//
// Definition of RDP ShareClass. Note ShareClass is a huge amalgam of the
// public and private portions of each "component" (IM, SC, etc.).
//
// COPYRIGHT(C) Microsoft 1996-1999
/****************************************************************************/
#ifndef _H_AS_CONF
#define _H_AS_CONF
/****************************************************************************/
/* All the headers we need for the class definition (which is pretty much */
/* all the headers...) */
/****************************************************************************/
#include <adcs.h>
/****************************************************************************/
/* Make sure we use a standard trace group if the module has not defined a */
/* custom one. */
/****************************************************************************/
#ifndef TRC_GROUP
#define TRC_GROUP TRC_GROUP_DCSHARE
#endif
/****************************************************************************/
/* Define the pWD for use by tracing, if the module has not alreasy defined */
/* one. */
/****************************************************************************/
#ifndef pTRCWd
#define pTRCWd m_pTSWd
#endif
extern "C"
{
#include <atrcapi.h>
}
#include <aprot.h>
/****************************************************************************/
/* References to the WD struct. */
/****************************************************************************/
#include <nwdwapi.h>
/****************************************************************************/
/* WD IOCtls */
/****************************************************************************/
#include <nwdwioct.h>
/****************************************************************************/
/* Include all API and INT headers which do not contain references to the */
/* ShareClass. Try to keep as many headers as possible here, otherwise you */
/* hit the Microsoft C++ compiler error "fatal error C1067: compiler limit */
/* : debug information module size exceeded.", even on retail builds. */
/* */
/* If you hit error "fatal error C2644: basis class 'class' for pointer to */
/* member has not been defined", you need to move the offending header */
/* which includes a reference to ShareClass into the class definition below.*/
/****************************************************************************/
#include <abcapi.h>
#include <abaapi.h>
#include <acaapi.h>
#include <aimapi.h>
#include <aoaapi.h>
#include <aoeapi.h>
#include <apmapi.h>
#include <aschapi.h>
#include <asdgapi.h>
#include <assiapi.h>
#include <aupapi.h>
#include <ausrapi.h>
#include <nshmapi.h>
/****************************************************************************/
/* Class: ShareClass */
/* */
/* Description: RDP WD-only per-conference Share Class */
/****************************************************************************/
class ShareClass
{
public:
/************************************************************************/
/* Constructor */
/************************************************************************/
ShareClass(PTSHARE_WD pTSWd,
unsigned desktopHeight,
unsigned desktopWidth,
unsigned desktopBpp,
PVOID pSmInfo): m_pTSWd (pTSWd),
m_desktopHeight(desktopHeight),
m_desktopWidth (desktopWidth),
m_desktopBpp (desktopBpp),
m_pSmInfo (pSmInfo)
{};
/************************************************************************/
/* Destructor not required. */
/************************************************************************/
/************************************************************************/
/* Member variables that are used for communication with other WD */
/* sub-components (WDW, SM, NM) or the WD. */
/************************************************************************/
/************************************************************************/
/* Pointer to the WD data structure */
/************************************************************************/
PTSHARE_WD m_pTSWd;
/************************************************************************/
/* SM handle */
/************************************************************************/
PVOID m_pSmInfo;
/************************************************************************/
/* Display characteristics */
/************************************************************************/
unsigned m_desktopHeight;
unsigned m_desktopWidth;
unsigned m_desktopBpp;
/************************************************************************/
/* Pointer to the shared memory */
/************************************************************************/
PSHM_SHARED_MEMORY m_pShm;
/****************************************************************************/
/* Include the API and INT headers which do contain references to the */
/* ShareClass (and those headers which end up including these!). Try to */
/* keep this list as small as possible to avoid hitting the compiler error */
/* C1067. */
/****************************************************************************/
#include <ascapi.h>
#include <ascint.h>
#include <adcsapi.h>
#include <acpcapi.h>
#include <acmapi.h>
#include <asbcapi.h>
#include <achapi.h>
/************************************************************************/
/* Other public member functions. These are the API functions which */
/* are accessed from outside the class. */
/************************************************************************/
#include <adcsafn.h>
#include <ascafn.h>
#include <aupafn.h>
#include <aschafn.h>
#include <asbcafn.h>
#include <aimafn.h>
private:
/************************************************************************/
/* Private member functions. */
/* These are the INT functions of all components, plus the API */
/* functions of components that are not accessed from outside the class.*/
/************************************************************************/
#include <abaafn.h>
#include <abcafn.h>
#include <acaafn.h>
#include <acpcafn.h>
#include <acmafn.h>
#include <aoaafn.h>
#include <aoacom.h>
#include <aoeafn.h>
#include <apmafn.h>
#include <asdgafn.h>
#include <assiafn.h>
#include <ausrafn.h>
#include <ascifn.h>
/************************************************************************/
/* Private member data items - which is all data. */
/************************************************************************/
#ifdef DLL_TSHRKDX
public: /* need all class data to be public for kd extensions */
#else
private:
#endif
#define DC_DEFINE_DATA
#include <adata.c>
#undef DC_DEFINE_DATA
};
#endif