?
Hallo,
ich iteriere usb -Geräte, wenn ich auf eine storage class stoße, würde ich gern mehr Information über das Wechselmedium erlangen unter Verwendung des Pid und Vid das bei der Iteration hergelitten wurde.
Z.B Speicher größe und sonnstige Informationen:
Ich zähle die Geräte wie folgt auf:
pseudo:
HDEVINFO deviceInfoSet;
GUID *guidDev = (GUID*) &GUID_DEVCLASS_USB;
deviceInfoSet = SetupDiGetClassDevs(guidDev, NULL, NULL, DIGCF_PRESENT | DIGCF_PROFILE);
TCHAR buffer [4000];
DWORD buffersize =4000;
int memberIndex = 0;
int iterator = 0;
while (true)
{
SP_DEVINFO_DATA deviceInfoData;
ZeroMemory(&deviceInfoData, sizeof(SP_DEVINFO_DATA));
deviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
if(::SetupDiEnumDeviceInfo(deviceInfoSet, memberIndex, &deviceInfoData) == FALSE)
{
if (GetLastError() == ERROR_NO_MORE_ITEMS)
{
break;
}
}
DWORD nSize=0 ;
::SetupDiGetDeviceInstanceId(deviceInfoSet, &deviceInfoData, buffer, sizeof(buffer), &nSize);
buffer [nSize] ='\0';
}
Ich kann auch den Laufwerksbuchstaben herausbekommen, möchte aber Hardware
nahe Informationen erlangen wie z.B. Blockgröße und anderes. Die ich in MFC
Felder anzeige
Vielen Dank für Hinweise
K.