code: def _GetFileByPath(self, key_path_upper):
      
      # TODO: handle HKEY_USERS in both 9X and NT.
  
      key_path_prefix, registry_file = self._GetCachedFileByPath(key_path_upper)
      if not registry_file:
        for mapping in self._GetFileMappingsByPath(key_path_upper):
          try:
            registry_file = self._OpenFile(mapping.windows_path)
          except IOError:
            registry_file = None
  
          if not registry_file:
            continue
  
          if not key_path_prefix:
            key_path_prefix = mapping.key_path_prefix
  
          self.MapFile(key_path_prefix, registry_file)
          key_path_prefix = key_path_prefix.upper()
          break
  
      return key_path_prefix, registry_file
docs: Retrieves a Windows Registry file for a specific path.
  
      Args:
        key_path_upper (str): Windows Registry key path, in upper case with
            a resolved root key alias.
  
      Returns:
        tuple: consists:
  
          str: upper case key path prefix
          WinRegistryFile: corresponding Windows Registry file or None if not
              available.