Может кто-нибудь здесь, пожалуйста, дайте мне знать, как программно установить сторонние драйверы устройств, если предоставлены все необходимые файлы, т.е. файл inf, .sys и т. д. Минимальная операционная система, в которой это решение ДОЛЖНО работать, — Windows2000.
Я попытался скопировать файл .inf
в папку Win Folder\INF и файл sys в папку Win\system32\drivers, но каждый раз при подключении устройства всплывает окно Found New Hardware user interface, чего я пытаюсь избежать.
Ниже то, что я пробовал, но функция возвращает error 87 (The parameter is incorrect)
.
HINF HInf;
UINT ErrorLine;
BOOL bRes = FALSE;
PBOOL FileWasInUse = FALSE;
LPCSTR szSourceFileName = _T("C:\\Drivers_HypercomP1320\\hypvcpusb.inf");
LPCSTR szInfFileName = _T("hypvcpusb.inf");
PVOID Context = NULL;
HInf = SetupOpenInfFile ( szSourceFileName, NULL, INF_STYLE_WIN4, &ErrorLine);
LPCSTR SourceFile = ("hypvcp.sys");
LPCSTR SourcePathRoot = _T("C:\\Drivers_HypercomP1320");
LPCSTR DestinationName = _T("C:\\WINDOWS\\system32\\drivers\\hypvcp.sys");
bRes = SetupInstallFileEx ( HInf, NULL, SourceFile, SourcePathRoot, DestinationName, SP_COPY_FORCE_IN_USE,
(PSP_FILE_CALLBACK)CopyMsgHandler, Context, FileWasInUse);
DWORD dwVal = GetLastError();
SetupCloseInfFile(HInf);
// Callback function
UINT CopyMsgHandler (UINT Context, UINT Notification,UINT_PTR Param1, UINT_PTR Param2)
{
UINT rtnValue = NO_ERROR;
return rtnValue;
}
Спасибо.