|
|
/*++ 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
|