IADs::Metode SetInfo (iads.h)

Metode IADs::SetInfo menyimpan nilai properti cache objek ADSI ke penyimpanan direktori yang mendasar.

Sintaks

HRESULT SetInfo();

Mengembalikan nilai

Metode ini mendukung nilai pengembalian standar, termasuk S_OK untuk operasi yang berhasil. Untuk informasi selengkapnya, lihat Kode Kesalahan ADSI.

Keterangan

Penting untuk menekankan perbedaan antara metode IADs::P ut dan IADs::SetInfo . Nilai set sebelumnya (atau memodifikasi) properti tertentu dalam cache properti sedangkan yang terakhir menyebarkan perubahan dari cache properti ke penyimpanan direktori yang mendasar. Oleh karena itu, setiap perubahan nilai properti yang dilakukan oleh IAD::P ut akan hilang jika IAD::GetInfo (atau IADs::GetInfoEx) dipanggil sebelum IAD::SetInfo dipanggil.

Karena IAD::SetInfo mengirim data di seluruh jaringan, minimalkan penggunaan metode ini. Ini mengurangi jumlah perjalanan yang dilakukan klien ke server. Misalnya, Anda harus menerapkan semua, atau sebagian besar, perubahan pada properti dari cache ke penyimpanan persisten dalam satu batch.

Pedoman ini hanya berkaitan dengan hubungan IAD::SetInfo dengan metode IADs::P ut , yang berbeda dari hubungan dengan metode IADs::P utEx .

Contoh kode berikut mengilustrasikan hubungan yang direkomendasikan antara IAD::P ut dan IADs::SetInfo.

Dim obj as IADs
 
obj.Put(prop1,val1)
obj.Put(prop2.val2)
obj.Put(prop3.val3)
obj.SetInfo

Contoh kode berikut mengilustrasikan apa yang tidak direkomendasikan antara IAD::P ut dan IADs::SetInfo.

obj.Put(prop1,val1)
obj.SetInfo
obj.Put(prop2.val2)
obj.SetInfo
obj.Put(prop3.val3)
obj.SetInfo

Saat digunakan dengan IAD::P utEx, IAD::SetInfo meneruskan permintaan operasional yang ditentukan oleh kode kontrol, seperti ADS_PROPERTY_UPDATE atau ADS_PROPERTY_CLEAR, ke penyimpanan direktori yang mendasar.

Contoh

Contoh kode Visual Basic berikut menggunakan metode IADs::SetInfo untuk menyimpan nilai properti pengguna ke direktori yang mendasar.

Dim x as IADs
On Error GoTo Cleanup

Set x = GetObject("LDAP://CN=Administrator,CN=Users,DC=Fabrikam,DC=com")
'
' Update values in the cache.
'
x.Put "sn", "Smith"
x.Put "givenName", "Jeff"
x.Put "street", "1 Tanka Place"
x.Put "l", "Sammamish"
x.Put "st", "Washington"
'
' Commit changes to the directory.
x.SetInfo

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

Contoh kode C++ berikut memperbarui nilai properti dalam cache properti dan menerapkan perubahan ke penyimpanan direktori menggunakan IAD::SetInfo. Untuk keringkasan, pemeriksaan kesalahan dihilangkan.

IADs *pAds NULL;
VARIANT var;
HRESULT hr = S_OK;
LPWSTR path=L"LDAP://CN=Administrator,CN=Users,DC=Fabrikam,DC=com";
hr = ADsGetObject( path, IID_IADs, (void**) pADs);

if(!(hr==S_OK)) {return hr;}

VariantInit(&var);
// Update values in the cache.
V_BSTR(&var) = SysAllocString(L"Smith");
V_VT(&var) = VT_BSTR;
hr = pADs->Put(CComBSTR("sn"), var );
VariantClear(&var);
 
V_BSTR(&var) = SysAllocString(L"Jeff");
V_VT(&var) = VT_BSTR;
hr = pADs->Put(CComBSTR("givenName"), var );
VariantClear(&var);
 
V_BSTR(&var) = SysAllocString(L"1 Tanka Place");
V_VT(&var) = VT_BSTR;
hr = pADs->Put(CComBSTR("street"), var );
VariantClear(&var);
 
V_BSTR(&var) = SysAllocString(L"Sammamish");
V_VT(&var) = VT_BSTR;
hr = pADs->Put(CComBSTR("l"), var );
VariantClear(&var);
 
V_BSTR(&var) = SysAllocString(L"Washington");
V_VT(&var) = VT_BSTR;
hr = pADs->Put(CComBSTR("st"), var );
VariantClear(&var);
 
// Commit changes to the directory store.
hr = pADs->SetInfo();

if(pADs)
   pADs->Release();

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header iads.h
DLL Activeds.dll

Lihat juga

IAD

IADs::GetInfo

IADs::GetInfoEx

IAD::P ut

IAD::P utEx