// Copyright (C) 2001 Microsoft Corporation // // functions to validate a new domain name // The functions are split into validation routines // and UI retrieving error messages based on the // error codes returned from the validation routines. // // 3 December 2001 JeffJon #ifndef VALIDATEDOMAINNAME_HPP_INCLUDED #define VALIDATEDOMAINNAME_HPP_INCLUDED // Error codes for the ValidateDomainDnsNameSyntax routine typedef enum { DNS_NAME_VALID, DNS_NAME_RESERVED, DNS_NAME_NON_RFC, DNS_NAME_NON_RFC_OEM_UNMAPPABLE, DNS_NAME_NON_RFC_WITH_UNDERSCORE, DNS_NAME_TOO_LONG, DNS_NAME_BAD_SYNTAX } DNSNameSyntaxError; // Does a syntax validation of the DNS name of the domain // returning an error code from the DNSNameSyntaxError enum DNSNameSyntaxError ValidateDomainDnsNameSyntax( const String& domainName); bool ValidateDomainDnsNameSyntax( HWND parentDialog, int editResID, const Popup& popup); bool ValidateDomainDnsNameSyntax( HWND parentDialog, int editResID, const Popup& popup, bool warnOnNonRFC, bool* isNonRFC = 0); bool ValidateDomainDnsNameSyntax( HWND parentDialog, const String& domainName, int editResID, const Popup& popup, bool warnOnNonRFC, bool* isNonRFC = 0); typedef enum { FOREST_DOMAIN_NAME_EXISTS, FOREST_DOMAIN_NAME_EMPTY, FOREST_DOMAIN_NAME_DUPLICATE, FOREST_NETWORK_UNREACHABLE, FOREST_DOMAIN_NAME_DOES_NOT_EXIST } ForestNameExistsError; // Checks to see if the name already exists as a domain ForestNameExistsError ForestValidateDomainDoesNotExist( const String& name); // Checks to see if the name already exists as a domain by // retrieving the name from the specified UI control and then // calling the overloaded ForestValidateDomainDoesNotExist bool ForestValidateDomainDoesNotExist( HWND parentDialog, int editResID, const Popup& popup); // If the new domain name is a single DNS label, then ask the user to confirm // that name. If the user rejects the name, set focus to the domain name edit // box, return false. Otherwise, return true. // // parentDialog - HWND of the dialog with the edit box control. // // editResID - resource ID of the domain name edit box containing the name to // be confirmed. // // 309670 bool ConfirmNetbiosLookingNameIsReallyDnsName( HWND parentDialog, int editResID, const Popup& popup); typedef enum { NETBIOS_NAME_VALID, NETBIOS_NAME_DOT, NETBIOS_NAME_EMPTY, NETBIOS_NAME_NUMERIC, NETBIOS_NAME_BAD, NETBIOS_NAME_TOO_LONG, NETBIOS_NAME_INVALID, NETBIOS_NAME_DUPLICATE, NETBIOS_NETWORK_UNREACHABLE } NetbiosNameError; NetbiosNameError ValidateDomainNetbiosName( const String& name); bool ValidateDomainNetbiosName( HWND dialog, int editResID, const Popup& popup); #endif // VALIDATEDOMAINNAME_HPP_INCLUDED