code: def _ScanFileSystem(self, scan_node, base_path_specs):
      
      if not scan_node or not scan_node.path_spec:
        raise errors.ScannerError('Invalid or missing file system scan node.')
  
      file_system = resolver.Resolver.OpenFileSystem(scan_node.path_spec)
      if not file_system:
        return
  
      try:
        path_resolver = windows_path_resolver.WindowsPathResolver(
            file_system, scan_node.path_spec.parent)
  
        if self._ScanFileSystemForWindowsDirectory(path_resolver):
          base_path_specs.append(scan_node.path_spec)
  
      finally:
        file_system.Close()
docs: Scans a file system scan node for file systems.
  
      This method checks if the file system contains a known Windows directory.
  
      Args:
        scan_node (SourceScanNode): file system scan node.
        base_path_specs (list[PathSpec]): file system base path specifications.
  
      Raises:
        ScannerError: if the scan node is invalid.