Interfaccia IEnumWbemClassObject (wbemcli.h)
L'interfaccia IEnumWbemClassObject viene usata per enumerare oggetti COMMON Information Model (CIM) ed è simile a un enumeratore COM standard.
Un oggetto di tipo IEnumWbemClassObject viene ricevuto dalle chiamate ai metodi seguenti:
- IWbemServices::ExecQuery
- IWbemServices::CreateInstanceEnum
- IWbemServices::CreateClassEnum
- IWbemServices::ExecNotificationQuery
Ereditarietà
L'interfaccia IEnumWbemClassObject eredita dall'interfaccia IUnknown . IEnumWbemClassObject include anche questi tipi di membri:
Metodi
L'interfaccia IEnumWbemClassObject include questi metodi.
IEnumWbemClassObject::Clone Il metodo IEnumWbemClassObject::Clone esegue una copia logica dell'intero enumeratore, mantenendo la posizione corrente in un'enumerazione. |
IEnumWbemClassObject::Next Usare il metodo IEnumWbemClassObject::Next per ottenere uno o più oggetti a partire dalla posizione corrente in un'enumerazione. |
IEnumWbemClassObject::NextAsync Usare il metodo NextAsync quando è necessario un recupero asincrono controllato di oggetti in un sink. |
IEnumWbemClassObject::Reset Il metodo IEnumWbemClassObject::Reset reimposta una sequenza di enumerazione all'inizio. Poiché gli oggetti CIM sono dinamici, la chiamata di questo metodo non restituisce necessariamente lo stesso elenco di oggetti ottenuti in precedenza. |
IEnumWbemClassObject::Skip È possibile usare il metodo IEnumWbemClassObject::Skip per spostare la posizione corrente in un'enumerazione in anticipo da un numero specificato di oggetti. Ciò influisce anche sulle chiamate successive a NextAsync, ma non influisce sulle consegne in sospeso avviate con NextAsync. |
Commenti
IEnumWbemClassObject è l'oggetto restituito da una query WMI e viene usato per enumerare i valori restituiti. Per altre informazioni su come usare questa classe, vedere Query su WMI ed enumerazione WMI.
Esempio
L'esempio di codice C++ seguente descrive come recuperare un oggetto 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();
}
Requisiti
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | wbemcli.h (include Wbemidl.h) |