установить драйвер с помощью c ++ - PullRequest
0 голосов
/ 27 июня 2010

Я пытаюсь установить драйвер за пользователем:

Я создал DLL, которая вызывает SetupCopyOEMInf с использованием c ++, затем я вызываю ее из приложения 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 Ответ

3 голосов
/ 28 июня 2010
PCTSTR szInfFileName = (PCTSTR) "c:\\temp\\ttt\\Driver\\slabvcp.inf";

Приведение не будет работать, оно превратит вашу 8-битную строку символов в китайский.Исправить:

PCTSTR szInfFileName = _T("c:\\temp\\ttt\\Driver\\slabvcp.inf");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...