683 lines
24 KiB
C
683 lines
24 KiB
C
|
/*++ 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
|
||
|
);
|
||
|
|
||
|
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
|
||
|
|