各位高手,我是VC初学者,我想用VC++6编通信模块,具体是处理调用COPS,LDAP协议,请各位高手指点赐教!谢谢!

解决方案 »

  1.   

    Platform SDK: Active Directory Service Interfacesexample:HRESULT    hr;
    IDirectoryObject *pDirObject=NULL;
    ADSVALUE   sAMValue;
    ADSVALUE   uPNValue;
    ADSVALUE   classValue;
    LPDISPATCH pDisp;
     
    ADS_ATTR_INFO  attrInfo[] = 
    {  
       { L"objectClass", ADS_ATTR_UPDATE, 
                           ADSTYPE_CASE_IGNORE_STRING, &classValue, 1 },
       {L"sAMAccountName", ADS_ATTR_UPDATE, 
                           ADSTYPE_CASE_IGNORE_STRING, &sAMValue, 1},
       {L"userPrincipalName", ADS_ATTR_UPDATE, 
                          ADSTYPE_CASE_IGNORE_STRING, &uPNValue, 1},
    };
    DWORD dwAttrs = sizeof(attrInfo)/sizeof(ADS_ATTR_INFO); 
     
    classValue.dwType = ADSTYPE_CASE_IGNORE_STRING;
    classValue.CaseIgnoreString = L"user";
     
    sAMValue.dwType=ADSTYPE_CASE_IGNORE_STRING;
    sAMValue.CaseIgnoreString = L"jeffsmith";
     
    uPNValue.dwType=ADSTYPE_CASE_IGNORE_STRING;
    uPNValue.CaseIgnoreString = L"[email protected]";
     
    hr = ADsGetObject(L"LDAP://OU=Sales,DC=Fabrikam,DC=com",
              IID_IDirectoryObject, (void**) &pDirObject );
     
    if ( SUCCEEDED(hr) )
    {
        hr = pDirObject->CreateDSObject( L"CN=Jeff Smith",  attrInfo, 
                                        dwAttrs, &pDisp );    if ( SUCCEEDED(hr) )
        {
             // Use the DS object.         pDisp->Release();
        }    pDirObject->Release();
    }