/*++ Copyright (c) 1997-1998 Microsoft Corporation Module Name: tapimmc.h Abstract: Definitions & prototypes for TAPI MMC support APIs Author: Dan Knudson (DanKn) 10-Dec-1997 Revision History: Notes: --*/ #ifdef __cplusplus extern "C" { /* Assume C declarations for C++ */ #endif /* __cplusplus */ #define HMMCAPP HANDLE #define LPHMMCAPP LPHANDLE #define TAPISERVERCONFIGFLAGS_ISSERVER 0x00000001 #define TAPISERVERCONFIGFLAGS_ENABLESERVER 0x00000002 #define TAPISERVERCONFIGFLAGS_SETACCOUNT 0x00000004 #define TAPISERVERCONFIGFLAGS_SETTAPIADMINISTRATORS 0x00000008 #define TAPISERVERCONFIGFLAGS_NOSERVICECONTROL 0x00000010 #define TAPISERVERCONFIGFLAGS_LOCKMMCWRITE 0x00000020 #define TAPISERVERCONFIGFLAGS_UNLOCKMMCWRITE 0x00000040 #define AVAILABLEPROVIDER_INSTALLABLE 0x00000001 #define AVAILABLEPROVIDER_CONFIGURABLE 0x00000002 #define AVAILABLEPROVIDER_REMOVABLE 0x00000004 typedef struct _DEVICEINFO { DWORD dwPermanentDeviceID; DWORD dwProviderID; DWORD dwDeviceNameSize; DWORD dwDeviceNameOffset; DWORD dwAddressesSize; // Valid for line devices only DWORD dwAddressesOffset; // Valid for line devices only DWORD dwDomainUserNamesSize; DWORD dwDomainUserNamesOffset; DWORD dwFriendlyUserNamesSize; DWORD dwFriendlyUserNamesOffset; } DEVICEINFO, *LPDEVICEINFO; typedef struct _DEVICEINFOLIST { DWORD dwTotalSize; DWORD dwNeededSize; DWORD dwUsedSize; DWORD dwNumDeviceInfoEntries; DWORD dwDeviceInfoSize; DWORD dwDeviceInfoOffset; } DEVICEINFOLIST, *LPDEVICEINFOLIST; typedef struct _TAPISERVERCONFIG { DWORD dwTotalSize; DWORD dwNeededSize; DWORD dwUsedSize; DWORD dwFlags; DWORD dwDomainNameSize; DWORD dwDomainNameOffset; DWORD dwUserNameSize; DWORD dwUserNameOffset; DWORD dwPasswordSize; DWORD dwPasswordOffset; DWORD dwAdministratorsSize; DWORD dwAdministratorsOffset; } TAPISERVERCONFIG, *LPTAPISERVERCONFIG; typedef struct _AVAILABLEPROVIDERENTRY { DWORD dwFileNameSize; DWORD dwFileNameOffset; DWORD dwFriendlyNameSize; DWORD dwFriendlyNameOffset; DWORD dwOptions; } AVAILABLEPROVIDERENTRY, *LPAVAILABLEPROVIDERENTRY; typedef struct _AVAILABLEPROVIDERLIST { DWORD dwTotalSize; DWORD dwNeededSize; DWORD dwUsedSize; DWORD dwNumProviderListEntries; DWORD dwProviderListSize; DWORD dwProviderListOffset; } AVAILABLEPROVIDERLIST, *LPAVAILABLEPROVIDERLIST; LONG WINAPI MMCAddProvider( HMMCAPP hMmcApp, HWND hwndOwner, LPCWSTR lpszProviderFilename, LPDWORD lpdwProviderID ); LONG WINAPI MMCConfigProvider( HMMCAPP hMmcApp, HWND hwndOwner, DWORD dwProviderID ); LONG WINAPI MMCGetAvailableProviders( HMMCAPP hMmcApp, LPAVAILABLEPROVIDERLIST lpProviderList ); LONG WINAPI MMCGetLineInfo( HMMCAPP hMmcApp, LPDEVICEINFOLIST lpDeviceInfoList ); LONG WINAPI MMCGetLineStatus( HMMCAPP hMmcApp, HWND hwndOwner, DWORD dwStatusLevel, DWORD dwProviderID, DWORD dwPermanentLineID, LPVARSTRING lpStatusBuffer ); LONG WINAPI MMCGetPhoneInfo( HMMCAPP hMmcApp, LPDEVICEINFOLIST lpDeviceInfoList ); LONG WINAPI MMCGetPhoneStatus( HMMCAPP hMmcApp, HWND hwndOwner, DWORD dwStatusLevel, DWORD dwProviderID, DWORD dwPermanentPhoneID, LPVARSTRING lpStatusBuffer ); LONG WINAPI MMCGetProviderList( HMMCAPP hMmcApp, LPLINEPROVIDERLIST lpProviderList ); LONG WINAPI MMCGetServerConfig( HMMCAPP hMmcApp, LPTAPISERVERCONFIG lpConfig ); LONG WINAPI MMCInitialize( LPCWSTR lpszComputerName, LPHMMCAPP lphMmcApp, LPDWORD lpdwAPIVersion, HANDLE hReinitializeEvent ); LONG WINAPI MMCRemoveProvider( HMMCAPP hMmcApp, HWND hwndOwner, DWORD dwProviderID ); LONG WINAPI MMCSetLineInfo( HMMCAPP hMmcApp, LPDEVICEINFOLIST lpDeviceInfoList ); LONG WINAPI MMCSetPhoneInfo( HMMCAPP hMmcApp, LPDEVICEINFOLIST lpDeviceInfoList ); LONG WINAPI MMCSetServerConfig( HMMCAPP hMmcApp, LPTAPISERVERCONFIG lpConfig ); LONG WINAPI MMCGetDeviceFlags( HMMCAPP hMmcApp, BOOL bLine, DWORD dwProviderID, DWORD dwPermanentDeviceID, DWORD * pdwFlags, DWORD * pdwDeviceID ); LONG WINAPI MMCShutdown( HMMCAPP hMmcApp ); #ifdef __cplusplus } /* End of extern "C" { */ #endif /* __cplusplus */