Condividi tramite


Metodo ITTAPI::RegisterCallNotifications (tapi3if.h)

Il metodo RegisterCallNotifications imposta le nuove notifiche di chiamata ricevute da un'applicazione. L'applicazione deve chiamare il metodo per ogni indirizzo, indicando il tipo di supporto o i tipi che può gestire e specificando i privilegi richiesti.

Un'applicazione che eseguirà solo chiamate in uscita non deve chiamare questo metodo.

L'interfaccia in uscita ITTAPIEventNotification deve essere registrata prima di chiamare questo metodo.

Se sono necessari entrambi i privilegi di proprietario e monitoraggio per un indirizzo, questo metodo deve essere chiamato una sola volta, con fMonitor e fOwner impostato su TRUE.

Sintassi

HRESULT RegisterCallNotifications(
  [in]  ITAddress    *pAddress,
  [in]  VARIANT_BOOL fMonitor,
  [in]  VARIANT_BOOL fOwner,
  [in]  long         lMediaTypes,
  [in]  long         lCallbackInstance,
  [out] long         *plRegister
);

Parametri

[in] pAddress

Puntatore all'interfaccia ITAddress .

[in] fMonitor

Valore booleano che indica se l'applicazione monitorerà le chiamate. VARIANT_TRUE indica che l'applicazione monitorerà le chiamate; VARIANT_FALSE che non lo farà.

[in] fOwner

Valore booleano che indica se l'applicazione possiede chiamate in ingresso. VARIANT_TRUE indica che l'applicazione possiede chiamate in ingresso; VARIANT_FALSE indica che non lo farà.

[in] lMediaTypes

Tipi di supporti che possono essere gestiti dall'applicazione.

[in] lCallbackInstance

Istanza di callback da usare dalla DLL TAPI 3. Può essere il valore gulAdvise restituito da IConnectionPoint::Consiglia durante la registrazione dell'interfaccia ITTAPIEventNotification in uscita.

[out] plRegister

In caso di esito positivo, il valore restituito utilizzato da ITTAPI::UnregisterNotifications.

Valore restituito

Questo metodo può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_POINTER
Il parametro plRegister non è un puntatore valido.
TAPI_E_NOT_INITIALIZED
L'oggetto TAPI non è stato inizializzato.
E_OUTOFMEMORY
Memoria insufficiente per eseguire l'operazione.

Commenti

Se vengono usate più chiamate di questo metodo su un indirizzo, le informazioni sulle chiamate dei partecipanti da un hub chiamate possono essere confuse se una chiamata già monitorata dall'applicazione viene distribuita.

Il metodo RegisterCallNotifications registra l'applicazione come interessato al monitoraggio delle chiamate o alla ricezione della proprietà delle chiamate che sono dei tipi di supporti specificati. Questi privilegi di chiamata vengono impostati nei parametri fMonitor e fOwner . Un'applicazione può specificare più flag per gestire più tipi di supporti. I conflitti possono verificarsi se più applicazioni registrano lo stesso indirizzo e tipo di supporto. Questi conflitti vengono risolti da uno schema di priorità in cui l'utente assegna priorità relative alle applicazioni. Gli utenti possono impostare le priorità dell'applicazione chiamando la funzione ITTAPI::SetApplicationPriority . Solo l'applicazione con priorità più alta per un determinato tipo di supporto riceverà la proprietà (non richiesta) di una chiamata di tale tipo di supporto. La proprietà può essere ricevuta quando arriva prima una chiamata in ingresso o quando viene consegnata una chiamata. Le funzioni ITBasicCallControl::HandoffDirect e ITBasicCallControl::HandoffIndirect vengono chiamate a distribuire la proprietà di una chiamata a un'altra applicazione. Se l'utente non assegna priorità all'applicazione e più applicazioni aprono lo stesso dispositivo linea, per impostazione predefinita, l'applicazione denominata RegisterCallNotifications avrà la priorità più alta.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione tapi3if.h (includere Tapi3.h)
Libreria Uuid.lib
DLL Tapi3.dll

Vedi anche

Panoramica degli eventi

ITCallNotificationEvent

ITTAPI

ITTAPIEventNotification

Registrare il frammento di codice eventi

Oggetto TAPI