Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im folgenden Codebeispiel wird die Behandlung neuer Anrufbenachrichtigungen veranschaulicht, z. B. suchen oder entsprechende Terminals zum Rendern der Medien erstellen. Dieses Beispiel ist ein Teil der Switch-Anweisung, den eine Anwendung für die Ereignisbehandlung implementieren muss. Der Code selbst kann in der Implementierung von ITTAPIEventNotification::Evententhalten sein, oder die Event-Methode kann eine Nachricht an einen Arbeitsthread senden, der den Switch enthält.
Bevor Sie dieses Codebeispiel verwenden, müssen Sie die Vorgänge in Initialisieren von TAPI-, Auswählen einer Adresseund Registrieren von Ereignissenausführen.
Außerdem müssen Sie die vorgänge ausführen, die in Select a Terminal following the retrieval of the ITBasicCallControl and ITAddress interface pointers.
Anmerkung
In diesem Beispiel wird die Fehlerüberprüfung nicht überprüft und für Produktionscode freigegeben.
// pEvent is an IDispatch pointer for the ITCallNotificationEvent interface of the
// call object created by TAPI, and is passed into the event handler by TAPI.
case TE_CALLNOTIFICATION:
{
// Get the ITCallNotification interface.
ITCallNotificationEvent * pNotify;
hr = pEvent->QueryInterface(
IID_ITCallNotificationEvent,
(void **)&pNotify
);
// If ( hr != S_OK ) process the error here.
// Get the ITCallInfo interface.
ITCallInfo * pCallInfo;
hr = pNotify->get_Call( &pCallInfo);
// If ( hr != S_OK ) process the error here.
// Get the ITBasicCallControl interface.
ITBasicCallControl * pBasicCall;
hr = pCallInfo->QueryInterface(
IID_ITBasicCallControl,
(void**)&pBasicCall
);
// If ( hr != S_OK ) process the error here.
// Get the ITAddress interface.
ITAddress * pAddress;
hr = pCallInfo->get_Address( &pAddress );
// If ( hr != S_OK ) process the error here.
// Create the required terminals for this call.
{
// See the Select a Terminal code example.
}
// Complete incoming call processing.
hr = pBasicCall->Answer();
// If ( hr != S_OK ) process the error here.
}
Verwandte Themen