Здравствуйте, Аноним, Вы писали:
А>Есть две задачи.
А>1. Удалить заданый LSP из цепочки (задан путь к LSP).
А>2. Восстановить LSP в состояние принятое по умолчанию в ОС.
А>Подскажите с какой стороны к этому подойти, где это можно прочитать.
А>Буду благодарен за любую помощь.
Процесс инсталяции/анисталяции хорошо описан в книге Джонса и Оланда
"Программирование в сетях Windows".
Если коротко, то изначально есть только базовые поставщики. LSP устанавливается
поверх базовых, формируя таким образом цепочки поставщиков.
Информация об этих цепочках хранится в реестре, посмотреть которую можно например
с помощью sporder.exe (поставляется с SDK вроде).
Упрщенно, без установленных LSP вы увидите что-то такое:
...
...
MSAFD[Tcp/Ip]
MSAFD[Udp/Ip]
...
...
А после инсталяции, что-то такое
...
...
YourLSP/MSAFD[Tcp/Ip]
YourLSP/MSAFD[Udp/Ip]
MSAFD[Tcp/Ip]
MSAFD[Udp/Ip]
...
...
Стоит обратить внимание, что старые цепочки не удаляются, а только сдвигаются. Это сделано для
удобства анинсталяции, то есть ты должен удалить все цепочки, содержащие твои LSP ни о чем более
не задумываясь, так как автоматически первыми опять станут недавно отодвинутые.
То есть преподположим мы захотели установить вторую LSP, тогда будем иметь что-то такое
...
...
YourSecondLSP/YourLSP/MSAFD[Tcp/Ip]
YourSecondLSP/YourLSP/MSAFD[Udp/Ip]
YourLSP/MSAFD[Tcp/Ip]
YourLSP/MSAFD[Udp/Ip]
YourSecondLSP/MSAFD[Tcp/Ip]
YourSecondLSP/MSAFD[Udp/Ip]
MSAFD[Tcp/Ip]
MSAFD[Udp/Ip]
...
...
Затем, мы захотели удалить "YourLSP", тогда удаляем все цепочки, в которых она упомнается
и в результате получаем
YourSecondLSP/MSAFD[Tcp/Ip]
YourSecondLSP/MSAFD[Udp/Ip]
MSAFD[Tcp/Ip]
MSAFD[Udp/Ip]
Для этих всех делов используются WSC ф-ции:
WSCEnumProtocols, WSCInstallProvider, WSCWriteProviderOrder, WSCDeinstallProvider.
ЗЫ
Писал по памяти, надеюсь ничего не перепутал.