Aracılığıyla paylaş


PutInstanceWmi işlevi

Mevcut bir sınıfın örneğini oluşturur veya güncelleştirir. Örnek WMI deposuna yazılır.

Uyarı

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

Sözdizimi

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

Parametreler

pInst
[in] Yazılacak örneğe ilişkin bir işaretçi.

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 Description
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 Ayarlanırsa WMI, herhangi bir niteleyiciyi Amended bu türde depolamaz.
Ayarlanmazsa, bu nesnenin yerelleştirilmediği ve tüm niteleyicilerin bu örnekle birlikte depolandığı varsayılır.
WBEM_FLAG_CREATE_OR_UPDATE 0 Yoksa örneği oluşturun veya zaten varsa üzerine yazın.
WBEM_FLAG_UPDATE_ONLY 1 Örneği güncelleştirin. Çağrının başarılı olması için örneğin mevcut olması gerekir.
WBEM_FLAG_CREATE_ONLY 2 Örneği oluşturun. Örnek zaten varsa çağrı başarısız olur.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 bayrağı, yarı zaman uyumsuz bir çağrıya neden olur.

pCtx
[in] Bu değer genellikle ş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.

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 nesnesine yönelik bir işaretçi alır.

Dönüş değeri

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 Description
WBEM_E_ACCESS_DENIED 0x80041003 Kullanıcının belirtilen sınıfın bir örneğini güncelleştirme izni yok.
WBEM_E_FAILED 0x80041001 Belirtilmeyen bir hata oluştu.
WBEM_E_INVALID_CLASS 0x80041010 Bu örneği destekleyen sınıf geçerli değil.
WBEM_E_ILLEGAL_NULL 0x80041028 , null veya niteleyicisi tarafından işaretlenmiş bir özellik gibi, olamayan nullbir IndexedNot_Null özellik için belirtildi.
WBEM_E_INVALID_OBJECT 0x8004100f Belirtilen örnek geçerli değil. (Örneğin, bir sınıfla çağırmak PutInstanceWmi bu değeri döndürür.)
WBEM_E_INVALID_PARAMETER 0x80041008 Parametre geçerli değil.
WBEM_E_ALREADY_EXISTS 0x80041019 WBEM_FLAG_CREATE_ONLY Bayrağı belirtildi, ancak örnek zaten var.
WBEM_E_NOT_FOUND 0x80041002 WBEM_FLAG_UPDATE_ONLY içinde lFlagsbelirtildi, ancak örnek yok.
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 utInstance yöntemine yapılan çağrıyı sarmalar.

işlevi yalnızca PutInstanceWmi mevcut sınıfların örneklerinin oluşturulmasını ve güncelleştirilmesini destekler. Parametrenin nasıl ayarlandıklarına pCtx bağlı olarak, örneğin özelliklerinin bazıları veya tümü güncelleştirilir.

tarafından işaret edilen pInst örnek bir alt sınıfa ait olduğunda, Windows Yönetimi alt sınıfın türetildiği sınıflardan sorumlu tüm sağlayıcıları çağırır. Özgün PutInstanceWmi isteğin başarılı olması için bu sağlayıcıların tümü başarılı olmalıdır. Hiyerarşide en üstteki sınıfı destekleyen sağlayıcı ilk olarak çağrılır. Çağrı sırası en üstteki sınıfın alt sınıfıyla devam eder ve Windows Yönetimi tarafından pInstişaret edilen örneğe sahip olan sınıfın sağlayıcısına ulaşana kadar yukarıdan aşağıya doğru devam eder. Windows Yönetimi, bir örneğin alt sınıflarından herhangi biri için sağlayıcıları çağırmaz.

Bir uygulamanın sınıf hiyerarşisine ait bir örneği güncelleştirmesi gerektiğinde, pInst parametresi değiştirilecek özellikleri içeren örneğe işaret etmelidir. Başka bir ifadeyle ClassB'ye ait bir hedef örneği düşünün. Örnek ClassA'danClassB türetilir ve ClassAPropA özelliğini tanımlar. Bir uygulama, örneğin değerinde PropAClassB değişiklik yapmak istiyorsa ClassA örneği yerine bu örneğe ayarlanmalıdırpInst.

Soyut sınıfın bir örneğinde çağrıya PutInstanceWmi izin verilmez.

İş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'den itibaren kullanılabilir

Ayrıca bakınız