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.
121 lines
4.8 KiB
121 lines
4.8 KiB
/****************************************************************************/
|
|
// acomapi.h
|
|
//
|
|
// RDP common functions API header
|
|
//
|
|
// Copyright (C) Microsoft, PictureTel 1992-1997
|
|
// Copyright (C) 1997-2000 Microsoft Corporation
|
|
/****************************************************************************/
|
|
#ifndef _H_ACOMAPI
|
|
#define _H_ACOMAPI
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
#include <atrcapi.h>
|
|
|
|
|
|
/****************************************************************************/
|
|
/* We have a circular structure dependency, so prototype the necessary data */
|
|
/* here. */
|
|
/****************************************************************************/
|
|
typedef struct tagTSHARE_WD TSHARE_WD, *PTSHARE_WD;
|
|
|
|
|
|
/****************************************************************************/
|
|
// COM_Malloc
|
|
//
|
|
// Wrapper for paged pool allocation with WD tag.
|
|
/****************************************************************************/
|
|
#ifndef DLL_DISP
|
|
|
|
#ifndef DC_DEBUG
|
|
/****************************************************************************/
|
|
/* For a free build, just call ExAllocatePoolWithTag */
|
|
/****************************************************************************/
|
|
__inline PVOID RDPCALL COM_Malloc(UINT32 length)
|
|
{
|
|
return ExAllocatePoolWithTag(PagedPool, length, WD_ALLOC_TAG);
|
|
}
|
|
|
|
#else /* DC_DEBUG */
|
|
/****************************************************************************/
|
|
/* Checked COM_Malloc - call WDW_Malloc */
|
|
/****************************************************************************/
|
|
PVOID RDPCALL WDW_Malloc(PTSHARE_WD, ULONG);
|
|
#define COM_Malloc(len) WDW_Malloc(pTRCWd, len)
|
|
#endif /* DC_DEBUG */
|
|
#endif /* DLL_DISP */
|
|
|
|
|
|
/****************************************************************************/
|
|
// COM_Free
|
|
//
|
|
// Wrapper for pool deallocator.
|
|
/****************************************************************************/
|
|
#ifndef DLL_DISP
|
|
|
|
#ifndef DC_DEBUG
|
|
/****************************************************************************/
|
|
/* Free build - just call ExFreePool */
|
|
/****************************************************************************/
|
|
__inline void RDPCALL COM_Free(PVOID pMemory)
|
|
{
|
|
ExFreePool(pMemory);
|
|
}
|
|
|
|
#else /* DC_DEBUG */
|
|
/****************************************************************************/
|
|
/* Checked build - call WDW_Free */
|
|
/****************************************************************************/
|
|
void RDPCALL WDW_Free(PVOID);
|
|
#define COM_Free(pMem) WDW_Free(pMem)
|
|
#endif /* DC_DEBUG */
|
|
#endif /* DLL_DISP */
|
|
|
|
|
|
/****************************************************************************/
|
|
/* Name: COM_GETTICKCOUNT */
|
|
/* */
|
|
/* Purpose: Gets a tick count */
|
|
/* */
|
|
/* Returns: Relative time in units of 100ns. This will wrap after 429 */
|
|
/* seconds. */
|
|
/****************************************************************************/
|
|
#ifndef DLL_DISP
|
|
#define COM_GETTICKCOUNT(A) \
|
|
{ \
|
|
LARGE_INTEGER sysTime; \
|
|
KeQuerySystemTime((PLARGE_INTEGER)&sysTime); \
|
|
A = sysTime.LowPart; \
|
|
}
|
|
#endif /* ndef DLL_DISP */
|
|
|
|
|
|
/****************************************************************************/
|
|
/* Prototypes for COM registry access functions */
|
|
/****************************************************************************/
|
|
BOOL RDPCALL COM_OpenRegistry(PTSHARE_WD pTSWd,
|
|
PWCHAR pSection);
|
|
|
|
void RDPCALL COM_CloseRegistry(PTSHARE_WD pTSWd);
|
|
|
|
void RDPCALL COM_ReadProfInt32(PTSHARE_WD pTSWd,
|
|
PWCHAR pEntry,
|
|
INT32 defaultValue,
|
|
long *pValue);
|
|
|
|
NTSTATUS RDPCALL COMReadEntry(PTSHARE_WD pTSWd,
|
|
PWCHAR pEntry,
|
|
PVOID pBuffer,
|
|
unsigned bufferSize,
|
|
UINT32 expectedDataType);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* _H_ACOMAPI */
|
|
|