|
QueryParser
This sample
demonstrates how to use the WMI Query Language (WQL) parser COM object. WMI providers that choose to implement query support
to optimize the retrieval of their instance data can use this object to parse
the various components of the WQL query submitted by a client application. Based upon the analysis of the query, the
provider can then decide if it will handle the query itself or let WMI itself
do so.
This application is a
console application meant to be run at the command line. In the interests of being an example and
educational, the code is designed to be easy to follow but does not necessarily
always do the error checking required for a product quality application.
Using the QueryParser Sample
The QueryParser
sample can be built from the command line using NMAKE, or it can be built using
Microsoft Visual C++.
From the command line
in the sample installation directory, type the following:
NMAKE /f “Makefile”
From Microsoft Visual
C++:
1.
Select File +
Open Workspace
2. Select the QueryParser.DSP file
Once built the QueryParser sample
application can be run from the command line in the sample installation directory:
QueryParser
The valid
syntax for QueryParser:
QueryParser
With no parameters, the usage message is printed out which will have
several sample queries.
General Notes
Things
to remember when you're building your own WMI client application:
1.
WMI interfaces are defined
in wmiutils.h found in the wmi\include
directory.
2.
WMI interface CLSIDs are defined in wbemuuid.lib.
If you get unresolved externals in interfaces and CLSIDs,
this is what is missing.
3.
You'll need to link with
oleaut32.lib and ole32.lib to get the needed COM support.
4. If you're using the makefiles, don't forget to set the Visual C++ environment variables. This is done by running VCVARS32.BAT.