Share via


Metodo IMMDeviceEnumerator::RegisterEndpointNotificationCallback (mmdeviceapi.h)

Il metodo RegisterEndpointNotificationCallback registra l'interfaccia di callback di notifica di un client.

Sintassi

HRESULT RegisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

Parametri

[in] pClient

Puntatore all'interfaccia IMMNotificationClient che il client sta registrando per i callback di notifica.

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.
E_OUTOFMEMORY
Memoria insufficiente.

Commenti

Questo metodo registra un'interfaccia IMMNotificationClient da chiamare dal sistema quando i ruoli, lo stato, l'esistenza o le proprietà di un dispositivo endpoint cambiano. Il chiamante implementa l'interfaccia IMMNotificationClient.

Quando le notifiche non sono più necessarie, il client può chiamare il metodo IMMDeviceEnumerator::UnregisterEndpointNotificationCallback per terminare le notifiche.

Il client deve assicurarsi che l'oggetto IMMNotificationClient non venga rilasciato dopo la chiamata RegisterEndpointNotificationCallback e prima di chiamare UnregisterEndpointNotificationCallback. Questi metodi non chiamano le implementazioni IMMNotificationClient::AddRef e IMMNotificationClient::Release. Il client è responsabile della gestione del conteggio dei riferimenti dell'oggetto IMMNotificationClient . Il client deve incrementare il conteggio se la chiamata RegisterEndpointNotificationCallback riesce e rilascia il riferimento finale solo dopo aver chiamato UnregisterEndpointNotificationCallback o implementare un altro meccanismo per assicurarsi che l'oggetto non venga eliminato prima che venga chiamato UnregisterEndpointNotificationCallback . In caso contrario, l'applicazione perde le risorse mantenute da IMMNotificationClient e qualsiasi altro oggetto implementato nello stesso contenitore.

Per altre informazioni sui metodi AddRef e Release, vedere la discussione sull'interfaccia IUnknown nella documentazione di Windows SDK.

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 IMMDeviceEnumerator

IMMDeviceEnumerator::UnregisterEndpointNotificationCallback

Interfaccia IMMNotificationClient