ADS_NAME_INITTYPE_ENUM枚举指定要对 NameTranslate 对象执行的初始化类型。 它在 IADsNameTranslate 接口中使用 。
语法
typedef enum __MIDL___MIDL_itf_ads_0001_0050_0002 {
ADS_NAME_INITTYPE_DOMAIN = 1,
ADS_NAME_INITTYPE_SERVER = 2,
ADS_NAME_INITTYPE_GC = 3
} ADS_NAME_INITTYPE_ENUM;
常量
ADS_NAME_INITTYPE_DOMAIN 值:1 通过设置对象绑定到的域来初始化 NameTranslate 对象。 |
ADS_NAME_INITTYPE_SERVER 值: 2 通过设置对象绑定到的服务器来初始化 NameTranslate 对象。 |
ADS_NAME_INITTYPE_GC 值: 3 通过查找对象绑定到的全局目录来初始化 NameTranslate 对象。 |
注解
IADsNameTranslate::Init 方法或 IADsNameTranslate::InitEx 方法使用这些选项初始化 NameTranslate 对象。 使用 ADS_NAME_INITTYPE_SERVER 时,请指定目录服务器的计算机名称。 设置 ADS_NAME_INITTYPE_DOMAIN 后,在目录林中提供域名。 发出 ADS_NAME_INITTYPE_GC 时, 将忽略 IADsNameTranslate::Init 或 IADsNameTranslate::InitEx 中的第二个参数。 当前计算机域的全局目录服务器用于执行名称转换操作。 如果主计算机不是域的一部分,则初始化失败,因为找不到全局目录。
示例
下面的 C/C++ 代码示例使用 IADsNameTranslate::Init 方法通过全局目录初始化 NameTranslate 对象,前提是运行应用程序的客户端位于目录林中。 然后,它以 Windows 格式呈现用户对象的可分辨名称。
IADsNameTranslate *pNto = NULL;
HRESULT hr = S_OK;
CComBSTR sbstr;
hr = CoCreateInstance(CLSID_NameTranslate,
NULL,
CLSCTX_INPROC_SERVER,
IID_IADsNameTranslate,
(void**)&pNto);
if(FAILED(hr)) { exit 1;}
hr = pNto->Init(ADS_NAME_INITTYPE_GC, CComBSTR(""));
if (FAILED(hr))
{
goto cleanup;
}
hr =pNto->Set(ADS_NAME_TYPE_1779,
CComBSTR(L"cn=jeffsmith,cn=users,dc=Fabrikam,dc=com"));
if(FAILED(hr))
{
goto cleanup;
}
hr = pNto->Get(ADS_NAME_TYPE_NT4, &sbstr);
printf("Name in the translated format: %S\n", sbstr);
cleanup:
if(pNto)
{
pNto->Release();
}
下面的 Visual Basic 代码示例使用 IADsNameTranslate::Init 方法通过全局目录初始化 NameTranslate 对象,前提是运行应用程序的客户端位于目录林中。 然后,它以 Windows 格式呈现用户对象的可分辨名称。
Dim nto as New NameTranslate
dso="CN=jeffsmith, CN=users, DC=Fabrikam dc=COM"
nto.Init ADS_NAME_INITTYPE_GC, ""
nto.Set ADS_NAME_TYPE_1779, dso
trans = nto.Get(ADS_NAME_TYPE_NT4)
MsgBox "Translated name = " & trans
下面的 VBScript/ASP 代码示例使用 IADsNameTranslate::Init 方法通过全局目录初始化 NameTranslate 对象,前提是运行应用程序的客户端位于目录林中。 然后,它以 Windows 格式呈现用户对象的可分辨名称。
<%@ Language=VBScript %>
<html>
<body>
<%
Dim nto
const ADS_NAME_INITTYPE_GC = 3 ' VBScript cannot read.
const ADS_NAME_TYPE_1779 = 1 ' Enumeration definition.
const ADS_NAME_TYPE_NT4 = 3
dn = "CN=jeff smith,CN=Users,DC=Fabrikam,DC=COM"
Set nto = Server.CreateObject("NameTranslate")
nto.Init ADS_NAME_INITTYPE_GC, ""
nto.Set ADS_NAME_TYPE_1779, dn
result = nto.Get(ADS_NAME_TYPE_NT4)
Response.Write "<p>Name in the translated format: " & result
%>
</body>
</html>
要求
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
标头 | iads.h |