Share via


Metodo IAudioEndpointVolume::UnregisterControlChangeNotify (endpointvolume.h)

Il metodo UnregisterControlChangeNotify elimina la registrazione dell'interfaccia di callback di notifica di un client registrata in una chiamata precedente al metodo IAudioEndpointVolume::RegisterControlChangeNotify .

Sintassi

HRESULT UnregisterControlChangeNotify(
  [in] IAudioEndpointVolumeCallback *pNotify
);

Parametri

[in] pNotify

Puntatore all'interfaccia IAudioEndpointVolumeCallback del client. Il client ha passato questo stesso puntatore dell'interfaccia all'oggetto volume dell'endpoint in una chiamata precedente al metodo IAudioEndpointVolume::RegisterControlChangeNotify . Se il metodo UnregisterControlChangeNotify ha esito positivo, chiama il metodo Release nell'interfaccia IAudioEndpointVolumeCallback del client.

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 pNotify è NULL.

Commenti

Prima che il client rilasci il riferimento finale all'interfaccia IAudioEndpointVolumeCallback , deve chiamare UnregisterControlChangeNotify per annullare la registrazione dell'interfaccia. In caso contrario, l'applicazione perde le risorse mantenute dagli oggetti IAudioEndpointVolumeCallback e IAudioEndpointVolume. Si noti che il metodo IAudioEndpointVolume::RegisterControlChangeNotify chiama il metodo IAudioEndpointVolumeCallback::AddRef e UnregisterControlChangeNotify chiama il metodo IAudioEndpointVolumeCallback::Release . Se il client esegue l'errore rilasciando il relativo riferimento all'interfaccia IAudioEndpointVolumeCallback prima di chiamare UnregisterControlChangeNotify, l'oggetto IAudioEndpointVolume non rilascia mai il riferimento all'interfaccia IAudioEndpointVolumeCallback . Ad esempio, un'implementazione IAudioEndpointVolumeCallback non progettata correttamente potrebbe chiamare UnregisterControlChangeNotify dal distruttore per l'oggetto IAudioEndpointVolumeCallback . In questo caso, il client non chiamerà UnregisterControlChangeNotify finché l'oggetto IAudioEndpointVolume rilascia il riferimento all'interfaccia IAudioEndpointVolumeCallback e l'oggetto IAudioEndpointVolume non rilascia il relativo riferimento all'interfaccia IAudioEndpointVolumeCallback finché il client chiama UnregisterControlChangeNotify. Per altre informazioni sui metodi AddRef e Release , vedere la discussione sull'interfaccia IUnknown nella documentazione di Windows SDK.

Per un esempio di codice che chiama UnregisterControlChangeNotify, vedere Controlli volume endpoint.

Requisiti

   
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione endpointvolume.h

Vedi anche

Interfaccia IAudioEndpointVolume

IAudioEndpointVolume::RegisterControlChangeNotify

Interfaccia IAudioEndpointVolumeCallback