Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

Документация
Функция htReadResults

htReadResults - Читать результаты поиска

Назначение

Функция предназначена для чтения в выделенный пользователем буфер результатов поиска. Доступ к результатам должен быть открыт.

Прототип:

unsigned HTAPI htReadResults(
  LPSAB 	fpSrc,	/* Адрес исходного БДС */
  void far 	*fpBuff,	/* Буфер для чтения данных */
  unsigned	wLen	/* Длина буфера */
 );

Параметры

fpSrc определяет адрес БДС, содержащего открытые результаты поиска
fpBuff определяет адрес буфера для чтения
wLen определяет размер буфера. В заданный буфер будет считано столько байтов результатов, сколько может поместиться в буфер или сколько осталось несчитанным, если буфер больше чем надо. Размер считанного, в любом случае, будет кратен длине элемента результата. Размер читаемого блока не может быть более MAX_BUF_LEN байтов

Результат

<= MAX_BUF_LEN число считанных байтов
число, большее MAX_BUF_LEN следует интерпретировать как число со знаком - код ошибки
0 Достигли коенц результатов

Пример.

Найти что-то и считать в буфер.

int		rc;
unsigned	read;
void far 	*buf;
SAB		sSet;
THANDLE		hTable;
buf = malloc( MAX_BUF_LEN );
 . . .
htSearch( NULL, &sSet, hTable, 0, GREAT, "\0\0\0", NULL );
 . . .
if( (rc=htOpenResults( &sSet, ROPEN_READ | ROPEN_BODY, NULL, 0 )) < 0 )
	/* Обработка ошибок */
 . . .
if( (read=htReadResults( &sSet, buf, MAX_BUF_LEN )) > MAX_BUF_LEN )
	/* Обработка ошибок */
 . . .
htCloseResults( &sSet );