INetwork2::IsDomainAuthenticatedBy 方法 (netlistmgr.h)
查询此网络的指定域身份验证方法是否成功。
语法
HRESULT IsDomainAuthenticatedBy(
NLM_DOMAIN_AUTHENTICATION_KIND domainAuthenticationKind,
BOOL *pValue
);
参数
domainAuthenticationKind
类型:[in] NLM_DOMAIN_AUTHENTICATION_KIND
要查询的特定域身份验证方法。
pValue
类型:[out, retval] BOOL*
函数取消引用 pValue,并分配 TRUE
此网络是否具有与 domainAuthenticationKind 参数中指定的域身份验证类型相同的域身份验证类型;或者 FALSE
此网络具有与 domainAuthenticationKind 中指定的域身份验证类型不同的域身份验证类型。
返回值
如果成功,则返回 S_OK 。
示例
在此示例中,假设的网络诊断工具寻求确保与公司网络的连接具有正确的身份验证属性。
void LogToConsole(std::wstring output, std::wstring networkName)
{
// Implementation not shown for brevity.
}
void RunDiagnostics()
{
winrt::com_ptr<::INetworkListManager> nlm;
winrt::com_ptr<::IEnumNetworks> enumNetworks;
winrt::com_ptr<::INetwork> network;
ULONG numberOfNetworksEnumerated{ 0 };
winrt::check_hresult(::CoCreateInstance(CLSID_NetworkListManager, nullptr, CLSCTX_ALL, IID_PPV_ARGS(&nlm)));
winrt::check_hresult(nlm->GetNetworks(NLM_ENUM_NETWORK_ALL, enumNetworks.put()));
while ((enumNetworks->Next(1, network.put(), &numberOfNetworksEnumerated) == S_OK))
{
try
{
if (numberOfNetworksEnumerated == 1)
{
winrt::com_ptr<::INetwork2> network2{ network.as<::INetwork2>() };
BSTR networkName{};
HRESULT hr{ network2->GetName(&networkName) };
winrt::check_hresult(network2->GetName(&networkName));
BOOL isLdapAuthenticated{ FALSE };
BOOL isTlsAuthenticated{ FALSE };
BOOL isNotDomainAuthenticated{ FALSE };
winrt::check_hresult(network2->IsDomainAuthenticatedBy(NLM_DOMAIN_AUTHENTICATION_KIND_LDAP, &isLdapAuthenticated));
winrt::check_hresult(network2->IsDomainAuthenticatedBy(NLM_DOMAIN_AUTHENTICATION_KIND_TLS, &isTlsAuthenticated));
winrt::check_hresult(network2->IsDomainAuthenticatedBy(NLM_DOMAIN_AUTHENTICATION_KIND_NONE, &isNotDomainAuthenticated));
if (!isNotDomainAuthenticated)
{
if (!!isLdapAuthenticated)
{
LogToConsole(L"Network is domain authenticated via LDAP", networkName);
}
if (!!isTlsAuthenticated)
{
LogToConsole(L"Network is domain authenticated via TLS", networkName);
}
if (!isLdapAuthenticated && !isTlsAuthenticated)
{
LogToConsole(L"Network was not expected to be domain authenticated for any other kinds", networkName);
}
}
else
{
LogToConsole(L"Network is not domain authenticated", networkName);
}
}
}
catch (...)
{
// Handle exception.
}
}
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11内部版本 22621 |
目标平台 | Windows |
标头 | netlistmgr.h |