Bagikan melalui


Metode IWbemServices::CreateClassEnum (wbemcli.h)

Metode IWbemServices::CreateClassEnum mengembalikan enumerator untuk semua kelas yang memenuhi kriteria pemilihan. Pemanggil harus menggunakan enumerator yang dikembalikan untuk mengambil definisi kelas, memanggil IEnumWbemClassObject::Next untuk mendapatkan setiap kelas atau blok kelas. Ini selesai dengan memanggil IEnumWbemClassObject::Release.

Catatan Ini bukan kesalahan bagi enumerator yang dikembalikan untuk memiliki 0 (nol) elemen.
 

Sintaks

HRESULT CreateClassEnum(
  [in]  const BSTR           strSuperclass,
  [in]  long                 lFlags,
  [in]  IWbemContext         *pCtx,
  [out] IEnumWbemClassObject **ppEnum
);

Parameter

[in] strSuperclass

Jika tidak NULL atau kosong, tentukan nama kelas induk. Hanya kelas yang merupakan subkelas kelas ini yang dikembalikan dalam enumerator. Jika NULL atau kosong, dan lFlags WBEM_FLAG_SHALLOW, hanya kelas tingkat atas yang dikembalikan (yaitu, kelas yang tidak memiliki kelas induk). Jika NULL atau kosong dan lFlagsWBEM_FLAG_DEEP, semua kelas dalam namespace akan dikembalikan.

[in] lFlags

Bendera berikut memengaruhi perilaku metode ini. Nilai yang disarankan untuk parameter ini adalah WBEM_FLAG_RETURN_IMMEDIATELY dan WBEM_FLAG_FORWARD_ONLY untuk performa terbaik.

WBEM_FLAG_USE_AMENDED_QUALIFIERS

Jika bendera ini diatur, WMI mengambil kualifikasi yang diubah yang disimpan di namespace layanan lokal koneksi saat ini. Jika tidak diatur, hanya kualifikasi yang disimpan di namespace langsung yang diambil.

WBEM_FLAG_DEEP

Bendera ini memaksa enumerasi untuk menyertakan semua subkelas dalam hierarki, tetapi bukan kelas ini.

WBEM_FLAG_SHALLOW

Bendera ini memaksa enumerasi untuk hanya menyertakan instans murni dari kelas ini, tidak termasuk semua instans subkelas yang menyediakan properti yang tidak ditemukan di kelas ini.

WBEM_FLAG_RETURN_IMMEDIATELY

Bendera ini menyebabkan panggilan semisinkron. Untuk informasi selengkapnya, lihat Memanggil Metode.

WBEM_FLAG_FORWARD_ONLY

Bendera ini menyebabkan enumerator hanya maju dikembalikan. Biasanya, enumerator hanya maju lebih cepat dan menggunakan lebih sedikit memori daripada enumerator konvensional, tetapi mereka tidak mengizinkan panggilan ke Kloning atau Reset.

WBEM_FLAG_BIDIRECTIONAL

Bendera ini menyebabkan WMI mempertahankan pointer ke objek enumerasi hingga klien merilis enumerator. Karena penunjuk objek tidak segera dirilis, metode ini mungkin gagal dengan HRESULTWBEM_E_OUT_OF_MEMORY jika klien mencoba menghitung sejumlah besar objek. Bendera ini tersirat secara default jika Anda mengatur parameter lFlags ke 0 (nol).

[in] pCtx

Biasanya NULL. Jika tidak, ini adalah penunjuk ke objek IWbemContext yang dapat digunakan oleh penyedia yang menyediakan kelas yang diminta. Nilai dalam objek konteks harus ditentukan dalam dokumentasi untuk penyedia. Untuk informasi selengkapnya tentang parameter ini, lihat Melakukan Panggilan ke WMI.

[out] ppEnum

Menerima penunjuk ke enumerator. Objek yang dikembalikan memiliki jumlah referensi positif. Penelepon harus memanggil Rilis pada pointer ketika tidak lagi diperlukan.

Mengembalikan nilai

Metode ini mengembalikan HRESULT yang menunjukkan status panggilan metode. Daftar berikut mencantumkan nilai yang terkandung dalam HRESULT.

Jika gagal, Anda dapat memperoleh informasi yang tersedia dari fungsi COM GetErrorInfo.

Kode kesalahan khusus COM juga dapat dikembalikan jika masalah jaringan menyebabkan Anda kehilangan koneksi jarak jauh ke Manajemen Windows.

Persyaratan

   
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header wbemcli.h (termasuk Wbemidl.h)
Pustaka Wbemuuid.lib
DLL Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll

Lihat juga

IEnumWbemClassObject

IWbemServices

IWbemServices::CreateClassEnumAsync

Mengambil Kode Kesalahan