184 lines
3.4 KiB
C
184 lines
3.4 KiB
C
|
/****************************************************************************
|
||
|
|
||
|
Copyright (c) 1995-1999 Microsoft Corporation
|
||
|
|
||
|
Module Name: private.h
|
||
|
|
||
|
****************************************************************************/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "tapsrv.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C"{
|
||
|
#endif
|
||
|
|
||
|
//***************************************************************************
|
||
|
//***************************************************************************
|
||
|
//***************************************************************************
|
||
|
void AllocNewID( HKEY MainKey, LPDWORD lpdw );
|
||
|
void PASCAL WideStringToNotSoWideString( LPBYTE lpBase, LPDWORD lpdwThing );
|
||
|
PWSTR PASCAL MultiToWide( LPCSTR lpStr );
|
||
|
PWSTR PASCAL NotSoWideStringToWideString( LPCSTR lpStr, DWORD dwLength );
|
||
|
|
||
|
|
||
|
|
||
|
//***************************************************************************
|
||
|
//***************************************************************************
|
||
|
//***************************************************************************
|
||
|
typedef enum
|
||
|
{
|
||
|
Dword,
|
||
|
lpDword,
|
||
|
hXxxApp,
|
||
|
hXxxApp_NULLOK,
|
||
|
// lpsz,
|
||
|
lpszW,
|
||
|
lpGet_SizeToFollow,
|
||
|
lpSet_SizeToFollow,
|
||
|
lpSet_Struct,
|
||
|
lpGet_Struct,
|
||
|
Size,
|
||
|
Hwnd
|
||
|
|
||
|
} ARG_TYPE;
|
||
|
|
||
|
|
||
|
typedef struct _FUNC_ARGS
|
||
|
{
|
||
|
DWORD Flags;
|
||
|
|
||
|
ULONG_PTR Args[MAX_TAPI_FUNC_ARGS];
|
||
|
|
||
|
BYTE ArgTypes[MAX_TAPI_FUNC_ARGS];
|
||
|
|
||
|
} FUNC_ARGS, *PFUNC_ARGS;
|
||
|
|
||
|
|
||
|
typedef struct _UI_REQUEST_THREAD_PARAMS
|
||
|
{
|
||
|
BOOL bRequestCompleted;
|
||
|
|
||
|
PFUNC_ARGS pFuncArgs;
|
||
|
|
||
|
LONG lResult;
|
||
|
|
||
|
} UI_REQUEST_THREAD_PARAMS, *PUI_REQUEST_THREAD_PARAMS;
|
||
|
|
||
|
|
||
|
typedef struct _INIT_DATA
|
||
|
{
|
||
|
DWORD dwKey;
|
||
|
|
||
|
DWORD dwInitOptions;
|
||
|
|
||
|
union
|
||
|
{
|
||
|
HWND hwnd;
|
||
|
|
||
|
HANDLE hEvent;
|
||
|
|
||
|
HANDLE hCompletionPort;
|
||
|
};
|
||
|
|
||
|
union
|
||
|
{
|
||
|
LINECALLBACK lpfnCallback;
|
||
|
|
||
|
DWORD dwCompletionKey;
|
||
|
};
|
||
|
|
||
|
HLINEAPP hXxxApp;
|
||
|
|
||
|
BOOL bPendingAsyncEventMsg;
|
||
|
|
||
|
DWORD dwNumTotalEntries;
|
||
|
|
||
|
DWORD dwNumUsedEntries;
|
||
|
|
||
|
PASYNC_EVENT_PARAMS pEventBuffer;
|
||
|
|
||
|
PASYNC_EVENT_PARAMS pValidEntry;
|
||
|
|
||
|
PASYNC_EVENT_PARAMS pFreeEntry;
|
||
|
|
||
|
DWORD dwNumLines;
|
||
|
|
||
|
BOOL bLine;
|
||
|
|
||
|
DWORD dwThreadID;
|
||
|
|
||
|
DWORD hInitData;
|
||
|
|
||
|
} INIT_DATA, *PINIT_DATA;
|
||
|
|
||
|
|
||
|
//
|
||
|
// Private Error codes
|
||
|
//
|
||
|
|
||
|
#define TAPIERR_NOSERVICECONTROL 0xF100
|
||
|
#define TAPIERR_INVALRPCCONTEXT 0xF101
|
||
|
|
||
|
#if DBG
|
||
|
|
||
|
#define DBGOUT(arg) DbgPrt arg
|
||
|
|
||
|
VOID
|
||
|
DbgPrt(
|
||
|
IN DWORD dwDbgLevel,
|
||
|
IN LPTSTR DbgMessage,
|
||
|
IN ...
|
||
|
);
|
||
|
|
||
|
extern DWORD gdwDebugLevel;
|
||
|
|
||
|
#define DOFUNC(arg1,arg2) DoFunc(arg1,arg2)
|
||
|
|
||
|
LONG
|
||
|
WINAPI
|
||
|
DoFunc(
|
||
|
PFUNC_ARGS pFuncArgs,
|
||
|
char *pszFuncName
|
||
|
);
|
||
|
|
||
|
#else
|
||
|
|
||
|
#define DBGOUT(arg)
|
||
|
|
||
|
#define DOFUNC(arg1,arg2) DoFunc(arg1)
|
||
|
|
||
|
LONG
|
||
|
WINAPI
|
||
|
DoFunc(
|
||
|
PFUNC_ARGS pFuncArgs
|
||
|
);
|
||
|
|
||
|
#endif
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
SetTlsPCtxHandle(
|
||
|
PCONTEXT_HANDLE_TYPE phCtxHandle
|
||
|
);
|
||
|
|
||
|
PCONTEXT_HANDLE_TYPE
|
||
|
WINAPI
|
||
|
GetTlsPCtxHandle(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#if DBG
|
||
|
|
||
|
#define DWORD_CAST(v,f,l) (((v)>MAXDWORD)?(DbgPrt(0,L"DWORD_CAST: information will be lost during cast from %p in file %s, line %d",(v),(f),(l)), DebugBreak(),((DWORD)(v))):((DWORD)(v)))
|
||
|
|
||
|
#else
|
||
|
#define DWORD_CAST(v,f,l) (DWORD)(v)
|
||
|
#endif //DBG
|