Metodo IMMDeviceEnumerator::GetDevice (mmdeviceapi.h)

Il metodo GetDevice recupera un dispositivo endpoint audio identificato da una stringa ID endpoint.

Sintassi

HRESULT GetDevice(
  [in]  LPCWSTR   pwstrId,
  [out] IMMDevice **ppDevice
);

Parametri

[in] pwstrId

Puntatore a una stringa contenente l'ID dell'endpoint. Il chiamante ottiene in genere questa stringa dal metodo IMMDevice::GetId o da uno dei metodi nell'interfaccia IMMNotificationClient .

[out] ppDevice

Puntatore a una variabile puntatore in cui il metodo scrive l'indirizzo dell'interfaccia IMMDevice per il dispositivo specificato. Tramite questo metodo, il chiamante ottiene un riferimento conteggiato all'interfaccia. Il chiamante è responsabile del rilascio dell'interfaccia, quando non è più necessario, chiamando il metodo Release dell'interfaccia. Se la chiamata GetDevice ha esito negativo, *ppDevice è NULL.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, i codici restituiti possibili includono, ma non sono limitati a, i valori visualizzati nella tabella seguente.

Codice restituito Descrizione
E_POINTER
Il parametro pwstrId o ppDevice è NULL.
E_NOTFOUND
L'ID dispositivo non identifica un dispositivo audio presente in questo sistema.
E_OUTOFMEMORY
Memoria insufficiente.

Commenti

Se due programmi vengono eseguiti in due processi diversi e entrambi devono accedere allo stesso dispositivo endpoint audio, un programma non può semplicemente passare l'interfaccia IMMDevice del dispositivo all'altro programma. Tuttavia, i programmi possono accedere allo stesso dispositivo seguendo questa procedura:

  1. Il primo programma chiama il metodo IMMDevice::GetId nel primo processo per ottenere la stringa ID endpoint che identifica il dispositivo.
  2. Il primo programma passa la stringa ID endpoint attraverso il limite del processo al secondo programma.
  3. Per ottenere un riferimento all'interfaccia IMMDevice del dispositivo nel secondo processo, il secondo programma chiama GetDevice con la stringa ID endpoint.
Per altre informazioni sul metodo GetDevice , vedere gli argomenti seguenti: Per esempi di codice che usano il metodo GetDevice , vedere gli argomenti seguenti:

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mmdeviceapi.h

Vedi anche

Interfaccia IMMDevice

IMMDevice::GetId

Interfaccia IMMDeviceEnumerator

Interfaccia IMMNotificationClient