共用方式為


ADS_NAME_INITTYPE_ENUM列舉 (iads.h)

ADS_NAME_INITTYPE_ENUM列舉會指定要在NameTranslate物件上執行的初始化類型。 它用於 IADsNameTranslate 介面。

Syntax

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::InitIADsNameTranslate::InitEx 中的第二個參數。 目前電腦網域的通用類別目錄伺服器是用來執行名稱翻譯作業。 如果主機電腦不是網域的一部分,初始化就會失敗,因為找不到通用類別目錄。

注意 因為 VBScript 無法從型別程式庫讀取資料,所以 VBScript 應用程式無法辨識上述定義的符號常數。 請改用數值常數,在 VBScript 應用程式中設定適當的旗標。 若要使用符號常數作為良好的程式設計作法,請在 VBScript 應用程式中撰寫這類常數的明確宣告,如這裡所示。
 

範例

下列 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

另請參閱

ADSI 列舉

IADsNameTranslate