Мне нужно идентифицировать каждую SD-карту и заблокировать или разрешить индивидуально использовать приложение MFC. Я пытался с PNP ID, но он не работает. Есть ли способ найти CID карты SD?
iRetValDeviceType = SetupDiGetDeviceRegistryProperty(hDevInfo, &DevInfoData, SPDRP_COMPATIBLEIDS, &dwDataTypeDeviceType, (PBYTE)pszBufferDeviceType, dwBuffSizeDeviceType, &dwBuffSizeDeviceType);
CM_Get_Device_ID(DevInfoData.DevInst,pzsBufferPnpId,MAX_PATH,0);
csPnpId = (CString)pzsBufferPnpId;
auto itSearch = NonStorageMap.find(csPnpId);
if(itSearch != NonStorageMap.end())
{
//pnp id found in map -->allow the device
}
else
{
if( (StrStrI(pszBufferDeviceType,"PCISTOR")) || (StrStrI(pszBufferDeviceType,"SD"))
{
//pnp id not found in map -->block the device
lRetVal = DisableDevice(&hDevInfo,&DevInfoData, DICS_STOP, bRebootRequired);//DICS_DISABLE
}
}
Задача ещё не решена.
Других решений пока нет …