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.
 
 
 
 
 
 

685 lines
24 KiB

/*++ BUILD Version: 0000 // Increment this if a change has global effects
Copyright (c) 1995-1998 Microsoft Corporation
Module Name:
private.h
Abstract:
Header file for tapi server
Author:
Dan Knudson (DanKn) 01-Apr-1995
Revision History:
--*/
#ifdef __cplusplus
extern "C" {
#endif
//
// Func protos from line.c, phone.c, tapi.c (needed for gaFuncs def)
//
void WINAPI GetAsyncEvents (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI GetUIDllName (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TUISPIDLLCallback (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI FreeDialogInstance (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LAccept (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LAddToConference (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LAgentSpecific (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LAnswer (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LBlindTransfer (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LClose (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LCompleteCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LCompleteTransfer (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LConditionalMediaDetection (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LDeallocateCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LDevSpecific (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LDevSpecificFeature (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LDial (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LDrop (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LForward (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGatherDigits (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGenerateDigits (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGenerateTone (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAddressCaps (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAddressID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAddressStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAgentActivityList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAgentCaps (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAgentGroupList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAgentStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAppPriority (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetCallAddressID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetCallHubTracking (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetCallIDs (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetCallInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetCallStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetConfRelatedCalls (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetCountry (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetCountryGroups (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetDevCaps (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetDevConfig (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetHubRelatedCalls (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetIcon (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetIDEx (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetLineDevStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetNewCalls (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetNumAddressIDs (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetNumRings (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetProviderList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetRequest (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetStatusMessages (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LHandoff (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LHold (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LInitialize (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LMakeCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LMonitorDigits (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LMonitorMedia (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LMonitorTones (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LNegotiateAPIVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LNegotiateExtVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LOpen (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LPark (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LPickup (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LPrepareAddToConference (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LProxyMessage (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LProxyResponse (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LRedirect (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LRegisterRequestRecipient (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LReleaseUserUserInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LRemoveFromConference (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSecureCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSelectExtVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSendUserUserInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetAgentActivity (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetAgentGroup (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetAgentState (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetAppPriority (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetAppSpecific (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetCallData (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetCallHubTracking (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetCallParams (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetCallPrivilege (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetCallQualityOfService (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetCallTreatment (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetDefaultMediaDetection (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetDevConfig (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetLineDevStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetMediaControl (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetMediaMode (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetNumRings (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetStatusMessages (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetTerminal (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetupConference (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetupTransfer (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LShutdown (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSwapHold (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LUncompleteCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LUnhold (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LUnpark (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PClose (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PDevSpecific (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetButtonInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetData (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetDevCaps (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetDisplay (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetGain (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetHookSwitch (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetIDEx (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetIcon (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetLamp (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetRing (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetStatusMessages (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PGetVolume (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PInitialize (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI POpen (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PNegotiateAPIVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PNegotiateExtVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSelectExtVersion (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSetButtonInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSetData (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSetDisplay (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSetGain (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSetHookSwitch (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSetLamp (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSetRing (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSetStatusMessages (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PSetVolume (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PShutdown (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TRequestDrop (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TRequestMakeCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TRequestMediaCall (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TReadLocations (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TWriteLocations (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TAllocNewID (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TPerformance (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI MGetAvailableProviders (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI MGetLineInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI MGetPhoneInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI MGetServerConfig (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI MSetLineInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI MSetPhoneInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI MSetServerConfig (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LMSPIdentify (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LReceiveMSPData (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LCreateAgent (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LCreateAgentSession (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAgentInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAgentSessionInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetAgentSessionList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetQueueInfo (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetGroupList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetQueueList (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetAgentMeasurementPeriod (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetAgentSessionState (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetQueueMeasurementPeriod (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI PrivateFactoryIdentify (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LDevSpecificEx (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LSetAgentStateEx (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LGetProxyStatus (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LCreateMSPInstance (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI LCloseMSPInstance (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI NegotiateAPIVersionForAllDevices (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TSetEventMasksOrSubMasks (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TGetEventMasksOrSubMasks (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TSetPermissibleMasks (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI TGetPermissibleMasks (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
void WINAPI MGetDeviceFlags (PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
typedef void (WINAPI *TAPISRVPROC)(PTCLIENT, LPVOID, DWORD, LPBYTE, LPDWORD);
#ifdef INIT_FUNCTABLE
TAPISRVPROC gaFuncs[] =
{
GetAsyncEvents,
GetUIDllName,
TUISPIDLLCallback,
FreeDialogInstance,
LAccept,
LAddToConference,
LAgentSpecific,
LAnswer,
LBlindTransfer,
LClose,
LCompleteCall,
LCompleteTransfer,
// LConditionalMediaDetection,
LDeallocateCall,
LDevSpecific,
LDevSpecificFeature,
LDial,
LDrop,
LForward,
LGatherDigits,
LGenerateDigits,
LGenerateTone,
LGetAddressCaps,
LGetAddressID,
LGetAddressStatus,
LGetAgentActivityList,
LGetAgentCaps,
LGetAgentGroupList,
LGetAgentStatus,
LGetAppPriority,
LGetCallAddressID,
LGetCallInfo,
LGetCallStatus,
LGetConfRelatedCalls,
LGetCountry,
LGetDevCaps,
LGetDevConfig,
LGetIcon,
LGetID,
LGetLineDevStatus,
LGetNewCalls,
LGetNumAddressIDs,
LGetNumRings,
LGetProviderList,
LGetRequest,
LGetStatusMessages,
//IN TAPI32.DLL now: LGetTranslateCaps,
LHandoff,
LHold,
LInitialize,
LMakeCall,
LMonitorDigits,
LMonitorMedia,
LMonitorTones,
LNegotiateAPIVersion,
LNegotiateExtVersion,
LOpen,
LPark,
LPickup,
LPrepareAddToConference,
LProxyMessage,
LProxyResponse,
LRedirect,
LRegisterRequestRecipient,
LReleaseUserUserInfo,
LRemoveFromConference,
LSecureCall,
// LSelectExtVersion,
LSendUserUserInfo,
LSetAgentActivity,
LSetAgentGroup,
LSetAgentState,
LSetAppPriority,
LSetAppSpecific,
LSetCallData,
LSetCallParams,
LSetCallPrivilege,
LSetCallQualityOfService,
LSetCallTreatment,
LSetDefaultMediaDetection,
LSetDevConfig,
LSetLineDevStatus,
LSetMediaControl,
LSetMediaMode,
LSetNumRings,
LSetStatusMessages,
LSetTerminal,
LSetupConference,
LSetupTransfer,
LShutdown,
LSwapHold,
//IN TAPI32.DLL now: LTranslateAddress,
LUncompleteCall,
LUnhold,
LUnpark,
PClose,
PDevSpecific,
PGetButtonInfo,
PGetData,
PGetDevCaps,
PGetDisplay,
PGetGain,
PGetHookSwitch,
PGetID,
PGetIcon,
PGetLamp,
PGetRing,
PGetStatus,
PGetStatusMessages,
PGetVolume,
PInitialize,
POpen,
PNegotiateAPIVersion,
PNegotiateExtVersion,
// PSelectExtVersion,
PSetButtonInfo,
PSetData,
PSetDisplay,
PSetGain,
PSetHookSwitch,
PSetLamp,
PSetRing,
PSetStatusMessages,
PSetVolume,
PShutdown,
//IN TAPI32.DLL now: TGetLocationInfo,
TRequestDrop,
TRequestMakeCall,
TRequestMediaCall,
// TMarkLineEvent,
TReadLocations,
TWriteLocations,
TAllocNewID,
TPerformance,
LConditionalMediaDetection,
LSelectExtVersion,
PSelectExtVersion,
//
// Funcs for tapi 2.1 ended here. the lOpenInt & lShutdownInt
// were Win95 local-machine-only hacks which have since been removed
//
NegotiateAPIVersionForAllDevices,
MGetAvailableProviders,
MGetLineInfo,
MGetPhoneInfo,
MGetServerConfig,
MSetLineInfo,
MSetPhoneInfo,
MSetServerConfig,
//
// Funcs for 2.1 update (nt4 sp4) ended here
//
LMSPIdentify,
LReceiveMSPData,
LGetCallHubTracking,
LGetCallIDs,
LGetHubRelatedCalls,
LSetCallHubTracking,
PrivateFactoryIdentify,
LDevSpecificEx,
LCreateAgent,
LCreateAgentSession,
LGetAgentInfo,
LGetAgentSessionInfo,
LGetAgentSessionList,
LGetQueueInfo,
LGetGroupList,
LGetQueueList,
LSetAgentMeasurementPeriod,
LSetAgentSessionState,
LSetQueueMeasurementPeriod,
LSetAgentStateEx,
LGetProxyStatus,
LCreateMSPInstance,
LCloseMSPInstance,
//
// Funcs for 3.1
//
TSetEventMasksOrSubMasks,
TGetEventMasksOrSubMasks,
TSetPermissibleMasks,
TGetPermissibleMasks,
MGetDeviceFlags,
LGetCountryGroups,
LGetIDEx,
PGetIDEx
};
#else
extern TAPISRVPROC gaFuncs[];
#endif
//
// Private Error codes
//
#define TAPIERR_NOSERVICECONTROL 0xF100
#define TAPIERR_INVALRPCCONTEXT 0xF101
DWORD
PASCAL
ChangeDeviceUserAssociation(
LPWSTR pDomainUserName,
LPWSTR pFriendlyUserName,
DWORD dwProviderID,
DWORD dwPermanentDeviceID,
BOOL bLine
);
DWORD
PASCAL
MyGetPrivateProfileString(
LPCWSTR pszSection,
LPCWSTR pszKey,
LPCWSTR pszDefault,
LPWSTR *ppBuf,
LPDWORD pdwBufSize
);
void
PASCAL
SendAMsgToAllLineApps(
DWORD dwWantVersion,
DWORD Msg,
DWORD Param1,
DWORD Param2,
DWORD Param3
);
void
PASCAL
SendAMsgToAllPhoneApps(
DWORD dwWantVersion,
DWORD dwMsg,
DWORD Param1,
DWORD Param2,
DWORD Param3
);
LPWSTR
WaveDeviceIdToStringId(
DWORD dwDeviceId,
LPWSTR pwszDeviceType
);
HRESULT
IsLocalSystem(HANDLE hAccessToken);
typedef struct _TGETEVENTMASK_PARAMS
{
OUT LONG lResult;
DWORD dwUnused;
IN DWORD dwObjType;
union
{
IN HLINEAPP hLineApp;
IN HPHONEAPP hPhoneApp;
IN HLINE hLine;
IN HPHONE hPhone;
IN HCALL hCall;
};
BOOL fSubMask;
OUT DWORD dwEventSubMasks;
IN DWORD dwLowMasksIn;
IN DWORD dwHiMasksIn;
OUT DWORD dwLowMasksOut;
OUT DWORD dwHiMasksOut;
} TGETEVENTMASK_PARAMS, *PTGETEVENTMASK_PARAMS;
typedef struct _TSETEVENTMASK_PARAMS
{
OUT LONG lResult;
DWORD dwUnused;
IN DWORD dwObjType;
union
{
IN HLINEAPP hLineApp;
IN HPHONEAPP hPhoneApp;
IN HLINE hLine;
IN HPHONE hPhone;
IN HCALL hCall;
};
IN BOOL fSubMask;
IN DWORD dwEventSubMasks;
IN DWORD dwLowMasks;
IN DWORD dwHiMasks;
} TSETEVENTMASK_PARAMS, *PTSETEVENTMASK_PARAMS;
typedef struct _PTSETPERMMASKS_PARAMS
{
OUT LONG lResult;
DWORD dwUnused;
IN DWORD dwLowMasks;
IN DWORD dwHiMasks;
} TSETPERMMASKS_PARAMS, *PTSETPERMMASKS_PARAMS;
typedef struct _PTGETPERMMASKS_PARAMS
{
union
{
OUT LONG lResult;
LONG_PTR unused;
};
DWORD dwUnused;
union
{
IN DWORD dwLowMasks;
LONG_PTR unused1;
};
union
{
IN DWORD dwHiMasks;
LONG_PTR unused2;
};
} TGETPERMMASKS_PARAMS, *PTGETPERMMASKS_PARAMS;
BOOL
GetMsgMask (
DWORD Msg,
ULONG64 * pulMask,
DWORD *pdwSubMaskIndex
);
BOOL
FMsgDisabled (
DWORD dwAPIVersion,
DWORD *adwEventSubMasks,
DWORD Msg,
DWORD dwParam1
);
LONG
SetEventMasksOrSubMasks (
BOOL fSubMask,
ULONG64 ulEventMasks,
DWORD dwEventSubMasks,
DWORD *adwTargetSubMasks
);
extern DWORD gdwPointerToLockTableIndexBits;
extern CRITICAL_SECTION *gLockTable;
PTCLIENT
PASCAL
WaitForExclusiveClientAccess(
PTCLIENT ptClient
);
BOOL
PASCAL
WaitForExclusivetCallAccess(
PTCALL ptCall,
DWORD dwKey
);
#define POINTERTOTABLEINDEX(pObject) \
((((ULONG_PTR) pObject) >> 4) & gdwPointerToLockTableIndexBits)
#define LOCKTCALL(p) \
EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define UNLOCKTCALL(p) \
LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define LOCKTLINECLIENT(p) \
EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define UNLOCKTLINECLIENT(p) \
LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define LOCKTLINEAPP(p) \
EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define UNLOCKTLINEAPP(p) \
LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define LOCKTCLIENT(p) \
EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define UNLOCKTCLIENT(p) \
LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define POINTERTOTABLEINDEX(p) \
((((ULONG_PTR) p) >> 4) & gdwPointerToLockTableIndexBits)
#define LOCKTPHONECLIENT(p) \
EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define UNLOCKTPHONECLIENT(p) \
LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define LOCKTPHONEAPP(p) \
EnterCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
#define UNLOCKTPHONEAPP(p) \
LeaveCriticalSection(&gLockTable[POINTERTOTABLEINDEX(p)])
extern TAPIGLOBALS TapiGlobals;
extern HANDLE ghTapisrvHeap;
extern HANDLE ghHandleTable;
/**********************************************************
* Server Connection Point Routines
*********************************************************/
HRESULT CreateTapiSCP (
GUID * pGuidAssoc,
GUID * pGuidCluster
);
HRESULT UpdateTapiSCP (
BOOL bActive,
GUID * pGuidAssoc,
GUID * pGuidCluster
);
HRESULT RemoveTapiSCP (
);
HRESULT OnProxySCPInit (
);
HRESULT OnProxySCPShutdown (
);
HRESULT OnProxyLineOpen (
LPTSTR szClsid
);
HRESULT OnProxyLineClose (
LPTSTR szClsid
);
#ifdef __cplusplus
}
#endif