windows-nt/Source/XPSP1/NT/termsrv/inc/ndcgbtyp.h
2020-09-26 16:20:57 +08:00

228 lines
10 KiB
C

/**INC+**********************************************************************/
/* Header: ndcgbtyp.h */
/* */
/* Purpose: Basic types - Win32 specific header */
/* */
/* Copyright(C) Microsoft Corporation 1997 */
/* */
/****************************************************************************/
/** Changes:
* $Log: Y:/logs/hydra/tshrclnt/inc/dcl/ndcgbtyp.h_v $
*
* Rev 1.13 24 Sep 1997 10:34:42 AK
* SFR1424: Disable warning 4702 for old compiler
*
* Rev 1.12 22 Aug 1997 13:21:12 TH
* SFR1133: Initial DD code drop
*
* Rev 1.11 15 Aug 1997 17:06:28 mr
* SFR1133: Tidy up CA further
*
* Rev 1.10 07 Aug 1997 14:33:50 MR
* SFR1133: Persuade Wd to compile under C++
*
* Rev 1.9 05 Aug 1997 14:09:22 MR
* SFR1133: Changes for Citrix build environment
*
* Rev 1.8 04 Aug 1997 14:56:50 KH
* SFR1022: Move DCCALLBACK to wdcgbtyp, add LOADDS
*
* Rev 1.7 23 Jul 1997 10:47:56 mr
* SFR1079: Merged \server\h duplicates to \h\dcl
*
* Rev 1.6 10 Jul 1997 17:23:12 KH
* SFR1022: Get 16-bit trace working
*
* Rev 1.5 09 Jul 1997 17:08:38 AK
* SFR1016: Initial changes to support Unicode
*
* Rev 1.3 16 Jul 1997 13:57:56 MR
* SFR1080: Added PPDCACHAR
*
* Rev 1.2 14 Jul 1997 17:15:48 OBK
* SFR1080: Define DCACHAR and PDCACHAR
*
* Rev 1.1 19 Jun 1997 21:50:30 OBK
* SFR0000: Start of RNS codebase
**/
/**INC-**********************************************************************/
#ifndef _H_NDCGBTYP
#define _H_NDCGBTYP
/****************************************************************************/
/* */
/* INCLUDES */
/* */
/****************************************************************************/
/****************************************************************************/
/* Check whether we should include the system headers. */
/****************************************************************************/
#ifndef DC_NO_SYSTEM_HEADERS
#if defined(DLL_DISP) || defined(DLL_WD)
/****************************************************************************/
/* winsta.h defines BYTE as unsigned char; later, windef.h typedefs it. */
/* This ends up as 'typedef unsigned char unsigned char' which doesn't */
/* compile too well... */
/* */
/* This is my attempt to avoid it */
/****************************************************************************/
#ifdef BYTE
#undef BYTE
#endif
#define BYTE BYTE
/****************************************************************************/
/* Windows NT DDK include files (used to replace standard windows.h) */
/* */
/* The display driver runs in the Kernel space and so MUST NOT access any */
/* Win32 functions or data. Instead we can only use the Win32k functions */
/* as described in the DDK. */
/****************************************************************************/
#include <stddef.h>
#include <stdarg.h>
#include <ntddk.h>
#include <windef.h>
#include <wingdi.h>
#include <winddi.h>
typedef struct _FILETIME /* from wtypes.h */
{
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME;
#else
/****************************************************************************/
/* Standard USER space windows header files. */
/* */
/* Force strict type checking. */
/****************************************************************************/
#ifndef STRICT
#define STRICT
#endif
/****************************************************************************/
/* Disable the following warnings for the Windows headers: */
/* */
/* 4115: named type definition in parentheses */
/* 4201: nonstandard extension used : nameless struct/union */
/* 4214: nonstandard extension used : bit field types other than int */
/* */
/****************************************************************************/
#pragma warning (disable: 4115)
#pragma warning (disable: 4201)
#pragma warning (disable: 4214)
/****************************************************************************/
/* Include the system headers. */
/****************************************************************************/
#include <windows.h>
#include <windowsx.h>
#include <tchar.h>
#ifdef OS_WINCE
#include <wince.h>
#endif
#pragma warning (default: 4115)
#pragma warning (default: 4201)
#pragma warning (default: 4214)
#endif /* defined(DLL_DISP) || defined(DLL_WD) */
#endif /* DCS_NO_SYSTEM_HEADERS */
/****************************************************************************/
/* Disable the following warnings for our code: */
/* */
/* 4102: "Unreferenced label" warnings so that DC_EXIT_POINT can be placed */
/* in each function if there aren't (yet) any DC_QUITs. */
/* 4514: unreferenced inline function has been removed */
/* 4057: slightly different types for L"string" and (wchar_t *) */
/* 4702: unreachable code (retail VC++4.2 only) */
/* */
/****************************************************************************/
#pragma warning (disable: 4102)
#pragma warning (disable: 4514)
#pragma warning (disable: 4057)
#ifndef DC_DEBUG
#pragma warning (disable: 4702)
#endif
/****************************************************************************/
/* Promote the following warnings to errors: */
/* */
/* 4706 - "Assignment in conditional expression" */
/* 4013 - "'FunctionName' undefined; assuming extern returning int" */
/* */
/* Promote the following warnings to level 3: */
/* */
/* 4100 - "unreferenced formal parameter" */
/* 4701 - "Local variable may be used before being initialized". */
/* 4244 - "conversion from 'int ' to 'short ', possible loss of data */
/* 4127 - "conditional expression is constant */
/* */
/****************************************************************************/
// #pragma warning (error: 4706)
// #pragma warning (error: 4013)
// #pragma warning (3 : 4100)
// #pragma warning (3 : 4701)
// #pragma warning (3 : 4244)
// #pragma warning (3 : 4127)
/****************************************************************************/
/* */
/* CONSTANTS */
/* */
/****************************************************************************/
/****************************************************************************/
/* */
/* TYPES */
/* */
/****************************************************************************/
/****************************************************************************/
/* DCPTR is used when declaring pointers to variables. Use it to get the */
/* correct pointer types for your memory model/compiler. */
/****************************************************************************/
#define DCPTR *
/****************************************************************************/
/* DCUNALIGNED is used to define pointers to values which are not aligned */
/* on the correct boundary. e.g. a DCUINT32 which does not start on a 4 */
/* byte boundary. */
/****************************************************************************/
#define DCUNALIGNED UNALIGNED
/****************************************************************************/
/* Define function calling conventions. Note that PDCAPI should be used to */
/* declare a pointer to a function. */
/****************************************************************************/
#define DCEXPORT
#define DCLOADDS
#ifndef OS_WINCE
#define DCAPI _stdcall
#define DCINTERNAL _stdcall
#else //no _stdcall support on CE.
#define DCAPI __cdecl
#define DCINTERNAL __cdecl
#define _stdcall __cdecl
#define __stdcall __cdecl
#endif
#define PDCAPI DCAPI DCPTR
#define PDCCALLBACK DCCALLBACK DCPTR
#define PDCINTERNAL DCINTERNAL DCPTR
/****************************************************************************/
/* Define DCHPTR. */
/****************************************************************************/
#define DCHPTR *
#endif /* _H_NDCGBTYP */