[This is preliminary documentation and subject to change.]
The IWbemServices::ExecQuery method executes a query to retrieve objects, which are available through the returned enumerator. All query results are returned through the enumerator as IEnumWbemClassObject.
For the valid types of queries that can be performed, see Queries.
HRESULT IWbemServices::ExecQuery(
[in] BSTR bstrQueryLanguage,
[in] BSTR bstrQuery,
[in] LONG lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
If the query is very broad and involves many instance providers, it is not practical to include enough context information for all providers. In these cases, the parameter should be NULL.
WBEM_E_ACCESS_DENIED | The current user does not have permission to view the result set. |
WBEM_E_FAILED | Other unspecified errors. |
WBEM_E_INVALID_PARAMETER | An invalid parameter was specified, or the namespace could not be parsed. |
WBEM_E_INVALID_QUERY | The query was not syntactically valid. |
WBEM_E_INVALID_QUERY_LANGUAGE | The requested query language is not supported. |
WBEM_E_OUT_OF_MEMORY | There was not enough memory to complete the operation. |
WBEM_E_TRANSPORT_FAILURE | The communications link between the client and CIMOM has failed. |
WBEM_NO_ERROR | The call succeeded. |
On failure, you can obtain any available information from the COM function GetErrorInfo.
Error Objects, IWbemServices::ExecQueryAsync, Queries