1

これが私のプログラムです。バインドできません。何が問題なのかわからない。接続文字列に問題があると思います。LDAP 接続文字列を見つける方法は?

    #include <iostream>
    #include <conio.h>
    #include <wchar.h>
    #include <objbase.h>
    #include <activeds.h>
    #include <AdsHlp.h>

    using namespace std;
    const IID IID_IADs = {0xFD8256D0, 0xFD15, 0x11CE, {0xAB,0xC4,0x02,0x60,0x8C,0x9E,0x75,0x53}};
    int main(int argc, CHAR* argv[])
    {
    IADs *pObject;
    HRESULT hr;
    ::CoInitialize(NULL);
            hr = ADsOpenObject(L"ldap://server1",L"cn=Manager,dc=maxcrc,dc=com",L"secret",
                ADS_SECURE_AUTHENTICATION, 
                IID_IADs,
                (void**)&pObject);

    if(SUCCEEDED(hr))
    {
    cout<<"Success";
    pObject->Release();
    }
    else
    cout<<"Unsuccessful";

    CoUninitialize();
    getch();
    return 0;
    }
4

2 に答える 2

0

「C」から ADSI COM オブジェクトを使用することはありませんが、PowerShell から使用すると、接続 URL で「LDAP」に大文字を使用しないとエラーが発生しました (PowerShell では大文字と小文字が区別されません)。すべての URL が大文字の「LDAP」で始まるLDAP ADsPathを確認してください。

于 2013-11-09T06:36:16.083 に答える