code: def _ParseValueData(self, knowledge_base, value_data):
      
      if not isinstance(value_data, py2to3.UNICODE_TYPE):
        raise errors.PreProcessFail(
            'Unsupported Windows Registry value type: {0:s} for '
            'artifact: {1:s}.'.format(
                type(value_data), self.ARTIFACT_DEFINITION_NAME))
  
      environment_variable = artifacts.EnvironmentVariableArtifact(
          case_sensitive=False, name=self._NAME, value=value_data)
  
      try:
        logger.debug('setting environment variable: {0:s} to: "{1:s}"'.format(
            self._NAME, value_data))
        knowledge_base.AddEnvironmentVariable(environment_variable)
      except KeyError:
        # TODO: add and store preprocessing errors.
        pass
docs: Parses Windows Registry value data for a preprocessing attribute.
  
      Args:
        knowledge_base (KnowledgeBase): to fill with preprocessing information.
        value_data (object): Windows Registry value data.
  
      Raises:
        errors.PreProcessFail: if the preprocessing fails.