use*_*878 5 c++ windows winapi
我使用SetupDiGetClassDevs 函数-MSDN 从系统获取设备列表。
我还可以从设备获取供应商 ID 和产品 ID。
但我无法获取驱动器号和安装路径
例如,如果我插入 USB 驱动器意味着,我必须获得像“G:/”这样的驱动器号
请帮助我获取设备的驱动器号和安装路径
if (SetupDiEnumDeviceInterfaces(hDevInfo,
NULL,&GUID_DEVINTERFACE_USB_DEVICE,i,&Interface_Info))
{
wprintf(L"\tDeviccvcvcveInstanceId : %d\n", i);
pspdidd->cbSize = sizeof(*pspdidd);
SP_DEVICE_INTERFACE_DETAIL_DATA *pDetData = NULL;
DWORD dwDetDataSize = sizeof (SP_DEVICE_INTERFACE_DETAIL_DATA) + 256;
pDetData = (SP_DEVICE_INTERFACE_DETAIL_DATA*) malloc (dwDetDataSize);
pDetData->cbSize = sizeof (SP_DEVICE_INTERFACE_DETAIL_DATA);
SetupDiGetDeviceInterfaceDetail(hDevInfo,&Interface_Info,pDetData,dwDetDataSize,
NULL,&DeviceInfoData);
qDebug ()<<QString::fromWCharArray( pDetData->DevicePath );
}
Run Code Online (Sandbox Code Playgroud)
您可以使用QueryDosDevice函数(请参阅http://msdn.microsoft.com/en-us/library/aa365461(VS.85).aspx)。有关代码示例,请参阅http://msdn.microsoft.com/en-us/library/cc542456(VS.85).aspx 。