docs: def list_directories_and_files(self, share_name, directory_name=None,
                                     num_results=None, marker=None, timeout=None,
                                     prefix=None):
  
          '''
          Returns a generator to list the directories and files under the specified share.
          The generator will lazily follow the continuation tokens returned by
          the service and stop when all directories and files have been returned or
          num_results is reached.
  
          If num_results is specified and the share has more than that number of 
          files and directories, the generator will have a populated next_marker 
          field once it finishes. This marker can be used to create a new generator 
          if more results are desired.
  
          :param str share_name:
              Name of existing share.
          :param str directory_name:
              The path to the directory.
          :param int num_results:
              Specifies the maximum number of files to return,
              including all directory elements. If the request does not specify
              num_results or specifies a value greater than 5,000, the server will
              return up to 5,000 items. Setting num_results to a value less than
              or equal to zero results in error response code 400 (Bad Request).
          :param str marker:
              An opaque continuation token. This value can be retrieved from the 
              next_marker field of a previous generator object if num_results was 
              specified and that generator has finished enumerating results. If 
              specified, this generator will begin returning results from the point 
              where the previous generator stopped.
          :param int timeout:
              The timeout parameter is expressed in seconds.
          :param str prefix:
              List only the files and/or directories with the given prefix.
          '''
          operation_context = _OperationContext(location_lock=True)
          args = (share_name, directory_name)
          kwargs = {'marker': marker, 'max_results': num_results, 'timeout': timeout,
                    '_context': operation_context, 'prefix': prefix}
  
          resp = self._list_directories_and_files(*args, **kwargs)
  
          return ListGenerator(resp, self._list_directories_and_files, args, kwargs)