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