Я пытаюсь написать код C++, программно устанавливая легкий драйвер фильтра NDIS 6.0. Изучив WinDDK, онлайн-примеры и документацию MSDN, я остановился на приведенном ниже примере кода.
**************
hr = InstallSpecifiedComponent(
ModuleFileName,
L"MS_NdisLwf",
&GUID_DEVCLASS_NETSERVICE
);
**************
hr = HrInstallNetComponent(
pnc,
lpszPnpID,
pguidClass,
lpszInfFile
);
**************
if ( !SetupCopyOEMInfW(lpszInfFullPath,
DirWithDrive, // Other files are in the same dir.as primary INF
SPOST_PATH, // SPOST_NONE, //First param is path to INF
0, // Default copy style
NULL,// Name of the INF after it's copied to %windir%\inf
0, // Max buf. size for the above
NULL, // Required size if non-null
NULL) // Optionally get the filename part of Inf name
after it is copied.
)
{
----
}
***************
hr = HrInstallComponent( pnc,
lpszComponentId,
pguidClass );
***************
hr = pnc->QueryNetCfgClass ( pguidClass,
IID_INetCfgClassSetup,
(void**)&pncClassSetup );
if ( hr == S_OK ) {
wprintf(L"\n No Test\n");
hr = pncClassSetup->Install( szComponentId,
&OboToken,
0,
0, // Upgrade from build number.
NULL, // Answerfile name
NULL, // Answerfile section name
&pncc ); // Reference after the component
if ( S_OK == hr ) { ... } // is installed.
Путь с использованием INetCfgClassSetup::Install не работает.
Он использует путь по умолчанию в параметрах просмотра диска.
например: мой путь к файлу inf - C:\Users\Mani\Desktop\sagar\objchk_win7_x86\i386\netlwf.inf
но он запрашивает путь по умолчанию (1-я запись) в меню диска
д:\программное обеспечение\фильтр_драйвер
похоже на изображение ==> http://i.stack.imgur.com/tmyMX.png< /а>
Он всегда запрашивает один и тот же файл sys.
Что-то пропало?