IADs::P ut 方法 (iads.h)

IADs::P ut 方法设置 ADSI 属性缓存中特性的值。

语法

HRESULT Put(
  [in] BSTR    bstrName,
  [in] VARIANT vProp
);

parameters

[in] bstrName

包含指定属性名称的 BSTR

[in] vProp

包含指定属性的新值的 VARIANT

返回值

此方法支持标准返回值以及以下值。

有关详细信息和其他返回值,请参阅 ADSI 错误代码

注解

Put 执行的新属性值的分配仅在属性缓存中发生。 若要将更改传播到目录存储,请在调用 Put 后对 对象调用 IADs::SetInfo

若要操作简单赋值之外的属性值,请使用 Put 追加或删除现有属性值数组中的值。

示例

下面的代码示例演示如何使用 IADs::P ut 方法。

Dim x As IADs
On Error GoTo Cleanup

Set x = GetObject("LDAP://CN=JeffSmith,CN=Users,DC=Fabrikam, DC=Com") 
x.Put "givenName", "Jeff"
x.Put "sn", "Smith"
x.SetInfo    ' Commit to the directory.

Cleanup:
   If(Err.Number<>0) Then
      MsgBox("An error has occurred. " & Err.Number)
   End If
   Set x = Nothing

下面的代码示例演示如何使用 IADs::P ut 方法。

HRESULT hr;
IADs *pADs = NULL;
LPWSTR pszADsPath = L"LDAP://CN=JeffSmith,CN=Users,DC=Fabrikam,DC=com";
 
CoInitialize(NULL);
 
//////////////////////////////////
// Modifying attributes using IADs
//////////////////////////////////
hr = ADsGetObject(pszADsPath, IID_IADs, (void**) &pADs);
 
if(SUCCEEDED(hr))
{ 
    VARIANT var;
    VariantInit(&var);
     
    // Set the first name.
    V_BSTR(&var) = SysAllocString(L"Jeff");
    V_VT(&var) = VT_BSTR;
    hr = pADs->Put(CComBSTR("givenName"), var);
     
    // Set the last name.
    VariantClear(&var);
    V_BSTR(&var) = SysAllocString(L"Smith");
    V_VT(&var) = VT_BSTR;
    hr = pADs->Put(CComBSTR("sn"), var); 
    VariantClear(&var);

    // Other Telephones.
    LPWSTR pszPhones[] = { L"425-707-9790", L"425-707-9791" };
    DWORD dwNumber = sizeof(pszPhones)/sizeof(LPWSTR);
    hr = ADsBuildVarArrayStr(pszPhones, dwNumber, &var);
    hr = pADs->Put(CComBSTR("otherTelephone"), var); 
    VariantClear(&var);
     
    // Commit the change to the directory.
    hr = pADs->SetInfo();
    pADs->Release();
}

CoUninitialize();

要求

   
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 iads.h
DLL Activeds.dll

另请参阅

IAD

IADs::Get

IADs::GetEx

IADs::P utEx

属性缓存