ADS_NAME_INITTYPE_ENUM列挙 (iads.h)

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 の 2 番目のパラメーターは無視されます。 現在のコンピューターのドメインのグローバル カタログ サーバーを使用して、名前変換操作を実行します。 グローバル カタログが見つからないため、ホスト コンピューターがドメインに含まれていない場合、初期化は失敗します。

メモ 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
Header iads.h

関連項目

ADSI 列挙

IADsNameTranslate