IEnumWbemClassObject-Schnittstelle (wbemcli.h)
Die IEnumWbemClassObject-Schnittstelle wird zum Aufzählen von CIM-Objekten (Common Information Model ) verwendet und ähnelt einem COM-Standardenumerator.
Ein Objekt vom Typ IEnumWbemClassObject wird von Aufrufen der folgenden Methoden empfangen:
- IWbemServices::ExecQuery
- IWbemServices::CreateInstanceEnum
- IWbemServices::CreateClassEnum
- IWbemServices::ExecNotificationQuery
Vererbung
Die IEnumWbemClassObject-Schnittstelle erbt von der IUnknown-Schnittstelle . IEnumWbemClassObject verfügt auch über folgende Membertypen:
Methoden
Die IEnumWbemClassObject-Schnittstelle verfügt über diese Methoden.
IEnumWbemClassObject::Clone Die IEnumWbemClassObject::Clone-Methode erstellt eine logische Kopie des gesamten Enumerators und behält dessen aktuelle Position in einer Enumeration bei. |
IEnumWbemClassObject::Next Verwenden Sie die IEnumWbemClassObject::Next-Methode, um ein oder mehrere Objekte ab der aktuellen Position in einer Enumeration abzurufen. |
IEnumWbemClassObject::NextAsync Verwenden Sie die NextAsync-Methode, wenn ein kontrollierter asynchroner Abruf von Objekten an eine Senke erforderlich ist. |
IEnumWbemClassObject::Reset Die IEnumWbemClassObject::Reset-Methode setzt eine Enumerationssequenz zurück an den Anfang. Da CIM-Objekte dynamisch sind, gibt der Aufruf dieser Methode nicht notwendigerweise dieselbe Liste von Objekten zurück, die Sie zuvor abgerufen haben. |
IEnumWbemClassObject::Skip Sie können die IEnumWbemClassObject::Skip-Methode verwenden, um die aktuelle Position in einer Enumeration um eine angegebene Anzahl von Objekten nach vorne zu verschieben. Dies wirkt sich auch auf nachfolgende Aufrufe von NextAsync aus, wirkt sich jedoch nicht auf ausstehende Übermittlungen aus, die mit NextAsync beginnen. |
Hinweise
IEnumWbemClassObject ist das Objekt, das von einer WMI-Abfrage zurückgegeben wird, und wird verwendet, um die zurückgegebenen Werte aufzulisten. Weitere Informationen zur Verwendung dieser Klasse finden Sie unter Abfragen von WMI und Auflisten von WMI.
Beispiele
Im folgenden C++-Codebeispiel wird beschrieben, wie Ein IEnumWbemClassObject abgerufen wird.
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();
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | wbemcli.h (include Wbemidl.h) |