Форум программистов, компьютерный форум CyberForum.ru

Как програмно установить устрройство в системе Win9x/2000? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Передвижение экрана вслед за героем. Реализация. http://www.cyberforum.ru/cpp-beginners/thread482608.html
Короче говоря мне нужно зделать передвижение экрана вслед за героем.Типа как в Mario,как это зделать?? Может быть скроллинг?Если да то как?
C++ Различные задачи по C++ помогите пожалуйста написать эти задачи 1. Используйте условную операцию для нахождения большего из двух целых чисел. 2. Используйте условную операцию для нахождения меньшего из двух целых чисел. 3. Используйте условную операцию для нахождения абсолютного значения целого числа. http://www.cyberforum.ru/cpp-beginners/thread482598.html
C++ Нужно средствами api определить сеть к которой подключен пк
как средствами api определить сеть к которой подключен пк? Если можно, кодом. Заранее спасибо.
Как определить функции hashValue, isEqual, isLessThen? C++
Люди, кто подскажет буду очень благодарен!! Мне нужно сделать класс А, в pivate стек будет из элементов класса Б, так вот , чтоб все работало (встроенные фун-ии для stack- stack.h) , надо чтобы class B:public Sortable или Object , ведь так??! Вот как определить функции hashValue, isEqual, isLessThen, что это за функции???! и по какаму принципу тело писать?! И что за тип такой -...
C++ Запись из CBitmap в файл http://www.cyberforum.ru/cpp-beginners/thread482586.html
Помогите, плииз :-) Необходимо записать из объекта CBitmap в BMP файл...
C++ Как как корректно закрыть другую программу из своей? Подскажите плиз как корректно закрыть другую программу из своей которая после посылки ей сообщения SendMessage(hWnd1,WM_CLOSE,0,0); выводит диалог типа да+нет,а его обработать уже не получается. подробнее

Показать сообщение отдельно
DmitryR
Сообщений: n/a
16.02.2010, 12:16     Как програмно установить устрройство в системе Win9x/2000?
Вот не знаю уж где и копать - под 2000 - все просто зашибись. Под 98 - рушится при вызове SetupDiCreateDeviceInfo. GetLastError говорит что-то вроде Invalid data - очень млин содержательно... :-(

BOOL CInstall::InstallDriver(char *szName, char *szVersion, char *szURL)
{
// perform driver installation
HDEVINFO DeviceInfoSet = 0;
SP_DEVINFO_DATA DeviceInfoData;
GUID ClassGUID;
TCHAR ClassName[MAX_CLASS_NAME_LEN];
DWORD err;
SP_DEVINSTALL_PARAMS par;
SP_DRVINFO_DATA drvdata;
//
// Use the INF File to extract the Class GUID.
//
if (!SetupDiGetINFClass(szURL, &ClassGUID, ClassName,sizeof(ClassName),0))
{
return FALSE;
}

//
// Create the container for the to-be-created Device Information Element.
//
DeviceInfoSet = SetupDiCreateDeviceInfoList(&ClassGUID,0);
if(DeviceInfoSet == INVALID_HANDLE_VALUE)
{
return FALSE;
}

//
// Now create the element.
// Use the Class GUID and Name from the INF file.
//
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
if (!SetupDiCreateDeviceInfo(DeviceInfoSet,
ClassName,
&ClassGUID,
NULL,
0,
DICD_GENERATE_ID,
&DeviceInfoData))
{
goto cleanup_DeviceInfo;
}


if (!SetupDiRegisterDeviceInfo(DeviceInfoSet, &DeviceInfoData, 0, NULL, 0, NULL)){

goto cleanup_DeviceInfo;

}

par.cbSize = sizeof(par);
par.ClassInstallReserved = 0;
strcpy(par.DriverPath, szURL);
par.FileQueue = NULL;
par.Flags = DI_ENUMSINGLEINF|DI_COMPAT_FROM_CLASS | DI_QUIETINSTALL;
par.FlagsEx = 0;
par.hwndParent = NULL;
par.InstallMsgHandler = NULL;
par.InstallMsgHandlerContext = NULL;

if (!SetupDiSetDeviceInstallParams(DeviceInfoSet, &DeviceInfoData, &par)){

goto cleanup_DeviceInfo;

}

if (!SetupDiBuildDriverInfoList (DeviceInfoSet, &DeviceInfoData, SPDIT_CLASSDRIVER )){

goto cleanup_DeviceInfo;

}


drvdata.cbSize = sizeof(drvdata);
if(!SetupDiEnumDriverInfo(DeviceInfoSet, &DeviceInfoData, SPDIT_CLASSDRIVER ,
0, &drvdata)){

goto cleanup_DeviceInfo;

}

if(!SetupDiSetSelectedDriver (DeviceInfoSet, &DeviceInfoData, &drvdata)){

goto cleanup_DeviceInfo;

}

//
// Transform the registry element into an actual devnode
// in the PnP HW tree.
//
if (!SetupDiCallClassInstaller(DIF_INSTALLDEVICE,
DeviceInfoSet,
&DeviceInfoData))
{

goto cleanup_DeviceInfo;
}


//
// Cleanup.
//
cleanup_DeviceInfo:
err = GetLastError();
SetupDiDestroyDeviceInfoList(DeviceInfoSet);
SetLastError(err);

return TRUE;
}
 
Текущее время: 00:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru