Chris January wrote:
On Fri, Dec 19, 2008 at 1:58 PM, Christian Franke wrote:(fhandler_registry::fill_filebuf): Use larger buffer to speed up access to HKEY_PERFORMANCE_DATA values. Remove check for possible subkey. Add RegCloseKey ().+ /* RegQueryValueEx () opens HKEY_PERFORMANCE_DATA. */ + RegCloseKey (handle); I'm slightly puzzled by this change. handle is usually closed in fhandler_register::close. If you close it here then won't CloseHandle be called with an invalid handle in that method?
fhandler_registry::close() closes only handles < HKEY_CLASSES_ROOT. Normally, it is not necessary to close predefined keys.
HKEY_PERFORMANCE_DATA is an exception: It has no subkeys and access to a value opens the predefined key. Therefore, the key is closed immediately after value access. Doing this in close() would require to pass a new 'key_is_open' flag from fill_filebuf().
Christian
