//----------------------------------------------------------------------------- // // @doc // // @module ValidateFunctions.h | Function declarations for validation // // Author: Christopher Ambler (cambler) // // 01 May 00 - Created - cambler // // Copyright 1999-2000 Microsoft Corporation. All Rights Reserved. // //----------------------------------------------------------------------------- #pragma once #define VALIDPHONECHAR "0123456789"; // VL_SignInName const long VALIDATENAME_PPREG = 1; const long VALIDATENAME_LOGIN = 2; const long VALIDATEPASSWORD_PASSPORT = 1; const long VALIDATEPASSWORD_MSN = 2; // // Validation routines // // Validate email address HRESULT VL_EmailAddress( CStringW &szEmail, BOOL bOptional, long nLeftMax, long nRightMax); // Validate a birthdate is under nYears Old bool VL_IsUnder( DATE Birthdate, long nYearsOld); // Validate location HRESULT VL_Location( CStringW &szCountryCode, CStringW &szRegionGEOID, CStringW &szPostalCode, long &lReturnFlags, long lLCID, IDictionaryEx* pIDict = NULL); // Validate nickname HRESULT VL_NickName( CStringW &szName, long nMaxLen); // Validate occupation bool VL_Occupation( CStringW &szOccupation); // Validate password HRESULT VL_Password( CStringW &szPassword, CStringW &szConfirm, CStringW &szMembername, long nMinLen, long nMaxLen, long nRuleset = VALIDATEPASSWORD_PASSPORT); // Validate PIN HRESULT VL_PIN( CStringW &in_PIN, // @parm Password to validated CStringW &in_ConfirmPIN, // @parm Confirmation password CStringW &in_membername); // @parm Membername // Validate Birthdate HRESULT VL_ProfileBirthdate( long nDay, long nMonth, CStringW szYear, long flags, COleDateTime* ptBirthdate); // Validate Birthdate HRESULT VL_ProfileBirthdate( long nDay, long nMonth, long nYear, long flags, COleDateTime* ptBirthdate); // Validate secret question and answer HRESULT VL_ProfileSecretQA( CStringW &szSecretQ, CStringW &szSecretA); // Validate secret question and answer more thoroughly HRESULT VL_SecretQandA( CStringW &szNewSQ, CStringW &szNewSA, CStringW &szMName, CStringW &szCurrPW, long nMinLen, long nMaxLen); // Validate sign-in name HRESULT VL_SignInName( CStringW &Name, long nMinLen, long nMaxLen, long nRuleset = VALIDATENAME_PPREG); // Validate domain - blocked, managed, etc. HRESULT VL_ManagedDomain( CStringW &szSignInName, bool bSignin = TRUE); // Validate timezone bool VL_TimeZone( CStringW &szTimeZone); // Validate a string has no invalid chars in it bool VL_ValidString( CStringW &szSource, CStringW &szChars); //validate phone number, the first param is the phone number to be validated // the second param is a string that contains all characters that is valid bool VL_PhoneNumber(CStringW &szSource, CStringW &szChars); long IsSiteIdValid( ULONG ulID, BSTR szRU); bool IsUSTerritory(LPCWSTR szCountryCode); class CProfile; class CTicket; // Check whether the user is a signed-in user or not. // If ppProfile or ppTicket is not NULL, the profile or ticket generated // during the checking process will be returned to the caller. // REMEMBER: the caller must delete the object it gets. bool AlreadyLoggedIn(CProfile & cProfiles);