Получить список установленных драйверов Mini Filter в Windows

Я хочу получить список установленных драйверов мини-фильтров в MS Windows, но не знаю, как это сделать.

Мой язык программирования Delphi (я также могу использовать C или C ++), может ли кто-нибудь помочь мне сделать это?

1

Решение

Следующий код перечисляет элементы, использующие реестр:

implementation

{$R *.dfm}

uses Registry;

procedure TForm17.Button1Click(Sender: TObject);
var
Reg: TRegistry;
count: integer;
i: integer;
Item: string;
AllOK: boolean;
begin
Reg:= TRegistry.Create(KEY_READ);
try
Reg.RootKey:= HKEY_LOCAL_MACHINE; //Note must set the base first.
//Then open rest of the subtree underneigh.
AllOK:= Reg.OpenKeyReadOnly('SYSTEM\CurrentControlSet\services\FltMgr\Enum');
if (AllOK) then begin
count:= Reg.ReadInteger('Count');
for i:= 0 to count - 1 do begin
Item:= Reg.ReadString(IntToStr(i));
Memo1.Lines.Add(Item);
end; {for}
end else {not(AllOK)} begin
Memo1.Lines.Add('SYSTEM\CurrentControlSet\services\FltMgr\Enum does not exist');
exit;
end;
finally
Reg.Free;
end;
end;

Возвращенные записи выглядят так: Root\LEGACY_FLTMGR\0000
Root это ссылка на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root,
Таким образом, вы можете получить всю информацию от: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_FLTMGR\0000,

Эта запись выглядит так:

введите описание изображения здесь

3

Другие решения

Мы можем использовать (например) следующие функции API в user-land для получения списка установленных драйверов Mini-Filter в MS Windows :-).

FilterFindFirst
FilterFindNext

для более подробной информации смотрите эту ссылку:
Функции приложения в мини-фильтре

1

По вопросам рекламы [email protected]