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.
Végrehajt egy lekérdezést az objektumok lekéréséhez.
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 ExecQueryWmi (
[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] A függvény működését befolyásoló jelzők kombinációja. A WbemCli.h fejlécfájlban a következő értékek vannak definiálva, vagy konstansként definiálhatók a kódban:
| Állandó | Érték | Leírás |
|---|---|---|
WBEM_FLAG_USE_AMENDED_QUALIFIERS |
0x20000 | Ha be van állítva, a függvény lekéri az aktuális kapcsolat területi beállításának honosított névterében tárolt módosított minősítőket. Ha nincs beállítva, a függvény csak az azonnali névtérben tárolt minősítőket kéri le. |
WBEM_FLAG_RETURN_IMMEDIATELY |
0x10 | A jelző félszinkron hívást eredményez. |
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. |
WBEM_FLAG_BIDIRECTIONAL |
0 | A WMI mindaddig megőrzi az enumerálásban lévő objektumok mutatóit, amíg azok fel nem szabadulnak. |
WBEM_FLAG_ENSURE_LOCATABLE |
0x100 | Biztosítja, hogy a visszaadott objektumok elegendő információval rendelkezzenek, hogy a rendszertulajdonságok (például __PATH, __RELPATH és __SERVER) ne nulllegyenek . |
WBEM_FLAG_PROTOTYPE |
2 | Ezt a jelölőt prototípus-íráshoz használjuk. Nem hajtja végre a lekérdezést, hanem egy tipikus eredményobjektumnak tűnő objektumot ad vissza. |
WBEM_FLAG_DIRECT_READ |
0x200 | Közvetlen hozzáférést biztosít a szolgáltatóhoz a megadott osztályhoz, tekintet nélkül a szülőosztályára vagy alosztályára. |
Az ajánlott jelzők a WBEM_FLAG_RETURN_IMMEDIATELY és WBEM_FLAG_FORWARD_ONLY a legjobb teljesítmény érdekében.
pCtx
[in] Ez az érték nulláltalában . Ellenkező esetben ez egy IWbemContext-példányra mutató mutató, amelyet a kért osztályokat 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. A lekérdezés eredménye nulla példánnyal rendelkezhet. 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_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_NOT_FOUND |
0x80041002 | A lekérdezés olyan osztályt határoz meg, amely nem létezik. |
WBEM_S_NO_ERROR |
0 | A függvényhívás sikeres volt. |
Megjegyzések
Ez a függvény burkolja az IWbemServices::ExecQuery metódus hívását.
Ez a függvény feldolgozza a strQuery paraméterben megadott lekérdezést, és létrehoz egy enumerátort, amelyen keresztül a hívó hozzáférhet a lekérdezés eredményeihez. Az enumerátor egy IEnumWbemClassObject felületre mutató mutató; a lekérdezési eredmények az IWbemClassObject felületen elérhető osztályobjektumok példányai.
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