使用c ++安装驱动程序

时间:2010-06-27 18:05:39

标签: c++ dll driver

我正在尝试在用户后面安装驱动程序:

我创建了DLL,使用c ++调用SetupCopyOEMInf然后我从VB应用程序调用它:

C ++代码:

PBOOL bRebootRequired = false;
PCTSTR szInfFileName = (PCTSTR) "c:\\temp\\ttt\\Driver\\slabvcp.inf";

if(!SetupCopyOEMInf(szInfFileName,NULL, SPOST_PATH, SP_COPY_REPLACEONLY, NULL, 0, NULL, NULL)){;
DWORD dw = GetLastError(); 

LPVOID lpMsgBuf;
LPVOID lpDisplayBuf;

FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf,0, NULL );

MessageBox(NULL, (LPCTSTR)lpDisplayBuf, TEXT("Error"), MB_OK);

}

当我调用此函数时,我收到错误“系统找不到指定的文件。”

但我的文件路径是正确的。

1 个答案:

答案 0 :(得分:3)

PCTSTR szInfFileName = (PCTSTR) "c:\\temp\\ttt\\Driver\\slabvcp.inf";

演员 无法正常工作,它会将您的8位字符串转换为中文。修正:

PCTSTR szInfFileName = _T("c:\\temp\\ttt\\Driver\\slabvcp.inf");