使用INF文件c ++以编程方式安装驱动程序

new*_*ev1 5 c++ windows drivers

有人可以让我知道如何提供所有必需的文件,如inf文件,.sys等,以编程方式安装第三方设备驱动程序.这个解决方案应该最小的操作系统是Windows2000.

我尝试将.inf文件复制到Win Folder\INF文件夹,将sys文件复制到Win文件夹\ system32\drivers,但每次插入设备时,Windows弹出Found New Hardware用户界面,这是我想避免的.

下面是我尝试但功能返回的东西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;
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

Luk*_*uke 2

您可以使用InstallHinfSection