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 番目のパラメーターは無視されます。 現在のコンピューターのドメインのグローバル カタログ サーバーを使用して、名前変換操作を実行します。 グローバル カタログが見つからないため、ホスト コンピューターがドメインに含まれていない場合、初期化は失敗します。
例
次の 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 |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示