parameters: (cls, context: interfaces.context.ContextInterface, symbol_table: str)
return_statement: return table_name
docstring: Returns the appropriate symbol_table containing a _POOL_HEADER type, even if the original symbol table
          doesn't contain one.
  
          Args:
              context: The context that the symbol tables does (or will) reside in
              symbol_table: The expected symbol_table to contain the _POOL_HEADER type
docstring_summary: Returns the appropriate symbol_table containing a _POOL_HEADER type, even if the original symbol table
          doesn't contain one.
docstring_tokens: Returns the appropriate symbol_table containing a _POOL_HEADER type even if the original symbol table doesn t contain one .
function: def get_pool_header_table(cls, context: interfaces.context.ContextInterface, symbol_table: str) -> str:
          """Returns the appropriate symbol_table containing a _POOL_HEADER type, even if the original symbol table
          doesn't contain one.
  
          Args:
              context: The context that the symbol tables does (or will) reside in
              symbol_table: The expected symbol_table to contain the _POOL_HEADER type
          """
          # Setup the pool header and offset differential
          try:
              context.symbol_space.get_type(symbol_table + constants.BANG + "_POOL_HEADER")
              table_name = symbol_table
          except exceptions.SymbolError:
              # We have to manually load a symbol table
  
              if symbols.symbol_table_is_64bit(context, symbol_table):
                  is_win_7 = versions.is_windows_7(context, symbol_table)
                  if is_win_7:
                      pool_header_json_filename = "poolheader-x64-win7"
                  else:
                      pool_header_json_filename = "poolheader-x64"
              else:
                  pool_header_json_filename = "poolheader-x86"
  
              # set the class_type to match the normal WindowsKernelIntermedSymbols
              is_vista_or_later = versions.is_vista_or_later(context, symbol_table)
              if is_vista_or_later:
                  class_type = extensions.pool.POOL_HEADER_VISTA
              else:
                  class_type = extensions.pool.POOL_HEADER
  
              table_name = intermed.IntermediateSymbolTable.create(context = context,
                                                                   config_path = configuration.path_join(
                                                                       context.symbol_space[symbol_table].config_path,
                                                                       "poolheader"),
                                                                   sub_path = "windows",
                                                                   filename = pool_header_json_filename,
                                                                   table_mapping = {'nt_symbols': symbol_table},
                                                                   class_types = {'_POOL_HEADER': class_type})
          return table_name
function_tokens: def get_pool_header_table ( cls , context : interfaces . context . ContextInterface , symbol_table : str ) -> str : # Setup the pool header and offset differential try : context . symbol_space . get_type ( symbol_table + constants . BANG + "_POOL_HEADER" ) table_name = symbol_table except exceptions . SymbolError : # We have to manually load a symbol table if symbols . symbol_table_is_64bit ( context , symbol_table ) : is_win_7 = versions . is_windows_7 ( context , symbol_table ) if is_win_7 : pool_header_json_filename = "poolheader-x64-win7" else : pool_header_json_filename = "poolheader-x64" else : pool_header_json_filename = "poolheader-x86" # set the class_type to match the normal WindowsKernelIntermedSymbols is_vista_or_later = versions . is_vista_or_later ( context , symbol_table ) if is_vista_or_later : class_type = extensions . pool . POOL_HEADER_VISTA else : class_type = extensions . pool . POOL_HEADER table_name = intermed . IntermediateSymbolTable . create ( context = context , config_path = configuration . path_join ( context . symbol_space [ symbol_table ] . config_path , "poolheader" ) , sub_path = "windows" , filename = pool_header_json_filename , table_mapping = { 'nt_symbols' : symbol_table } , class_types = { '_POOL_HEADER' : class_type } ) return table_name