Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Lekérdezést hajt végre az események fogadásához. A hívás azonnal visszatér, és a hívó lekérdezheti a visszaadott enumerátort az események beérkezésekor. A visszaadott enumerátor feloldása megszakítja a lekérdezést.
Megjegyzés
Ez az API csak belső használatra készült. Nem fejlesztői kódból való használatra készült.
Szintaxis
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
);
Paraméterek
strQueryLanguage
[in] A Windows Management által támogatott érvényes lekérdezési nyelvvel rendelkező sztring. Ennek "WQL" betűszónak kell lennie, amely a WMI lekérdezési nyelvének rövidítése.
strQuery
[in] A lekérdezés szövege. Ez a paraméter nem lehet null.
lFlags
[in] Az alábbi két jelző kombinációja, amelyek befolyásolják a függvény működését. Ezek az értékek a WbemCli.h fejlécfájlban vannak definiálva, vagy konstansként definiálhatók a kódban.
| Állandó | Érték | Leírás |
|---|---|---|
WBEM_FLAG_RETURN_IMMEDIATELY |
0x10 | A jelző félszinkron hívást eredményez. Ha ez a jelző nincs beállítva, a hívás sikertelen lesz. Ennek az az oka, hogy az események folyamatosan érkeznek, ami azt jelenti, hogy a felhasználónak le kell kérdeznie a visszaadott enumerátort. A hívás határozatlan időre történő letiltása ezt lehetetlenné teszi. |
WBEM_FLAG_FORWARD_ONLY |
0x20 | A függvény csak előre megadott enumerátort ad vissza. A csak továbbítandó enumerátorok általában gyorsabbak, és kevesebb memóriát használnak, mint a hagyományos enumerátorok, de nem engedélyezik a Klónozás hívását. |
pCtx
[in] Ez az érték nulláltalában . Ellenkező esetben egy IWbemContext-példányra mutat, amelyet a kért eseményeket biztosító szolgáltató használhat.
ppEnum
[kifelé] Ha nem történik hiba, megkapja a mutatót az enumerátorhoz, amely lehetővé teszi, hogy a hívó lekérje a lekérdezés eredményhalmazában lévő példányokat. További információért tekintse meg a Megjegyzések szakaszt.
authLevel
[in] Az engedélyezési szint.
impLevel
[in] A megszemélyesítési szint.
pCurrentNamespace
[in] Az aktuális névteret képviselő IWbemServices-objektumra mutató mutató.
strUser
[in] A felhasználónév. További információt a ConnectServerWmi függvényben talál.
strPassword
[in] A jelszó. További információt a ConnectServerWmi függvényben talál.
strAuthority
[in] A felhasználó tartományneve. További információt a ConnectServerWmi függvényben talál.
Visszatérési érték
A függvény által visszaadott alábbi értékek a WbemCli.h fejlécfájlban vannak definiálva, vagy konstansként definiálhatók a kódban:
| Állandó | Érték | Leírás |
|---|---|---|
WBEM_E_ACCESS_DENIED |
0x80041003 | A felhasználónak nincs engedélye megtekinteni egy vagy több osztályt, amelyet a függvény vissza tud adni. |
WBEM_E_FAILED |
0x80041001 | Meghatározatlan hiba történt. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Érvénytelen paraméter. |
WBEM_E_INVALID_CLASS |
0x80041010 | A lekérdezés olyan osztályt határoz meg, amely nem létezik. |
WBEMESS_E_REGISTRATION_TOO_PRECISE |
0x80042002 | Túl nagy pontosságot kértek az események kézbesítésében. Nagyobb lekérdezési tűrést kell megadni. |
WBEMESS_E_REGISTRATION_TOO_BROAD |
0x80042001 | A lekérdezés több információt kér, mint amennyit a Windows Management megadhat. Ez HRESULT akkor jelenik meg, ha egy esemény-lekérdezés egy névtér összes objektumának lekérdezésére irányuló kérést eredményez. |
WBEM_E_INVALID_QUERY |
0x80041017 | A lekérdezés szintaxishibát észlelt. |
WBEM_E_INVALID_QUERY_TYPE |
0x80041018 | A kért lekérdezési nyelv nem támogatott. |
WBEM_E_QUOTA_VIOLATION |
0x8004106c | A lekérdezés túl összetett. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | Nincs elegendő memória a művelet végrehajtásához. |
WBEM_E_SHUTTING_DOWN |
0x80041033 | A WMI valószínűleg leállt, és újraindult. Hívja meg újra a ConnectServerWmi parancsot. |
WBEM_E_TRANSPORT_FAILURE |
0x80041015 | Az aktuális folyamat és a WMI közötti távoli eljáráshívási (RPC-) kapcsolat meghiúsult. |
WBEM_E_UNPARSABLE_QUERY |
0x80041058 | A lekérdezés nem elemezhető. |
WBEM_S_NO_ERROR |
0 | A függvényhívás sikeres volt. |
Megjegyzések
Ez a függvény becsomagolja az IWbemServices::ExecNotificationQuery metódus hívását .
A függvény visszaadása után a hívó rendszeres időközönként továbbítja a visszaadott ppEnum objektumot a Next függvénynek, hogy lássa, vannak-e elérhető események.
A WQL-lekérdezésekben használható kulcsszavak és OR kulcsszavak száma AND korlátozott. Az összetett lekérdezésekben használt nagy számú WQL-kulcsszó miatt a WMI értékként HRESULT adja vissza a WBEM_E_QUOTA_VIOLATION (vagy 0x8004106c) hibakódot. A WQL-kulcsszavak korlátja attól függ, hogy mennyire összetett a lekérdezés.
Ha a függvényhívás sikertelen, további hibainformációkat kaphat a GetErrorInfo függvény meghívásával.
Követelmények
Platformok: Lásd: Rendszerkövetelmények.
Fejléc: WMINet_Utils.idl
.NET-keretrendszer verziók: 4.7.2 óta érhető el