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.
Olayları almak için bir sorgu yürütür. Çağrı hemen döndürür ve çağıran gelen olaylar için döndürülen numaralandırıcıyı yoklayabilir. Döndürülen numaralandırıcının serbest bırakılması sorguyu iptal eder.
Not
Bu API yalnızca iç kullanıma yöneliktir. Geliştirici kodundan kullanılmak üzere tasarlanmamıştır.
Sözdizimi
HRESULT ExecNotificationQueryWmi (
[in] BSTR strQueryLanguage,
[in] BSTR strQuery,
[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
strQueryLanguage
[in] Windows Yönetimi tarafından desteklenen geçerli sorgu diline sahip bir dize. Wmi Sorgu Dili kısaltması olan "WQL" olmalıdır.
strQuery
[in] Sorgu metni. Bu parametre olamaz null.
lFlags
[in] Bu işlevin davranışını etkileyen aşağıdaki iki bayrağın birleşimi. Bu 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_RETURN_IMMEDIATELY |
0x10 | bayrağı yarı zaman uyumsuz bir çağrıya neden olur. Bu bayrak ayarlanmadıysa, çağrı başarısız olur. Bunun nedeni olayların sürekli olarak alınmasıdır; bu da kullanıcının döndürülen numaralandırıcıyı yoklaması gerektiği anlamına gelir. Bu çağrıyı süresiz olarak engellemek bunu imkansız hale getirir. |
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. |
pCtx
[in] Genellikle, bu değer şeklindedir null. Aksi takdirde, istenen olayları sağlayan sağlayıcı tarafından kullanılabilecek bir IWbemContext örneğine yönelik bir işaretçidir.
ppEnum
[out] Hata oluşmazsa, çağıranın sorgunun sonuç kümesindeki örnekleri almasını sağlayan numaralandırıcının işaretçisini alır. Daha fazla bilgi için Açıklamalar bölümüne bakın.
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_PARAMETER |
0x80041008 | Parametre geçerli değil. |
WBEM_E_INVALID_CLASS |
0x80041010 | Sorgu, var olmayan bir sınıf belirtir. |
WBEMESS_E_REGISTRATION_TOO_PRECISE |
0x80042002 | Olayların tesliminde çok fazla duyarlık istendi. Daha büyük bir yoklama toleransı belirtilmelidir. |
WBEMESS_E_REGISTRATION_TOO_BROAD |
0x80042001 | Sorgu, Windows Yönetimi'nin sağlayabileceklerinden daha fazla bilgi istemektedir. Bu HRESULT , bir olay sorgusu bir ad alanındaki tüm nesneleri yoklama isteğiyle sonuçlandığında döndürülür. |
WBEM_E_INVALID_QUERY |
0x80041017 | Sorguda söz dizimi hatası vardı. |
WBEM_E_INVALID_QUERY_TYPE |
0x80041018 | İstenen sorgu dili desteklenmiyor. |
WBEM_E_QUOTA_VIOLATION |
0x8004106c | Sorgu çok karmaşık. |
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_E_UNPARSABLE_QUERY |
0x80041058 | Sorgu ayrıştırılamıyor. |
WBEM_S_NO_ERROR |
0 | İşlev çağrısı başarılı oldu. |
Açıklamalar
Bu işlev IWbemServices::ExecNotificationQuery yöntemine bir çağrı sarmalar.
İşlev döndürdükten sonra çağıran, herhangi bir olayın kullanılabilir olup olmadığını görmek için döndürülen ppEnum nesneyi düzenli aralıklarla Sonraki işlevine geçirir.
WQL sorgularında kullanılabilecek ve OR anahtar sözcük sayısının AND sınırları vardır. Karmaşık bir sorguda kullanılan çok sayıda WQL anahtar sözcüğü WMI'nın (veya 0x8004106c) hata kodunu değer HRESULT olarak döndürmesine WBEM_E_QUOTA_VIOLATION neden olabilir. WQL anahtar sözcüklerinin sınırı, sorgunun ne kadar karmaşık olduğuna bağlıdır.
İş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