Aracılığıyla paylaş


PutClassWmi işlevi

Yeni bir sınıf oluşturur veya mevcut bir sınıfı güncelleştirir.

Not

Bu API yalnızca dahili kullanım içindir. Geliştirici kodundan kullanıma yönelik değildir.

Sözdizimi

HRESULT PutClassWmi (
   [in] IWbemClassObject*    pObject,
   [in] long                 lFlags,
   [in] IWbemContext*        pCtx,
   [out] IWbemCallResult**   ppCallResult
);

Parametreler

pObject
[in] Geçerli bir sınıf tanımının işaretçisi. Tüm gerekli özellik değerleriyle doğru şekilde başlatılmalıdı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, WMI değiştirilmiş aromaya sahip niteleyicileri depolamaz.
Ayarlanmadıysa, bu nesnenin yerelleştirilmediği ve tüm niteleyicilerin bu örnekle birlikte depolandığı varsayılır.
WBEM_FLAG_CREATE_OR_UPDATE 0 Yoksa sınıfını oluşturun veya zaten varsa üzerine yazın.
WBEM_FLAG_UPDATE_ONLY 1 sınıfını güncelleştirin. Çağrının başarılı olması için sınıfın mevcut olması gerekir.
WBEM_FLAG_CREATE_ONLY 2 sınıfını oluşturun. Sınıf zaten varsa çağrı başarısız olur.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 bayrağı, yarı zaman uyumsuz bir çağrıya neden olur.
WBEM_FLAG_OWNER_UPDATE 0x10000 Gönderme sağlayıcıları, bu sınıfın değiştiğini belirtmek için çağrılırken PutClassWmi bu bayrağı belirtmelidir.
WBEM_FLAG_UPDATE_COMPATIBLE 0 Türetilmiş sınıflar ve bu sınıfın örnekleri yoksa bir sınıfın güncelleştirilmesini sağlar. Ayrıca, değişiklik yalnızca Açıklama niteleyicisi gibi önemsiz niteleyiciler içinse her durumda güncelleştirmelere izin verir. Sınıfın örnekleri varsa veya önemli niteleyicilerde değişiklikler varsa, güncelleştirme başarısız olur.
WBEM_FLAG_UPDATE_SAFE_MODE 0x20 Değişiklik alt sınıflarla çakışmaya neden olmadığı sürece alt sınıflar olsa bile sınıfların güncelleştirilmesini sağlar. Örneğin, bu bayrak daha önce alt sınıfların hiçbirinde belirtilmeyen temel sınıfa yeni bir özellik eklenmesine izin verir. Sınıfın örnekleri varsa güncelleştirme başarısız olur.
WBEM_FLAG_UPDATE_FORCE_MODE 0x40 çakışan alt sınıflar mevcut olduğunda sınıfların güncelleştirmelerini zorlar. Örneğin, bir sınıf niteleyicisi bir alt sınıfta tanımlanırsa ve temel sınıf mevcut sınıfla çakişen aynı niteleyiciyi eklemeyi denerse, bu bayrak bir güncelleştirmeyi zorlar. Zorlama modunda, tis çakışması alt sınıfta çakışan niteleyici silinerek çözülür.

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ğinin işaretçisidir.

ppCallResult
[out] ise null, bu parametre kullanılmaz. içeriyorsa lFlagsWBEM_FLAG_RETURN_IMMEDIATELY, işlevi ile WBEM_S_NO_ERRORhemen döndürür. ppCallResult parametresi yeni bir IWbemCallResult nesnesinin işaretçisini alır.

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 sınıf oluşturma veya değiştirme izni yok.
WBEM_E_FAILED 0x80041001 Belirtilmemiş bir hata oluştu.
WBEM_E_INVALID_CLASS 0x80041010 Belirtilen sınıf geçerli değil. Bu genellikle pObject bir örnek nesnesini belirtir.
WBEM_E_INVALID_PARAMETER 0x80041008 Parametre geçerli değil.
WBEM_E_INVALID OPERATION 0x80041016 Belirtilen sınıf adı geçerli değil.
WBEM_E_CLASS_HAS_CHILDREN 0x80041025 Bir alt sınıfı geçersiz kılan bir değişiklik yapmaya çalışıldı.
WBEM_E_ALREADY_EXISTS 0x80041019 WBEM_FLAG_CREATE_ONLY Bayrağı belirtildi, ancak sınıfı zaten var.
WBEM_E_NOT_FOUND 0x80041002 WBEM_FLAG_UPDATE_ONLY içinde lFlagsbelirtildi ve sınıf bulunamadı.
WBEM_E_INCOMPLETE_CLASS 0x80041020 Sınıflar için gerekli özelliklerin tümü ayarlanmamıştır.
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 durdurulmuş ve yeniden başlatılmıştı. 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 , IWbemServices::P utClass yöntemine yapılan çağrıyı sarmalar .

Kullanıcı, alt çizgi karakteriyle başlayan veya biten adlara sahip sınıflar oluşturamayabilir.

İş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.