Windows2003-3790/termsrv/rdpwsx/gcc/_tgcc.h
2020-09-30 16:53:55 +02:00

140 lines
4.2 KiB
C

//---------------------------------------------------------------------------
//
// File: _Gcc.h
//
// Contents: Gcc private include file
//
// Copyright: (c) 1992 - 1997, Microsoft Corporation.
// All Rights Reserved.
// Information Contained Herein is Proprietary
// and Confidential.
//
// History: 17-JUL-97 BrianTa Created.
//
//---------------------------------------------------------------------------
#ifndef __GCC_H_
#define __GCC_H_
#ifndef RC_INVOKED
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#endif
#include <windows.h>
#include <t120.h>
#include <tshrutil.h>
//---------------------------------------------------------------------------
// Defines
//---------------------------------------------------------------------------
#define GCC_MAJOR_VERSION 1
#define GCC_MINOR_VERSION 0
#if DBG
#define GCCMCS_TBL_ITEM(_x_, _y_) {_x_, _y_, #_x_, #_y_}
#else
#define GCCMCS_TBL_ITEM(_x_, _y_) {_x_, _y_}
#endif // DBG defines
//---------------------------------------------------------------------------
// Typedefs
//---------------------------------------------------------------------------
// MCS/GCC return code table
typedef struct _GCCMCS_ERROR_ENTRY
{
MCSError mcsError; // MCSError
GCCError gccError; // GCCError
#if DBG
PCHAR pszMcsMessageText; // MCSError text
PCHAR pszGccMessageText; // GCCError text
#endif
} GCCMCS_ERROR_ENTRY, *PGCCMCS_ERROR_ENTRY;
//---------------------------------------------------------------------------
// Data declarations
//---------------------------------------------------------------------------
#ifdef _TGCC_ALLOC_DATA_
BOOL g_fInitialized = FALSE;
GCCMCS_ERROR_ENTRY GccMcsErrorTBL[] = {
GCCMCS_TBL_ITEM(MCS_NO_ERROR, GCC_NO_ERROR),
GCCMCS_TBL_ITEM(MCS_ALLOCATION_FAILURE, GCC_ALLOCATION_FAILURE),
GCCMCS_TBL_ITEM(MCS_ALREADY_INITIALIZED, GCC_ALREADY_INITIALIZED),
GCCMCS_TBL_ITEM(MCS_NOT_INITIALIZED, GCC_NOT_INITIALIZED),
GCCMCS_TBL_ITEM(MCS_INVALID_PARAMETER, GCC_INVALID_PARAMETER),
GCCMCS_TBL_ITEM(MCS_DOMAIN_ALREADY_EXISTS, GCC_FAILURE_CREATING_DOMAIN),
GCCMCS_TBL_ITEM(MCS_NO_SUCH_CONNECTION, GCC_BAD_CONNECTION_HANDLE_POINTER),
GCCMCS_TBL_ITEM(MCS_NO_SUCH_DOMAIN, GCC_DOMAIN_PARAMETERS_UNACCEPTABLE)};
#else
extern BOOL g_fInitialized;
extern GCCMCS_ERROR_ENTRY GccMcsErrorTBL[];
#endif
//---------------------------------------------------------------------------
// Prototypes
//---------------------------------------------------------------------------
GCCError gccMapMcsError(IN MCSError mcsError);
void gccInitialized(IN BOOL fInitialized);
BOOL gccIsInitialized(OUT GCCError *pgccError);
MCSError gccEncodeUserData(IN USHORT usMembers,
IN GCCUserData **ppDataList,
OUT PBYTE *pUserData,
OUT UINT *pUserDataLength);
MCSError gccDecodeUserData(IN PBYTE pData,
IN UINT DataLength,
OUT GCCUserData *pGccUserData);
void gccSetCallback(OUT GCCCallBack control_sap_callback);
MCSError gccConnectProviderIndication(IN PConnectProviderIndication pcpi,
IN PVOID pvContext);
MCSError gccDisconnectProviderIndication(IN PDisconnectProviderIndication pdpi,
IN PVOID pvContext);
MCSError mcsCallback(IN DomainHandle hDomain,
IN UINT Message,
IN PVOID pvParam,
IN PVOID pvContext);
VOID gccFreeUserData(IN GCCUserData *pUserData);
#if DBG
void gccDumpMCSErrorDetails(IN MCSError mcsError,
IN PCHAR pszText);
#else
#define gccDumpMCSErrorDetails(_x_, _y_);
#endif
#endif // __GCC_H_