You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
2.9 KiB
136 lines
2.9 KiB
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 2000-2002 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// NameUtil.h
|
|
//
|
|
// Description:
|
|
// Name resolution utility.
|
|
//
|
|
// Maintained By:
|
|
// Galen Barbee (GalenB) 28-NOV-2000
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
//
|
|
// (jfranco, bug #462673) The effective limit for names passed to
|
|
// DnsValidateName needs to be DNS_MAX_NAME_LENGTH - 2, because the value
|
|
// mentioned in its MSDN topic (255) includes the terminating null and an
|
|
// automatically inserted final dot.
|
|
//
|
|
#define ADJUSTED_DNS_MAX_NAME_LENGTH ( DNS_MAX_NAME_LENGTH - 2 )
|
|
|
|
|
|
HRESULT
|
|
HrCreateBinding(
|
|
IClusCfgCallback * pcccbIn
|
|
, const CLSID * pclsidLogIn
|
|
, LPCWSTR pcwszNameIn
|
|
, BSTR * pbstrBindingOut
|
|
);
|
|
|
|
HRESULT
|
|
HrGetNetBIOSBinding(
|
|
IClusCfgCallback * pcccbIn
|
|
, const CLSID * pclsidLogIn
|
|
, LPCWSTR pcwszNameIn
|
|
, BSTR * pbstrBindingOut
|
|
);
|
|
|
|
HRESULT
|
|
HrIsValidIPAddress(
|
|
LPCWSTR pcwszAddressIn
|
|
);
|
|
|
|
HRESULT
|
|
HrValidateHostnameLabel(
|
|
LPCWSTR pcwszLabelIn
|
|
, bool fAcceptNonRFCCharsIn
|
|
);
|
|
|
|
HRESULT
|
|
HrValidateClusterNameLabel(
|
|
LPCWSTR pcwszLabelIn
|
|
, bool fAcceptNonRFCCharsIn
|
|
);
|
|
|
|
HRESULT
|
|
HrValidateDomainName(
|
|
LPCWSTR pcwszDomainIn
|
|
, bool fAcceptNonRFCCharsIn
|
|
);
|
|
|
|
HRESULT
|
|
HrValidateFQDN(
|
|
LPCWSTR pcwszFQDNIn
|
|
, bool fAcceptNonRFCCharsIn
|
|
);
|
|
|
|
enum EFQNErrorOrigin
|
|
{
|
|
feoLABEL = 0,
|
|
feoDOMAIN,
|
|
feoSYSTEM
|
|
};
|
|
|
|
HRESULT
|
|
HrMakeFQN(
|
|
LPCWSTR pcwszMachineIn // can be a hostname label, an FQDN, an FQN, or an IP address
|
|
, LPCWSTR pcwszDomainIn // can be null, which means to use local machine's domain
|
|
, bool fAcceptNonRFCCharsIn
|
|
, BSTR * pbstrFQNOut
|
|
, EFQNErrorOrigin * pefeoOut = NULL
|
|
);
|
|
|
|
HRESULT
|
|
HrFQNToBindingString(
|
|
IClusCfgCallback * pcccbIn
|
|
, const CLSID * pclsidLogIn
|
|
, LPCWSTR pcwszFQNIn
|
|
, BSTR * pbstrBindingOut
|
|
);
|
|
|
|
HRESULT
|
|
HrFindDomainInFQN(
|
|
LPCWSTR pcwszFQNIn
|
|
, size_t * pidxDomainOut
|
|
);
|
|
|
|
HRESULT
|
|
HrExtractPrefixFromFQN(
|
|
LPCWSTR pcwszFQNIn
|
|
, BSTR * pbstrPrefixOut
|
|
);
|
|
|
|
HRESULT
|
|
HrFQNIsFQDN(
|
|
LPCWSTR pcwszFQNIn
|
|
);
|
|
|
|
HRESULT
|
|
HrFQNIsFQIP(
|
|
LPCWSTR pcwszFQNIn
|
|
);
|
|
|
|
HRESULT
|
|
HrIsValidFQN(
|
|
LPCWSTR pcwszFQNIn
|
|
, bool fAcceptNonRFCCharsIn
|
|
, HRESULT * phrValidationErrorOut = NULL
|
|
);
|
|
|
|
HRESULT
|
|
HrValidateFQNPrefix(
|
|
LPCWSTR pcwszPrefixIn
|
|
, bool fAcceptNonRFCCharsIn = true
|
|
);
|
|
|
|
HRESULT
|
|
HrGetFQNDisplayName(
|
|
LPCWSTR pcwszNameIn
|
|
, BSTR * pbstrShortNameOut
|
|
);
|
|
|