Kelas COMAdminCatalogObject

Mewakili item dalam koleksi dalam katalog COM+. Gunakan untuk mengambil dan memodifikasi properti yang diekspos oleh item dalam koleksi.

Kapan harus menerapkan

Kelas ini diimplementasikan oleh COM+.

Persyaratan Nilai
Antarmuka ICatalogObject

Waktu menggunakan

Gunakan objek yang dibuat dari kelas COMAdminCatalogObject untuk memodifikasi properti item yang terkandung dalam koleksi di katalog COM+. Item ini sesuai dengan item yang ditampilkan di dalam folder di pohon konsol alat administrasi Layanan Komponen. Folder di alat administrasi Layanan Komponen sesuai dengan koleksi dalam katalog, yang dapat Anda wakili dengan menggunakan objek yang dibuat dari kelas COMAdminCatalogCollection .

Tidak semua koleksi dan item yang diekspos melalui COMAdminCatalogCollection dan COMAdminCatalogObject tersedia di alat administrasi Layanan Komponen.

Untuk informasi mengenai koleksi tertentu dan propertinya, lihat Koleksi Administrasi COM+.

Untuk pengenalan administrasi TERPROGRAM COM+, lihat Mengotomatiskan Administrasi COM+.

Keterangan

Anda tidak dapat langsung membuat objek COMAdminCatalogObject . Untuk menggunakan metode objek ini, Anda harus membuat objek COMAdminCatalog , mendapatkan referensi ke ICOMAdminCatalog, lalu menggunakan ICOMAdminCatalog::GetCollection untuk mendapatkan referensi ke antarmuka ICatalogCollection yang mewakili koleksi tingkat atas atau menggunakan ICatalogCollection::GetCollection untuk mengakses koleksi yang bukan tingkat atas.

Setelah Anda memiliki referensi ke antarmuka ICatalogCollection koleksi tempat Anda tertarik, panggil ICatalogCollection::P opulate untuk mengisi koleksi dengan semua itemnya. Ulangi melalui setiap item dalam koleksi dengan memanggil ICatalogCollection::get_Item untuk mendapatkan referensi ke setiap antarmuka ICatalogObject . Saat menemukan item yang menarik, Anda dapat memodifikasi properti item dan keluar dari perulangan. Jika Anda membuat perubahan pada item apa pun dalam koleksi, Anda harus memanggil ICatalogCollection::SaveChanges untuk menyimpan perubahan ke katalog COM+.

Ini ditunjukkan dalam contoh berikut, di mana "TopCollection" harus diganti dengan nama salah satu koleksi administrasi COM+ tingkat atas; "ItemName" harus diganti dengan nama item yang Anda minati; "PropertyName" harus diganti dengan nama properti yang Anda ubah dalam item; dan varNewProp harus digantikan oleh VARIAN yang berisi nilai baru untuk properti .

// Convert ItemName to a BSTR.
bstrItemName = SysAllocString(L"ItemName");
HRESULT hr = CoCreateInstance(CLSID_COMAdminCatalog, NULL, 
  CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&pUnknown);
if (FAILED(hr)) exit(0);  // Replace with specific error handling.
hr = pUnknown->QueryInterface(IID_ICOMAdminCatalog, 
  (void**)&pCatalog); 
if (FAILED(hr)) exit(0);  // Replace with specific error handling.
hr = pCatalog->GetCollection(L"TopCollection", 
  (IDispatch**)&pTopColl);
if (FAILED(hr)) exit(0);  // Replace with specific error handling.
// Populate the TopCollection collection.
hr = pTopColl->Populate();
if (FAILED(hr)) exit(0);  // Replace with specific error handling.
// Get the number of items in the collection.
hr = pTopColl->get_Count(&lCount);
if (FAILED(hr)) exit(0);  // Replace with specific error handling.
VARIANT varName;
VariantInit(&varName);
// Iterate through each item in the collection.
for (LONG lIdx = 0; lIdx < lCount; lIdx++) {
    hr = pTopColl->get_Item(lIdx, (IDispatch**)&pItem);
    if (FAILED(hr)) exit(0);  // Replace with specific error handling.
    hr = pItem->get_Name(&varName);
    if (FAILED(hr)) exit(0);  // Replace with specific error handling.
    // Compare the item name to bstrItemName.
    hr = VarBstrCmp(varName.bstrVal, bstrItemName, 1024L, NULL);
    if (FAILED(hr)) exit(0);  // Replace with specific error handling.
    if (VARCMP_EQ == hr) {  // The strings are equal.
        // Use the put_Value method to modify properties of the item.
        hr = pItem->put_Value(L"PropertyName", varNewProp);
        if (FAILED(hr)) exit(0);  // Replace with specific error handling.
        break;  // Exit the iteration.
    }
}
hr = pTopColl->SaveChanges(&lNum);
if (FAILED(hr)) exit(0);  // Replace with specific error handling.
SysFreeString(bstrItemName);


Untuk menggunakan kelas ini dari Microsoft Visual Basic, tambahkan referensi ke COM+ Admin Type Library. Objek COMAdminCatalogCollection dapat dibuat dengan memanggil GetCollection pada objek COMAdminCatalog atau COMAdminCatalogCollection .

Panggil metode Isi objek COMAdminCatalogCollection untuk mengisi koleksi dengan semua itemnya. Iterasi melalui setiap item dalam koleksi. Saat menemukan item yang menarik, Anda dapat memodifikasi properti item dan keluar dari perulangan. Jika Anda membuat perubahan pada item apa pun dalam koleksi, Anda harus memanggil metode SaveChanges dari objek COMAdminCatalogCollection untuk menyimpan perubahan ke katalog COM+.

Ini ditunjukkan dalam contoh berikut, di mana "TopCollection" harus diganti dengan nama salah satu koleksi administrasi COM+ tingkat atas; "ItemName" harus diganti dengan nama item yang Anda minati; "PropertyName" harus diganti dengan nama properti yang Anda ubah dalam item; dan NewPropValue harus digantikan oleh nilai baru untuk properti .

Dim objCatalog As COMAdmin.COMAdminCatalog
Set objCatalog = CreateObject("COMAdmin.COMAdminCatalog")
Dim objTopCollection As COMAdmin.COMAdminCatalogCollection
Set objTopCollection = objCatalog.GetCollection("TopCollection")
objTopCollection.Populate
Dim objItem As COMAdmin.COMAdminCatalogObject
For Each objItem in objTopCollection
    If objItem.Name = "ItemName" Then
        objItem.Value("PropertyName") = NewPropValue
        Exit For
    End If
Next
objAppCollection.SaveChanges

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
ComAdmin.h
IDL
ComAdmin.Idl

Lihat juga

COMAdminCatalog

COMAdminCatalogCollection

ICatalogObject