Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In part 1 we obtained a list of available WPD devices (the device paths to be precise). In this part, we'll use this device path with the IPortableDeviceManager interface to get basic information about the device.
// cdwDevices contains the number of connected devices
// and also provides the length of ppszDeviceListArray
for (DWORD i = 0; i < cdwDevices; i++)
{
LPCWSTR pwszDevicePath = ppszDeviceListArray[i];
// These methods require caller-allocated buffers
const DWORD MAX_CHARS = 255;
WCHAR wszInfo[MAX_CHARS + 1] = {0};
printf("Device %d:\n", i + 1);
// Retrieve the device friendly name
hr = spDevMgr->GetDeviceFriendlyName(pwszDevicePath, wszInfo, MAX_CHARS);
if (hr == S_OK)
{
printf("\tFriendly Name: %ws\n", wszInfo);
}
// Retrieve the device description
hr = spDevMgr->GetDeviceDescription(pwszDevicePath, wszInfo, MAX_CHARS);
if (hr == S_OK)
{
printf("\tDescription: %ws\n", wszInfo);
}
// Retrieve the device manufacturer
hr = spDevMgr->GetDeviceManufacturer(pwszDevicePath, wszInfo, MAX_CHARS);
if (hr == S_OK)
{
printf("\tManufacturer: %ws\n", wszInfo);
}
}
IPortableDeviceManager also exposes a GetDeviceProperty method meant for use by device vendors that add additional properties on the device node via their INF.
[Thanks to CooperP for the stimulus to revive this blog :)]
Comments
- Anonymous
August 11, 2013
Great tutorial ! But, a device has many informations such as : Serial number , IMEI (mobile phone),kernel vesion ... So, how can I take these informations Thank,