Setting a Time Range for a Query

If the data source is a log file, you can specify a time range for the query. The query retrieves counter data from the log file that was collected during the specified time range. To set the time range, call the PdhSetQueryTimeRange function. PdhSetQueryTimeRange is not used to query performance data from real time data sources.

To create time value, use the following steps.

  1. Allocate a SYSTEMTIME structure and initialize the fields with the desired time value.
  2. Call SystemTimeToFileTime to convert the SYSTEMTIME structure time value to a FILETIME structure time.
  3. Cast the FILETIME structure as a LONGLONG variable, keeping in mind the structure member padding conventions of your platform and compiler.
  4. Copy the LONGLONG value to the appropriate field in the PDH_TIME_INFO structure.

To retrieve the time range of all of the performance data contained in a log file, call the PdhGetDataSourceTimeRange function.