Antarmuka IEnumWbemClassObject (wbemcli.h)
Antarmuka IEnumWbemClassObject digunakan untuk menghitung objek Common Information Model (CIM) dan mirip dengan enumerator COM standar.
Objek jenis IEnumWbemClassObject diterima dari panggilan ke metode berikut:
- IWbemServices::ExecQuery
- IWbemServices::CreateInstanceEnum
- IWbemServices::CreateClassEnum
- IWbemServices::ExecNotificationQuery
Warisan
Antarmuka IEnumWbemClassObject mewarisi dari antarmuka IUnknown . IEnumWbemClassObject juga memiliki jenis anggota ini:
Metode
Antarmuka IEnumWbemClassObject memiliki metode ini.
IEnumWbemClassObject::Clone Metode IEnumWbemClassObject::Clone membuat salinan logis dari seluruh enumerator, mempertahankan posisinya saat ini dalam enumerasi. |
IEnumWbemClassObject::Berikutnya Gunakan metode IEnumWbemClassObject::Next untuk mendapatkan satu atau beberapa objek yang dimulai pada posisi saat ini dalam enumerasi. |
IEnumWbemClassObject::NextAsync Gunakan metode NextAsync saat pengambilan objek asinkron terkontrol ke sink diperlukan. |
IEnumWbemClassObject::Reset Metode IEnumWbemClassObject::Reset mengatur ulang urutan enumerasi kembali ke awal. Karena objek CIM bersifat dinamis, memanggil metode ini tidak selalu mengembalikan daftar objek yang sama dengan yang Anda peroleh sebelumnya. |
IEnumWbemClassObject::Skip Anda dapat menggunakan metode IEnumWbemClassObject::Skip untuk memindahkan posisi saat ini dalam enumerasi di depan oleh sejumlah objek tertentu. Selain itu, ini mempengaruhi panggilan berikutnya ke NextAsync, tetapi tidak memengaruhi pengiriman yang tertunda dimulai dengan NextAsync. |
Keterangan
IEnumWbemClassObject adalah objek yang dikembalikan dari kueri WMI, dan digunakan untuk menghitung melalui nilai yang dikembalikan. Untuk informasi selengkapnya tentang cara menggunakan kelas ini, lihat Mengkueri WMI dan Menghitung WMI.
Contoh
Sampel kode C++ berikut menjelaskan cara mengambil IEnumWbemClassObject.
void ExecQuerySync(IWbemServices *pSvc)
{
// Query for all users and groups.
BSTR Language = SysAllocString(L"WQL");
BSTR Query = SysAllocString(L"SELECT * FROM __Namespace");
// Initialize the IEnumWbemClassObject pointer.
IEnumWbemClassObject *pEnum = 0;
// Issue the query.
HRESULT hRes = pSvc->ExecQuery(
Language,
Query,
WBEM_FLAG_FORWARD_ONLY, // Flags
0, // Context
&pEnum
);
SysFreeString(Query);
SysFreeString(Language);
if (hRes != 0)
{
printf("Error\n");
return;
}
ULONG uTotal = 0;
// Retrieve the objects in the result set.
for (;;)
{
IWbemClassObject *pObj = 0;
ULONG uReturned = 0;
hRes = pEnum->Next(
0, // Time out
1, // One object
&pObj,
&uReturned
);
uTotal += uReturned;
if (uReturned == 0)
break;
// Use the object.
// ...
// Release it.
// ===========
pObj->Release(); // Release objects not owned.
}
// All done.
pEnum->Release();
}
Persyaratan
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | wbemcli.h (termasuk Wbemidl.h) |