Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anzeigebezeichner werden nach Gebietsschema im Container "DisplaySpecifiers" des Konfigurationscontainers gespeichert. Da der Konfigurationscontainer in der gesamten Gesamtstruktur repliziert wird, werden Anzeigebezeichner für alle Domänen in einer Gesamtstruktur verteilt.
Der Konfigurationscontainer speichert den DisplaySpecifiers-Container, der dann Container speichert, die den einzelnen Gebietsschemas entsprechen. Diese Gebietsschemacontainer werden mithilfe der hexadezimalen Darstellung des Gebietsschemabezeichners benannt. Beispielsweise heißt der US/englische Gebietsschemacontainer 409, der Container des deutschen Gebietsschemas heißt 407, und der Container des japanischen Gebietsschemas heißt 411. Weitere Informationen und eine Liste möglicher Sprachbezeichner finden Sie unter Sprachbezeichnerkonstanten und Zeichenfolgen.
Jeder Gebietsschemacontainer speichert Objekte der displaySpecifier Klasse.
Wenn Sie alle Anzeigebezeichner für ein Gebietsschema auflisten möchten, führen Sie alle displaySpecifier Objekte im angegebenen Gebietsschemacontainer im Container "DisplaySpecifiers" auf.
Das folgende Codebeispiel enthält eine Funktion, die an den Anzeigebezeichnercontainer für das angegebene Gebietsschema bindet:
/**********
This function returns a pointer to the display specifier container
for the specified locale.
If locale is NULL, use default system locale and then return the
locale in the locale parameter.
***********/
HRESULT BindToDisplaySpecifiersContainerByLocale(
LCID *locale,
IADs **ppDispSpecCont)
{
HRESULT hr = E_FAIL;
if ((!ppDispSpecCont)||(!locale))
return E_POINTER;
// If no locale is specified, use the default system locale.
if (!(*locale))
{
*locale = GetSystemDefaultLCID();
if (!(*locale))
return E_FAIL;
}
// Be sure that the locale is valid.
if (!IsValidLocale(*locale, LCID_SUPPORTED))
return E_INVALIDARG;
LPOLESTR szPath = new OLECHAR[MAX_PATH*2];
IADs *pObj = NULL;
VARIANT var;
hr = ADsOpenObject(L"LDAP://rootDSE",
NULL,
NULL,
ADS_SECURE_AUTHENTICATION,
IID_IADs,
(void**)&pObj);
if (SUCCEEDED(hr))
{
// Get the DN to the configuration container.
hr = pObj->Get(CComBSTR("configurationNamingContext"), &var);
if (SUCCEEDED(hr))
{
// Build the string to bind to the container for the
// specified locale in the DisplaySpecifiers container.
swprintf_s(
szPath,
L"LDAP://cn=%x,cn=DisplaySpecifiers,%s",
*locale,
var.bstrVal);
// Bind to the container.
*ppDispSpecCont = NULL;
hr = ADsOpenObject(szPath,
NULL,
NULL,
ADS_SECURE_AUTHENTICATION,
IID_IADs,
(void**)ppDispSpecCont);
if(FAILED(hr))
{
if ((*ppDispSpecCont))
{
(*ppDispSpecCont)->Release();
(*ppDispSpecCont) = NULL;
}
}
}
}
// Cleanup.
VariantClear(&var);
if (pObj)
pObj->Release();
return hr;
}