IPortableDeviceManager::GetDevices-Methode (portabledeviceapi.h)
Ruft eine Liste der tragbaren Geräte ab, die mit dem Computer verbunden sind.
Syntax
HRESULT GetDevices(
[in, out] LPWSTR *pPnPDeviceIDs,
[in, out] DWORD *pcPnPDeviceIDs
);
Parameter
[in, out] pPnPDeviceIDs
Ein vom Aufrufer zugewiesenes Array von Zeichenfolgenzeigern, das die Plug & Play Namen aller verbundenen Geräte enthält. Um die erforderliche Größe für diesen Parameter zu ermitteln, rufen Sie zuerst diese Methode auf, wobei dieser Parameter auf NULL und pcPnPDeviceIDs auf Null festgelegt ist, und ordnen Sie dann einen Puffer gemäß dem von pcPnPDeviceIDs abgerufenen Wert zu. Diese Namen können von IPortableDevice::Open verwendet werden, um eine Verbindung mit einem Gerät herzustellen.
[in, out] pcPnPDeviceIDs
Bei der Eingabe die Anzahl der Werte, die pPnPDeviceIDs enthalten können. Bei der Ausgabe ein Zeiger auf die Anzahl der Tatsächlich in pPnPDeviceIDs geschriebenen Geräte.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Mindestens eines der erforderlichen Argumente war ein NULL-Zeiger . |
|
Der pPnPDeviceIDs-Puffer ist zu klein, um alle angeforderten Werte aufzunehmen, aber pcPnPDeviceIDs-Werte wurden in pPnPDeviceIDs geschrieben. |
Hinweise
Die Liste der Geräte wird generiert, wenn der Geräte-Manager instanziiert wird. Es wird nicht aktualisiert, wenn Geräte eine Verbindung herstellen und trennen. Um die Liste der verbundenen Geräte zu aktualisieren, rufen Sie RefreshDeviceList auf.
Die API weist den Arbeitsspeicher für jede Zeichenfolge zu, auf die das pPnPDeviceIDs-Array verweist. Sobald Ihre Anwendung diese Zeichenfolgen nicht mehr benötigt, muss sie dieses Array durchlaufen und den zugeordneten Arbeitsspeicher durch aufrufen der CoTaskMemFree-Funktion freigeben.
Beispiele
Ein Beispiel für die Verwendung dieser Methode zum Auflisten von Geräten finden Sie unter Auflisten von Geräten. Ein Beispiel für die Verwendung dieser Methode zum Auflisten von Diensten finden Sie unter Enumerating Services.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | portabledeviceapi.h |
Bibliothek | PortableDeviceGUIDs.lib |