Freigeben über


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
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_POINTER
Mindestens eines der erforderlichen Argumente war ein NULL-Zeiger .
S_FALSE
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

Weitere Informationen

Auflisten von Geräten

Aufzählen von Diensten

IPortableDeviceManager-Schnittstelle