RRE_Fill

главная

Функция RRE_Fill формирует буфер для замены на основании пользовательских данных и скомпилированном заранее "регулярном выражении для замены". Адрес буфера вы можете затем узнать при помощи RRE_GetBuffer.

int WINAPI RRE_Fill(
  CReplaceRegExp *rre,
  SMatch *Match,
  const DWORD TotalMatches,
  const BYTE *fromBuf,
  const WIN32_FIND_DATA *wfd,
  const char *Root,
  CMatchHash *mthsh,
  DWORD Reserved
);

Параметры

rre
Указатель на объект.
Match
Указатель на массив структур с информацией о совпавших скобках. Он заполняется в RE_Match (или RE_Search). Разрешено в качестве этого параметра передавать NULL, но в этом случае операторы подстановки групп ($0-$F) будут обработаны как пустые.
TotalMatches
Количество совпавших скобок в Match.
fromBuf
Указатель данные, которые подсовывались функции RE_Match (или RE_Search). Разрешено в качестве этого параметра передавать NULL, но в этом случае операторы подстановки групп ($0-$F) будут обработаны как пустые.
wfd
Указатель на структуру (описание ее смотрите в документации по win32 api) с информацией об обрабатываемом файле. Разрешено в качестве этого параметра передавать NULL, но в этом случае соответствующие операторы (\P, \F и прочие) будут обработаны как пустые.
Root
Имя стартового каталога, получаемое при помощи FS_GetRoot. Используется для вычисления относительных путей (оператор \P). Может быть NULL.
mthsh
Указатель на объект типа CMatchHash, содержащий информацию о совпавших поименованных скобках (эту информацию вы получаете в RE_Match или RE_Search). Может быть NULL.
Reserved
Зарезервировано для будущего использования. Должно быть 0.

Возвращаемое значение

Возвращается размер сформированного буфера для замены. В случае ошибки код ошибки записывается в SRWORKSTATUS.ExitCode (адрес этой структуры вы должны передать при создании объекта), поэтому проверяйте его после выполнения RRE_Fill.
Смотрите также:
Сервисные функции | RRE_Create | RRE_Delete | RRE_CheckLength | RRE_GetBuffer | RRE_SetCounter | RRE_GetCounter | RRE_SetExpr | RE_Match | RE_Search | FS_GetRoot | Hash_Create