Aracılığıyla paylaş


CreateClassEnumWmi işlevi

Belirtilen seçim ölçütlerini karşılayan tüm sınıflar için bir numaralandırıcı döndürür.

Not

Bu API yalnızca iç kullanıma yöneliktir. Geliştirici kodundan kullanılmak üzere tasarlanmamıştır.

Sözdizimi

HRESULT CreateClassEnumWmi (
   [in] BSTR                    strSuperclass,
   [in] long                    lFlags,
   [in] IWbemContext*           pCtx,
   [out] IEnumWbemClassObject** ppEnum,
   [in] DWORD                   authLevel,
   [in] DWORD                   impLevel,
   [in] IWbemServices*          pCurrentNamespace,
   [in] BSTR                    strUser,
   [in] BSTR                    strPassword,
   [in] BSTR                    strAuthority
);

Parametreler

strSuperclass
[in] null Değilse veya boşsa, üst sınıfın adını belirtir; numaralandırıcı yalnızca bu sınıfın alt sınıflarını döndürür. null Boş veya boşsa ve lFlags WBEM_FLAG_SHALLOW ise, yalnızca üst düzey sınıfları (üst sınıfı olmayan sınıflar) döndürür. null veya boşsa ve lFlags iseWBEM_FLAG_DEEP, ad alanında tüm sınıfları döndürür.

lFlags
[in] Bu işlevin davranışını etkileyen bayrakların birleşimi. Aşağıdaki değerler WbemCli.h üst bilgi dosyasında tanımlanır veya bunları kodunuzda sabit olarak tanımlayabilirsiniz:

Sabit Değer Açıklama
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 Ayarlanırsa işlev, geçerli bağlantının yerel ayarının yerelleştirilmiş ad alanında depolanan değiştirilmiş niteleyicileri alır.
Ayarlanmadıysa işlev yalnızca anlık ad alanında depolanan niteleyicileri alır.
WBEM_FLAG_DEEP 0 Numaralandırma hiyerarşideki tüm alt sınıfları içerir, ancak bu sınıfı içermez.
WBEM_FLAG_SHALLOW 1 Numaralandırma yalnızca bu sınıfın saf örneklerini içerir ve bu sınıfta bulunmayan özellikleri sağlayan alt sınıfların tüm örneklerini dışlar.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 bayrağı yarı zaman uyumsuz bir çağrıya neden olur.
WBEM_FLAG_FORWARD_ONLY 0x20 işlevi yalnızca ileriye doğru bir numaralandırıcı döndürür. Genellikle, yalnızca ileriye doğru numaralandırıcılar daha hızlıdır ve geleneksel numaralandırıcılara göre daha az bellek kullanır, ancak Clone çağrılarına izin vermezler.
WBEM_FLAG_BIDIRECTIONAL 0 WMI, serbest bırakılana kadar numaralandırmadaki nesnelere yönelik işaretçileri korur.

Önerilen bayraklar en iyi performans için ve'tir WBEM_FLAG_RETURN_IMMEDIATELYWBEM_FLAG_FORWARD_ONLY .

pCtx
[in] Genellikle, bu değer şeklindedir null. Aksi takdirde, istenen sınıfları sağlayan sağlayıcı tarafından kullanılabilecek bir IWbemContext örneğine yönelik bir işaretçidir.

ppEnum
[out] İşaretçiyi numaralandırıcıya alır.

authLevel
[in] Yetkilendirme düzeyi.

impLevel
[in] Kimliğe bürünme düzeyi.

pCurrentNamespace
[in] Geçerli ad alanını temsil eden bir IWbemServices nesnesinin işaretçisi.

strUser
[in] Kullanıcı adı. Daha fazla bilgi için bkz . ConnectServerWmi işlevi.

strPassword
[in] Parola. Daha fazla bilgi için bkz . ConnectServerWmi işlevi.

strAuthority
[in] Kullanıcının etki alanı adı. Daha fazla bilgi için bkz . ConnectServerWmi işlevi.

Döndürülen değer

Bu işlev tarafından döndürülen aşağıdaki değerler WbemCli.h üst bilgi dosyasında tanımlanır veya bunları kodunuzda sabit olarak tanımlayabilirsiniz:

Sabit Değer Açıklama
WBEM_E_ACCESS_DENIED 0x80041003 Kullanıcının işlevin döndürebileceği bir veya daha fazla sınıfı görüntüleme izni yok.
WBEM_E_FAILED 0x80041001 Belirtilmemiş bir hata oluştu.
WBEM_E_INVALID_CLASS 0x80041010 strSuperClass Yok.
WBEM_E_INVALID_PARAMETER 0x80041008 Parametre geçerli değil.
WBEM_E_OUT_OF_MEMORY 0x80041006 İşlemi tamamlamak için yeterli bellek yok.
WBEM_E_SHUTTING_DOWN 0x80041033 WMI büyük olasılıkla durduruldu ve yeniden başlatıldı. ConnectServerWmi'yi yeniden arayın.
WBEM_E_TRANSPORT_FAILURE 0x80041015 Geçerli işlem ile WMI arasındaki uzak yordam çağrısı (RPC) bağlantısı başarısız oldu.
WBEM_S_NO_ERROR 0 İşlev çağrısı başarılı oldu.

Açıklamalar

Bu işlev bir çağrıyı IWbemServices::CreateClassEnum yöntemine sarmalar .

İşlev çağrısı başarısız olursa GetErrorInfo işlevini çağırarak ek hata bilgileri alabilirsiniz.

Gereksinimler

Platform: Bkz. Sistem Gereksinimleri.

Üstbilgi: WMINet_Utils.idl

.NET Framework Sürümleri: 4.7.2 sürümünden itibaren kullanılabilir

Ayrıca bkz.