'Explicitly open a query:
When you are needing to make multiple calls to the same query,
it is most efficient to open the query, run all of the calls,
then close the query, instead of having the collectdata method
automatically open and close the query each time it runs.
There are currently no arguments to open.'

def open(self, *args, **namedargs):

    BaseQuery.open(*((self,) + args), **namedargs)
    paths = []
    for tup in self.volatilecounters:
        paths[len(paths):] = self.getinstpaths(*tup)
    for path in paths:
        try:
            self.counters.append(win32pdh.AddCounter(self._base, path))
            self.curpaths.append(path)
        except win32api.error:
            pass
