Может кто-нибудь здесь, пожалуйста, дайте мне знать, как установить сторонние драйверы устройств программно, если предоставлены все необходимые файлы, то есть файл inf, .sys и т. д. В минимальная операционная система, на которой ДОЛЖНО работать это решение, - Windows2000.
Я попытался скопировать файл .inf
в папку Win Folder \ INF и файл sys
в папку Win \ system32 \ drivers, но каждый раз, когда подключаете устройство, окна
появляется пользовательский интерфейс «Найдено новое оборудование», которого я пытаюсь избежать.
Ниже показано то, что я пробовал, но функция возвращает ошибку 87 (параметр неверен)
.
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;
}
Спасибо.
]