Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee voert u een query uit om gebeurtenissen te ontvangen. De oproep wordt onmiddellijk geretourneerd en de aanroeper kan de geretourneerde enumerator peilen naar gebeurtenissen wanneer deze binnenkomen. Als u de geretourneerde enumerator vrijgeeft, wordt de query geannuleerd.
Notitie
Deze API is alleen voor intern gebruik. Het is niet bedoeld voor gebruik vanuit code voor ontwikkelaars.
Syntaxis
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
);
Parameters
strQueryLanguage
[in] Een tekenreeks met de geldige querytaal die wordt ondersteund door Windows Management. Dit moet 'WQL' zijn, het acroniem voor WMI-querytaal.
strQuery
[in] De tekst van de query. Deze parameter mag niet zijn null.
lFlags
[in] Een combinatie van de volgende twee vlaggen die van invloed zijn op het gedrag van deze functie. Deze waarden worden gedefinieerd in het headerbestand WbemCli.h of u kunt ze definiƫren als constanten in uw code.
| Constant | Waarde | Beschrijving |
|---|---|---|
WBEM_FLAG_RETURN_IMMEDIATELY |
0x10 | De vlag veroorzaakt een semisynchrone aanroep. Als deze vlag niet is ingesteld, mislukt de aanroep. Dit komt doordat gebeurtenissen continu worden ontvangen, wat betekent dat de gebruiker de geretourneerde enumerator moet peilen. Als u deze aanroep voor onbepaalde tijd blokkeert, is dat onmogelijk. |
WBEM_FLAG_FORWARD_ONLY |
0x20 | De functie retourneert een alleen-voorwaartse opsomming. Normaal gesproken zijn alleen-forward-enumerators sneller en gebruiken minder geheugen dan conventionele enumerators, maar ze staan geen aanroepen naar klonen toe. |
pCtx
[in] Deze waarde is nulldoorgaans . Anders is het een verwijzing naar een IWbemContext-exemplaar dat kan worden gebruikt door de provider die de aangevraagde gebeurtenissen levert.
ppEnum
[uit] Als er geen fout optreedt, ontvangt u de aanwijzer naar de enumerator waarmee de aanroeper de exemplaren in de resultatenset van de query kan ophalen. Zie de sectie Opmerkingen voor meer informatie.
authLevel
[in] Het autorisatieniveau.
impLevel
[in] Het imitatieniveau.
pCurrentNamespace
[in] Een aanwijzer naar een IWbemServices-object dat de huidige naamruimte vertegenwoordigt.
strUser
[in] De gebruikersnaam. Zie de functie ConnectServerWmi voor meer informatie.
strPassword
[in] Het wachtwoord. Zie de functie ConnectServerWmi voor meer informatie.
strAuthority
[in] De domeinnaam van de gebruiker. Zie de functie ConnectServerWmi voor meer informatie.
Retourwaarde
De volgende waarden die door deze functie worden geretourneerd, worden gedefinieerd in het headerbestand WbemCli.h , of u kunt ze definiƫren als constanten in uw code:
| Constant | Waarde | Beschrijving |
|---|---|---|
WBEM_E_ACCESS_DENIED |
0x80041003 | De gebruiker is niet gemachtigd om een of meer klassen weer te geven die door de functie kunnen worden geretourneerd. |
WBEM_E_FAILED |
0x80041001 | Er is een niet-opgegeven fout opgetreden. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Een parameter is ongeldig. |
WBEM_E_INVALID_CLASS |
0x80041010 | De query geeft een klasse op die niet bestaat. |
WBEMESS_E_REGISTRATION_TOO_PRECISE |
0x80042002 | Er is te veel precisie in de levering van gebeurtenissen gevraagd. Er moet een grotere pollingtolerantie worden opgegeven. |
WBEMESS_E_REGISTRATION_TOO_BROAD |
0x80042001 | De query vraagt om meer informatie dan Windows Management kan bieden. Dit HRESULT wordt geretourneerd wanneer een gebeurtenisquery resulteert in een aanvraag om alle objecten in een naamruimte te pollen. |
WBEM_E_INVALID_QUERY |
0x80041017 | Er is een syntaxisfout opgetreden in de query. |
WBEM_E_INVALID_QUERY_TYPE |
0x80041018 | De aangevraagde querytaal wordt niet ondersteund. |
WBEM_E_QUOTA_VIOLATION |
0x8004106c | De query is te complex. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | Er is onvoldoende geheugen beschikbaar om de bewerking te voltooien. |
WBEM_E_SHUTTING_DOWN |
0x80041033 | WMI is waarschijnlijk gestopt en opnieuw opgestart. Roep ConnectServerWmi opnieuw aan. |
WBEM_E_TRANSPORT_FAILURE |
0x80041015 | De RPC-koppeling (Remote Procedure Call) tussen het huidige proces en WMI is mislukt. |
WBEM_E_UNPARSABLE_QUERY |
0x80041058 | De query kan niet worden geparseerd. |
WBEM_S_NO_ERROR |
0 | De functie-aanroep is geslaagd. |
Opmerkingen
Deze functie verpakt een aanroep naar de methode IWbemServices::ExecNotificationQuery .
Nadat de functie is geretourneerd, geeft de aanroeper het geretourneerde ppEnum object periodiek door aan de functie Volgende om te zien of er gebeurtenissen beschikbaar zijn.
Er gelden limieten voor het aantal AND trefwoorden en OR dat kan worden gebruikt in WQL-query's. Grote aantallen WQL-trefwoorden die in een complexe query worden gebruikt, kunnen ertoe leiden dat WMI de WBEM_E_QUOTA_VIOLATION foutcode (of 0x8004106c) als een HRESULT waarde retourneert. De limiet van WQL-trefwoorden is afhankelijk van hoe complex de query is.
Als de functie-aanroep mislukt, kunt u aanvullende foutinformatie verkrijgen door de functie GetErrorInfo aan te roepen.
Vereisten
Platforms: Zie Systeemvereisten.
Header: WMINet_Utils.idl
.NET Framework versies: beschikbaar sinds 4.7.2