Iadsnametranslation-Schnittstelle

Die iadsnametranslation -Schnittstelle wird verwendet, um Distinguished Names zwischen verschiedenen Formaten zu übersetzen. Namens Übersetzungen werden auf dem Verzeichnisserver ausgeführt, und diese Schnittstelle ist derzeit nur für Objekte in Active Directory verfügbar.

Im folgenden Codebeispiel wird ein Konto Name aus dem Windows-Format in das LDAP-Format konvertiert.

HRESULT TranslateNTNameToLDAPName( BSTR * pNTName, BSTR * pLDAPName )
{
    IADsNameTranslate *pTrans;
    HRESULT hr = S_OK;
 
    hr = CoCreateInstance(CLSID_NameTranslate, 
                          NULL,
                          CLSCTX_INPROC_SERVER,
                          IID_IADsNameTranslate,
                          (void**) &pTrans );
    if (FAILED(hr)) { return hr; }

    hr = pTrans->Init(ADS_NAME_INITTYPE_DOMAIN, 
                      CComBSTR("Fabrikam.com"));
    if (FAILED(hr)) { return hr; }

    hr = pTrans->Set(ADS_NAME_TYPE_NT4, *pNTName);
    if (FAILED(hr)) { return hr; }

    hr = pTrans->Get(ADS_NAME_TYPE_1779, pLDAPName);
    pTrans->Release();
    return hr;
}