|
|
/*
* GLOBALS.C * * Global constant structures * */
#define _GLOBALS_C
#include "_apipch.h"
// Columns of the Root Contents Table
//
const SizedSPropTagArray(ircMax, ITableColumnsRoot) = { ircMax, // count of entries
{ PR_DISPLAY_NAME, PR_DISPLAY_TYPE, PR_ENTRYID, PR_INSTANCE_KEY, PR_OBJECT_TYPE, PR_RECORD_KEY, PR_ROWID, PR_DEPTH, PR_CONTAINER_FLAGS, PR_AB_PROVIDER_ID, PR_WAB_LDAP_SERVER, PR_WAB_RESOLVE_FLAG, }
};
//
// Default set of properties to return from a ResolveNames.
// May be overridden by passing in lptagaColSet to ResolveNames.
//
const SizedSPropTagArray(irdMax, ptaResolveDefaults)= { irdMax, { PR_ADDRTYPE, PR_DISPLAY_NAME, PR_EMAIL_ADDRESS, PR_ENTRYID, PR_OBJECT_TYPE, PR_RECORD_KEY, PR_SEARCH_KEY, PR_SURNAME, PR_GIVEN_NAME, PR_INSTANCE_KEY, PR_SEND_INTERNET_ENCODING } };
// default set of regular table columns
//
const SizedSPropTagArray(itcMax, ITableColumns) = { itcMax, // count of entries
{ PR_ADDRTYPE, PR_DISPLAY_NAME, PR_DISPLAY_TYPE, PR_ENTRYID, PR_INSTANCE_KEY, PR_OBJECT_TYPE, PR_EMAIL_ADDRESS, PR_RECORD_KEY, PR_NICKNAME, //PR_WAB_THISISME
} };
// [PaulHi] 2/25/99 ANSI version of ITableColumns
const SizedSPropTagArray(itcMax, ITableColumns_A) = { itcMax, { PR_ADDRTYPE_A, PR_DISPLAY_NAME_A, PR_DISPLAY_TYPE, PR_ENTRYID, PR_INSTANCE_KEY, PR_OBJECT_TYPE, PR_EMAIL_ADDRESS_A, PR_RECORD_KEY, PR_NICKNAME_A, //PR_WAB_THISISME
} };
const SizedSPropTagArray(iwdesMax, tagaDLEntriesProp) = { iwdesMax, { PR_WAB_DL_ENTRIES, } };
const SizedSPropTagArray(ildapcMax, ptaLDAPCont) = { ildapcMax, { PR_WAB_LDAP_SERVER } };
//
// Properties to get for each container in a Resolve
//
const SizedSPropTagArray(irnMax, irnColumns) = { irnMax, { PR_OBJECT_TYPE, PR_WAB_RESOLVE_FLAG, PR_ENTRYID, PR_DISPLAY_NAME, } };
//
// container default properties
// Put essential props first
//
const SizedSPropTagArray(ivMax, tagaValidate) = { ivMax, { PR_DISPLAY_NAME, PR_SURNAME, PR_GIVEN_NAME, PR_OBJECT_TYPE, PR_EMAIL_ADDRESS, PR_ADDRTYPE, PR_CONTACT_EMAIL_ADDRESSES, PR_CONTACT_ADDRTYPES, PR_MIDDLE_NAME, PR_COMPANY_NAME, PR_NICKNAME } };
// Default creation templates for the WAB
//
const SizedSPropTagArray(icrMax, ptaCreate)= { icrMax, { PR_DEF_CREATE_MAILUSER, PR_DEF_CREATE_DL, } };
const SizedSPropTagArray(ieidMax, ptaEid)= { ieidMax, { PR_DISPLAY_NAME, PR_ENTRYID, } };
//
// IMPORTANT NOTE: If you change this array, you must change
// _IndexType in mpswab.h to match!
//
// This is the set of Indexes from the WAB Data store and is closely
// tied to the physical layout of data in the WAB store - therefore
// *Do NOT* modify this array
//
const ULONG rgIndexArray[indexMax] = { PR_ENTRYID, PR_DISPLAY_NAME, PR_SURNAME, PR_GIVEN_NAME, PR_EMAIL_ADDRESS, PR_NICKNAME, };
//
// IMPORTANT NOTE: If you change this, you must change _AddrBookColumns in uimisc.h!
//
const int lprgAddrBookColHeaderIDs[NUM_COLUMNS] = { idsColDisplayName, idsColEmailAddress, idsColOfficePhone, idsColHomePhone };
// External memory allocators (passed in on WABOpenEx)
int g_nExtMemAllocCount = 0; ALLOCATEBUFFER * lpfnAllocateBufferExternal = NULL; ALLOCATEMORE * lpfnAllocateMoreExternal = NULL; FREEBUFFER * lpfnFreeBufferExternal = NULL; LPUNKNOWN pmsessOutlookWabSPI = NULL;
LPWABOPENSTORAGEPROVIDER lpfnWABOpenStorageProvider = NULL;
// for registry property tags
LPTSTR szPropTag1 = TEXT("PropTag1"); LPTSTR szPropTag2 = TEXT("PropTag2");
// registry key constants
LPCTSTR lpNewWABRegKey = TEXT("Software\\Microsoft\\WAB\\WAB4"); LPCTSTR lpRegUseOutlookVal = TEXT("UseOutlook");
|