AVZ 5. Руководство пользователя
×

16.39.3. function LoadRegParamToBuffer

function LoadRegParamToBuffer(ARoot, AName, AParam : string; ARedirMode : string = '') : boolean;
 
Выполняет загрузку в буфер сигнатурного анализатора параметра реестра именем AParam ключа AName в разделе ARoot.
 
Данная функция работает только для параметров типа REG_BINARY или REG_MULTI_SZ.
Указание несуществующего параметра, ключа или раздела, равно как попытка загрузки параметра, отличного по типу от REG_BINARY или REG_MULTI_SZ не является ошибкой - функция корректно отработает и вернет false.
 
Параметр ARedirMode является необязательным. Он управляет работой редиректора реестра конкретно в обход глобального режима редиректора, см. подробнее в разделе "Редиректор реестра". При отсутствии параметра используется текущее состояние редиректора.
 
Функция возвращает true  в случае успешной загрузки и false в случае ошибки. Узнать размер прочитанных данных можно при помощи функции GetBufferSize.
 
На заметку:
В случае любой ошибки при загрузке параметра в буфер сигнатурного сканера производится очистка буфера.
 
Совместимость: AVZ 5.81 и выше
 
Пример:
 
begin
  RegKeyBinParamWrite('HKCU', 'SOFTWARE\_Test', 'test_bin_val', '01,02,03,04,05,55,AA,FF');
  AddToLog('Read='+RegKeyBinParamRead('HKCU', 'SOFTWARE\_Test', 'test_bin_val'));
  if LoadRegParamToBuffer('HKCU', 'SOFTWARE\_Test', 'test_bin_val') then begin
    AddToLog('Сигнатурный поиск - параметр загружен, размер '+IntToStr(GetBufferSize));
    AddToLog('Поиск сигнатуры 03 03 04 = ' + IntToStr(SearchSign('03 03 04', 0,0)));
    AddToLog('Поиск сигнатуры 02 03 04 = ' + IntToStr(SearchSign('02 03 04', 0,0)));
    AddToLog('Поиск сигнатуры 03 ? ? 55 = ' + IntToStr(SearchSign('03 ? ? 55', 0,0)));
  end;
end.
 
В примере использовались: AddToLog, GetBufferSize, RegKeyBinParamRead, RegKeyBinParamWrite, SearchSign