IEnumWbemClassObject 인터페이스(wbemcli.h)
IEnumWbemClassObject 인터페이스는 CIM(Common Information Model) 개체를 열거하는 데 사용되며 표준 COM 열거자와 유사합니다.
IEnumWbemClassObject 형식의 개체는 다음 메서드에 대한 호출에서 수신됩니다.
- IWbemServices::ExecQuery
- IWbemServices::CreateInstanceEnum
- IWbemServices::CreateClassEnum
- IWbemServices::ExecNotificationQuery
상속
IEnumWbemClassObject 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IEnumWbemClassObject 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IEnumWbemClassObject 인터페이스에는 이러한 메서드가 있습니다.
IEnumWbemClassObject::Clone IEnumWbemClassObject::Clone 메서드는 전체 열거자의 논리적 복사본을 만들어 현재 위치를 열거형에 유지합니다. |
IEnumWbemClassObject::Next IEnumWbemClassObject::Next 메서드를 사용하여 열거형의 현재 위치에서 시작하는 하나 이상의 개체를 가져옵니다. |
IEnumWbemClassObject::NextAsync 싱크에 대한 개체의 제어된 비동기 검색이 필요한 경우 NextAsync 메서드를 사용합니다. |
IEnumWbemClassObject::Reset IEnumWbemClassObject::Reset 메서드는 열거형 시퀀스를 다시 시작으로 다시 설정합니다. CIM 개체는 동적이므로 이 메서드를 호출해도 이전에 가져온 것과 동일한 개체 목록이 반환되는 것은 아닙니다. |
IEnumWbemClassObject::Skip IEnumWbemClassObject::Skip 메서드를 사용하여 열거형의 현재 위치를 지정된 수의 개체만큼 앞으로 이동할 수 있습니다. 또한 이는 NextAsync에 대한 후속 호출에 영향을 주지만 NextAsync로 시작된 보류 중인 배달에는 영향을 주지 않습니다. |
설명
IEnumWbemClassObject 는 WMI 쿼리에서 반환된 개체이며 반환된 값을 열거하는 데 사용됩니다. 이 클래스를 사용하는 방법에 대한 자세한 내용은 WMI 쿼리 및 WMI 열거를 참조하세요.
예제
다음 C++ 코드 샘플에서는 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();
}
요구 사항
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
대상 플랫폼 | Windows |
헤더 | wbemcli.h(Wbemidl.h 포함) |