ITAutomatedPhoneControl::SelectCall-Methode (tapi3if.h)
Die SelectCall-Methode wählt das aktuelle Telefonobjekt im Call-Objekt aus, auf das der pCall-Parameter verweist.
Syntax
HRESULT SelectCall(
[in] ITCallInfo *pCall,
[in] VARIANT_BOOL fSelectDefaultTerminals
);
Parameter
[in] pCall
Zeiger auf die ITCallInfo-Schnittstelle .
[in] fSelectDefaultTerminals
Wenn VARIANT_TRUE, verwenden Sie Standardterminals. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Rückgabewert
Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlerwert zurückgegeben.
Hinweise
Die Anwendung muss sowohl für den Anruf als auch für das Telefon über Besitzerrechte verfügen, damit diese Methode erfolgreich ist. Wenn das Telefon noch nicht mit Besitzerberechtigungen geöffnet ist, schlägt diese Methode fehl.
Wenn der Parameter fSelectDefaultTerminals auf VARIANT_TRUE festgelegt ist, ruft diese Methode alle Standardterminals ab, die dem Telefon zugeordnet sind, und versucht, sie beim Anruf auszuwählen. Wenn die Instanziierung eines der Terminals fehlschlägt oder wenn die Auswahl eines der Terminals für den Anruf fehlschlägt, gibt die gesamte SelectCall-Methode einen Fehler zurück, und der Anruf wird auf dem Telefon nicht ausgewählt. Wenn dies nicht das erforderliche Verhalten für eine Anwendung ist, sollte die Anwendung VARIANT_FALSE für den fSelectDefaultTerminals-Parameter übergeben und die Terminalauswahl separat behandeln.
Nach erfolgreichem Abschluss dieser Methode behält das phone-Objekt einen Verweis auf das Aufrufobjekt (d. a. es ruft die AddRef-Methode auf ITCallInfo auf).
Für Windows XP kann jeweils nur ein Anruf auf einem Telefon ausgewählt werden. Zukünftige Versionen von TAPI unterstützen möglicherweise die gleichzeitige Auswahl mehrerer Anrufe für die Verwendung mit Telefonen, die mehrere Anrufdarstellungen unterstützen.
Beachten Sie, dass ein Anruf auf zwei Arten deaktiviert werden kann: (1) die Anwendung kann ITAutomatedPhoneControl::UnselectCall aufrufen, oder (2) das Telefonobjekt selbst kann ITAutomatedPhoneControl::UnselectCall aufrufen. Informationen dazu, wann dies geschieht, finden Sie in der folgenden Liste.
Nachdem diese Methode erfolgreich abgeschlossen wurde, wird die folgende Behandlung für den ausgewählten Aufruf ausgeführt:
- Wenn das Telefon eingeschaltet wird, ruft das telefonobjekt ITBasicCallControl::D isconnect bei jedem derzeit verarbeiteten Anruf auf, der sich noch nicht im CS_DISCONNECTED Anrufzustand befindet.
- Wenn ein ausgewählter Anruf den CS_DISCONNECTED Anrufstatus erreicht, hebt das Telefonobjekt die Auswahl des Anrufs mithilfe der ITAutomatedPhoneControl::UnselectCall-Methode automatisch auf .
- Wenn das Telefon geschlossen wird, wird jeder ausgewählte Anruf von diesem Telefon automatisch deaktiviert.
- Wenn das Telefon ausgeschaltet wird oder ein Anruf ausgewählt wird, wenn das Telefon offhook ist, ruft das Telefonobjekt ITBasicCallControl::Answer für den derzeit behandelten Anruf an, wenn es sich im CS_OFFERING Anrufzustand befindet.
- Das Telefonobjekt ruft ITAutomatedPhoneControl::StartTone( PT_RINGBACK, 0 ) selbst auf, wenn ein Anruf im CS_INPROGRESS Anrufzustand ausgewählt ist und das Telefon offhook ist, oder wenn ein auf dem Telefon ausgewählter Anruf in den CS_INPROGRESS Anrufzustand wechselt und das Telefon offhook ist.
- Das Telefonobjekt ruft ITAutomatedPhoneControl::StopTone selbst auf, wenn ein Anruf im CS_CONNECTED Anrufstatus ausgewählt ist oder wenn ein auf dem Telefon ausgewählter Anruf in den CS_CONNECTED Anrufzustand wechselt.
- Das Telefonobjekt ruft ITAutomatedPhoneControl::StartRinger( 0, 0 ) auf sich selbst auf, wenn ein Anruf im CS_OFFERING, CS_INPROGRESS oder CS_CONNECTED Anrufzustand ausgewählt ist und das Telefon onhook ist. Dies tritt auch auf, wenn ein auf dem Telefon ausgewählter Anruf in den CS_OFFERING, CS_INPROGRESS oder CS_CONNECTED Anrufzustand wechselt und das Telefon onhook ist.
- Wenn das Telefon onhook ist, ruft das Telefonobjekt ITAutomatedPhoneControl::StopRinger auf sich selbst auf.
- Wenn das Telefon offhook ist und das CS_DISCONNECTED Anrufzustandsereignis gleich CEC_DISCONNECT_BUSY hat, ruft das Telefonobjekt ITAutomatedPhoneControl::StartTone( PT_BUSY, 0 ) auf.
- Wenn das Telefon offhook ist und das CS_DISCONNECTED Anrufzustandsereignis gleich CEC_DISCONNECT_NORMAL hat, ruft das Telefonobjekt ITAutomatedPhoneControl::StopTone auf.
- Wenn das Telefon offhook ist und das CS_DISCONNECTED Anrufzustandsereignis weder CEC_DISCONNECT_BUSY noch CEC_DISCONNECT_NORMAL verursacht, ruft das Telefonobjekt ITAutomatedPhoneControl::StartTone( PT_ERROR, 0 ) auf.
Anforderungen
Zielplattform | Windows |
Kopfzeile | tapi3if.h (Tapi3.h einschließen) |
Bibliothek | Uuid.lib |
DLL | Tapi3.dll |