Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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