Condividi tramite


Metodo IPortableDeviceManager::GetDevices (portabledeviceapi.h)

Recupera un elenco di dispositivi portatili connessi al computer.

Sintassi

HRESULT GetDevices(
  [in, out] LPWSTR *pPnPDeviceIDs,
  [in, out] DWORD  *pcPnPDeviceIDs
);

Parametri

[in, out] pPnPDeviceIDs

Matrice allocata dal chiamante di puntatori di stringa che contiene i nomi Plug and Play di tutti i dispositivi connessi. Per informazioni sulle dimensioni necessarie per questo parametro, chiamare prima questo metodo con questo parametro impostato su NULL e pcPnPDeviceIDs impostato su zero e quindi allocare un buffer in base al valore recuperato da pcPnPDeviceIDs. Questi nomi possono essere usati da IPortableDevice::Open per creare una connessione a un dispositivo.

[in, out] pcPnPDeviceIDs

In input, il numero di valori che pPnPDeviceID può contenere. In output, un puntatore al numero di dispositivi effettivamente scritti in pPnPDeviceID.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_POINTER
Almeno uno degli argomenti necessari è un puntatore NULL .
S_FALSE
Il buffer pPnPDeviceIDs è troppo piccolo per contenere tutti i valori richiesti, ma i valori pcPnPDeviceIDs sono stati scritti in pPnPDeviceIDs.

Commenti

L'elenco dei dispositivi viene generato quando viene creata un'istanza di Gestione dispositivi; non viene aggiornato come i dispositivi si connettono e si disconnetteno. Per aggiornare l'elenco dei dispositivi connessi, chiamare RefreshDeviceList.

L'API alloca la memoria per ogni stringa a cui punta la matrice pPnPDeviceIDs . Una volta che l'applicazione non necessita più di queste stringhe, deve scorrere questa matrice e liberare la memoria associata chiamando la funzione CoTaskMemFree .

Esempio

Per un esempio di come usare questo metodo per enumerare i dispositivi, vedere Enumerazione dei dispositivi. Per un esempio di come usare questo metodo per enumerare Servizi, vedere Enumerazione dei servizi.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione portabledeviceapi.h
Libreria PortableDeviceGUIDs.lib

Vedi anche

Enumerazione dei dispositivi

Enumerazione dei servizi

Interfaccia IPortableDeviceManager