windows-nt/Source/XPSP1/NT/net/tapi/apps/tapiupr/loc_comn.h
2020-09-26 16:20:57 +08:00

145 lines
4.9 KiB
C

#ifdef PARTIAL_UNICODE
#define __TTEXT(quote) quote
#define TAPISendDlgItemMessage SendDlgItemMessage
#define TAPIRegQueryValueExW TAPIRegQueryValueExW
#define TAPIRegSetValueExW TAPIRegSetValueExW
#define TAPILoadStringW TAPILoadStringW
#define TAPICHAR char
#define TAPIRegDeleteValueW RegDeleteValueA
LONG TAPIRegQueryValueExW(
HKEY hKey,
const CHAR *SectionName,
LPDWORD lpdwReserved,
LPDWORD lpType,
LPBYTE lpData,
LPDWORD lpcbData
);
LONG TAPIRegSetValueExW(
HKEY hKey,
const CHAR *SectionName,
DWORD dwReserved,
DWORD dwType,
LPBYTE lpData,
DWORD cbData
);
LONG TAPIRegEnumValueW(
HKEY hKey,
DWORD dwIndex,
TAPICHAR *lpName,
LPDWORD lpcbName,
LPDWORD lpdwReserved,
LPDWORD lpwdType,
LPBYTE lpData,
LPDWORD lpcbData
);
int TAPILoadStringW(
HINSTANCE hInst,
UINT uID,
PWSTR pBuffer,
int nBufferMax
);
HINSTANCE TAPILoadLibraryW(
PWSTR pszLibraryW
);
BOOL WINAPI TAPIIsBadStringPtrW( LPCWSTR lpsz, UINT cchMax );
#else
#define __TTEXT(quote) L##quote
#define TAPISendDlgItemMessage SendDlgItemMessageW
#define TAPIRegDeleteValueW RegDeleteValueW
#define TAPIRegQueryValueExW RegQueryValueExW
#define TAPIRegSetValueExW RegSetValueExW
#define TAPIRegEnumValueW RegEnumValueW
#define TAPILoadStringW LoadStringW
#define TAPILoadLibraryW LoadLibraryW
#define TAPIIsBadStringPtrW IsBadStringPtrW
#define TAPICHAR WCHAR
#endif
#define TAPITEXT(quote) __TTEXT(quote)
//***************************************************************************
typedef struct {
DWORD dwID;
#define MAXLEN_NAME 96
WCHAR NameW[MAXLEN_NAME];
#define MAXLEN_AREACODE 16
WCHAR AreaCodeW[MAXLEN_AREACODE];
DWORD dwCountryID;
//PERFORMANCE KEEP CountryCode here - reduce # calls to readcountries
#define MAXLEN_OUTSIDEACCESS 16
WCHAR OutsideAccessW[MAXLEN_OUTSIDEACCESS];
// There is one instance where code assumes outside & ld are same size
// (the code that reads in the text from the control)
#define MAXLEN_LONGDISTANCEACCESS 16
WCHAR LongDistanceAccessW[MAXLEN_LONGDISTANCEACCESS];
DWORD dwFlags;
#define LOCATION_USETONEDIALING 0x00000001
#define LOCATION_USECALLINGCARD 0x00000002
#define LOCATION_HASCALLWAITING 0x00000004
#define LOCATION_ALWAYSINCLUDEAREACODE 0x00000008
DWORD dwCallingCard;
#define MAXLEN_DISABLECALLWAITING 16
WCHAR DisableCallWaitingW[MAXLEN_DISABLECALLWAITING];
//
// When dialing some area codes adjacent to the current area code, the
// LD prefix does not need to (or can not) be added
#define MAXLEN_NOPREFIXAREACODES (400)
DWORD NoPrefixAreaCodesCount;
DWORD NoPrefixAreaCodes[ MAXLEN_NOPREFIXAREACODES ];
DWORD NoPrefixAreaCodesExceptions[ MAXLEN_NOPREFIXAREACODES ];
//
// Allow all prefixes to be toll. (Yes, even 911.) String is "xxx,"
#define MAXLEN_TOLLLIST (1000*4 + 1)
WCHAR TollListW[MAXLEN_TOLLLIST];
} LOCATION, *PLOCATION;
//***************************************************************************
//***************************************************************************
//***************************************************************************
#define CHANGEDFLAGS_CURLOCATIONCHANGED 0x00000001
#define CHANGEDFLAGS_REALCHANGE 0x00000002
#define CHANGEDFLAGS_TOLLLIST 0x00000004
//***************************************************************************
//***************************************************************************
//***************************************************************************
//
// These bits decide which params TAPISRV will check on READLOCATION and
// WRITELOCATION operations
//
#define CHECKPARMS_DWHLINEAPP 1
#define CHECKPARMS_DWDEVICEID 2
#define CHECKPARMS_DWAPIVERSION 4
//***************************************************************************
//***************************************************************************
//***************************************************************************
#define DWTOTALSIZE 0
#define DWNEEDEDSIZE 1
#define DWUSEDSIZE 2