180 lines
6.3 KiB
C
180 lines
6.3 KiB
C
/****************************************************************************
|
|
|
|
Copyright (c) 1995-1999 Microsoft Corporation
|
|
|
|
Module Name: loc_comn.h
|
|
|
|
****************************************************************************/
|
|
|
|
#ifndef __LOC_COMN_H_
|
|
#define __LOC_COMN_H_
|
|
|
|
#ifndef UNICODE
|
|
|
|
// For ANSI we need wrappers that will call the A version of the given function
|
|
// and then convert the return result to Unicode
|
|
|
|
LONG TAPIRegQueryValueExW(
|
|
HKEY hKey,
|
|
const TCHAR *SectionName,
|
|
LPDWORD lpdwReserved,
|
|
LPDWORD lpType,
|
|
LPBYTE lpData,
|
|
LPDWORD lpcbData
|
|
);
|
|
|
|
LONG TAPIRegSetValueExW(
|
|
HKEY hKey,
|
|
const TCHAR *SectionName,
|
|
DWORD dwReserved,
|
|
DWORD dwType,
|
|
LPBYTE lpData,
|
|
DWORD cbData
|
|
);
|
|
|
|
int TAPILoadStringW(
|
|
HINSTANCE hInst,
|
|
UINT uID,
|
|
PWSTR pBuffer,
|
|
int nBufferMax
|
|
);
|
|
|
|
HINSTANCE TAPILoadLibraryW(
|
|
PWSTR pszLibraryW
|
|
);
|
|
|
|
BOOL WINAPI TAPIIsBadStringPtrW( LPCWSTR lpsz, UINT cchMax );
|
|
|
|
|
|
#else // UNICODE is defined
|
|
|
|
// For Unicode we already get the correct return type so don't call the wrappers.
|
|
|
|
#define TAPIRegQueryValueExW RegQueryValueExW
|
|
#define TAPIRegSetValueExW RegSetValueExW
|
|
#define TAPILoadStringW LoadStringW
|
|
#define TAPILoadLibraryW LoadLibraryW
|
|
#define TAPIIsBadStringPtrW IsBadStringPtrW
|
|
|
|
#endif // !UNICODE
|
|
|
|
|
|
//***************************************************************************
|
|
#define LOCATION_USETONEDIALING 0x00000001
|
|
#define LOCATION_USECALLINGCARD 0x00000002
|
|
#define LOCATION_HASCALLWAITING 0x00000004
|
|
#define LOCATION_ALWAYSINCLUDEAREACODE 0x00000008
|
|
|
|
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
#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 0x00000001
|
|
#define CHECKPARMS_DWDEVICEID 0x00000002
|
|
#define CHECKPARMS_DWAPIVERSION 0x00000004
|
|
#define GET_CURRENTLOCATION 0x00000008
|
|
#define GET_NUMLOCATIONS 0x00000010
|
|
#define CHECKPARMS_ONLY 0x00000020
|
|
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
#define DWTOTALSIZE 0
|
|
#define DWNEEDEDSIZE 1
|
|
#define DWUSEDSIZE 2
|
|
|
|
|
|
//***************************************************************************
|
|
#define RULE_APPLIESTOALLPREFIXES 0x00000001
|
|
#define RULE_DIALAREACODE 0x00000002
|
|
#define RULE_DIALNUMBER 0x00000004
|
|
|
|
|
|
|
|
//***************************************************************************
|
|
//
|
|
// Structures used to pass location & area code rule info Client <--> TAPISRV
|
|
//
|
|
typedef struct
|
|
{
|
|
DWORD dwTotalSize;
|
|
DWORD dwNeededSize;
|
|
DWORD dwUsedSize;
|
|
|
|
DWORD dwCurrentLocationID;
|
|
DWORD dwNumLocationsAvailable;
|
|
|
|
DWORD dwNumLocationsInList;
|
|
DWORD dwLocationListSize;
|
|
DWORD dwLocationListOffset;
|
|
|
|
} LOCATIONLIST, *PLOCATIONLIST;
|
|
|
|
typedef struct
|
|
{
|
|
DWORD dwUsedSize;
|
|
DWORD dwPermanentLocationID;
|
|
DWORD dwCountryCode;
|
|
DWORD dwCountryID;
|
|
DWORD dwPreferredCardID;
|
|
DWORD dwOptions;
|
|
|
|
DWORD dwLocationNameSize;
|
|
DWORD dwLocationNameOffset; // offset is relative to LOCATION struct
|
|
|
|
DWORD dwAreaCodeSize;
|
|
DWORD dwAreaCodeOffset; // offset is relative to LOCATION struct
|
|
|
|
DWORD dwLongDistanceCarrierCodeSize;
|
|
DWORD dwLongDistanceCarrierCodeOffset; // offset is relative to LOCATION struct
|
|
|
|
DWORD dwInternationalCarrierCodeSize;
|
|
DWORD dwInternationalCarrierCodeOffset; // offset is relative to LOCATION struct
|
|
|
|
DWORD dwLocalAccessCodeSize;
|
|
DWORD dwLocalAccessCodeOffset; // offset is relative to LOCATION struct
|
|
|
|
DWORD dwLongDistanceAccessCodeSize;
|
|
DWORD dwLongDistanceAccessCodeOffset; // offset is relative to LOCATION struct
|
|
|
|
DWORD dwCancelCallWaitingSize;
|
|
DWORD dwCancelCallWaitingOffset; // offset is relative to LOCATION struct
|
|
|
|
DWORD dwNumAreaCodeRules;
|
|
DWORD dwAreaCodeRulesListSize;
|
|
DWORD dwAreaCodeRulesListOffset; // offset is relative to LOCATION struct
|
|
|
|
|
|
} LOCATION, * PLOCATION;
|
|
|
|
typedef struct
|
|
{
|
|
DWORD dwOptions;
|
|
|
|
DWORD dwAreaCodeSize;
|
|
DWORD dwAreaCodeOffset; // offset is relative to enclosing LOCATION struct
|
|
|
|
DWORD dwNumberToDialSize;
|
|
DWORD dwNumberToDialOffset; // offset is relative to enclosing LOCATION struct
|
|
|
|
DWORD dwPrefixesListSize;
|
|
DWORD dwPrefixesListOffset; // offset is relative to enclosing LOCATION struct
|
|
|
|
|
|
} AREACODERULE, * PAREACODERULE;
|
|
|
|
|
|
#endif // __LOC_COMN_H_
|