Я создал драйвер и установил в com-порт. Когда я удалил драйвер, драйвер удаляется. Но когда я переустанавливаю те же драйверы, номер com-порта увеличивается (лежат COM1, COM2, ….. COMN). Я использовал WinAPI для удаления драйвера, ниже приведен код …..
HDEVINFO devs = NULL;
devs = SetupDiGetClassDevs(NULL,NULL,0, DIGCF_ALLCLASSES );
DWORD devCount = 0;
SP_DEVINFO_DATA devInfo;
int enumeratingDevices = 1;
/*This line is essential*/
DWORD dwSize, dwPropertyRegDataType;
TCHAR szDesc[MAX_STRING];
ZeroMemory(szDesc, sizeof(TCHAR) * MAX_STRING);
devInfo.cbSize = sizeof(SP_DEVINFO_DATA);
// Loop through the devices
for ( int i=0; SetupDiEnumDeviceInfo( devs , i , &devInfo) ; i++ )
{
//Here put some code to compare the our driver and uninstall the driver
SetupDiRemoveDevice(devs,&devInfo);
}
//Clean up
SetupDiDestroyDeviceInfoList(devs);
Просто хочу, чтобы при переустановке драйвера использовался тот же номер com порта, который в ранее удаленном?
Спасибо!
заменил метод SetupDiRemoveDevice (…, …) на SetupDiCallClassInstaller(DIF_REMOVE,devs,&devInfo);
Других решений пока нет …