私のアプリケーションでは、コンピューターに接続されているすべてのMTP/PTPカメラのリストが必要です。次のコードを使用して、システム上のすべてのWPDデバイスのリストを生成しています。
...
hr = pPortableDeviceManager->GetDevices(pPnpDeviceIDs, &cPnPDeviceIDs);
if (SUCCEEDED(hr)) {
for (dwIndex = 0; dwIndex < cPnPDeviceIDs; dwIndex++) {
...
}
}
ただし、このリストには、カードリーダー、スキャナー、その他のデバイスも含まれます。それらのデバイスを除外する簡単な方法はありますか、それとも実際に各デバイスを開いてデバイスのプロパティなどを取得する必要がありますか?