TapiInfo
obj -> TapiInfo(int1, var var2) : int
Informationen zu einem Anruf ermitteln
Details
- obj: Call-ID oder Deskriptor des TAPI-Gerätetreibers
- int1:
- var2: angeforderte Information
- Resultat:
intFehlerwert - Siehe: Verwandte Befehle
Mit diesem Befehl werden Informationen zu einem TAPI-Objekt abgefragt. In (obj) wird die Call-ID des Anrufs übergeben. Die Call-ID wird bei dem Ereignis EvtTapi vom System übergeben. Das Ergebnis wird in (var2) zurückgegeben und ist vom Typ alpha.
Soll der Status ermittelt werden, muss an Stelle der Call-ID der Deskriptor des TAPI-Gerätes übergeben werden. Als (var2) muss der Deskriptor einer Cte-Liste übergeben werden.
In (int1) wird der Informationstyp angegeben. Folgende Konstanten können hier übergeben werden:
_TapiInfoCallerIDEs wird die Kennung (Rufnummer) des Anrufers ermittelt. Das Ergebnis entspricht der imEvtTapiübergebenen Nummer (aCallerID)._TapiInfoCallerIDNameEs wird der Name des Anrufers ermittelt._TapiInfoCalledIDEs wird die Kennung (Rufnummer) des angerufenen ermittelt. Das Ergebnis entspricht der im EvtTapi übergebenen Nummer (aCalledID)._TapiInfoCalledIDNameEs wird der Name des Angerufenen ermittelt._TapiInfoConnectedIDEs wird die Kennung (Rufnummer) des verbundenen Teilnehmers ermittelt. Die Abfrage ist erst nach erfolgreichem Zustandekommen einer Verbindung (_TapiCallStateConnected) sinnvoll._TapiInfoConnectedIDNameEs wird der Name des verbundenen Teilnehmers ermittelt. Die Abfrage ist erst nach erfolgreichem Zustandekommen einer Verbindung (_TapiCallStateConnected) sinnvoll._TapiInfoStatusSoll der Status eines mitTapiListen ()überwachten Gerätes abgefragt werden, muss der Deskriptor des Tapi-Gerätes als (obj) übergeben werden. Als (var2) muss der Deskriptor einer Cte-Liste übergeben werden. Die Liste ist nach dem Aufruf um ein Cte-Item pro Anwendung, die das gleiche TAPI-Gerät geöffnet hat, erweitert. Die in der Liste enthaltenen CteItem-Objekte haben die folgenden Eigenschaften: Die Eigenschaften können nur gelesen werden, lediglich die EigenschaftenName,CustomundIDkönnen gelesen und geschrieben werden. Wird der Typ (_HdlType) bzw. der Subtyp (_HdlSubType) des Deskriptors der Listen-Items mitHdlInfo ()ermittelt, wird_HdlTapibzw._TapiHdlStatusItemzurückgegeben.Name- Name der Anwendung, der z. B. zur Anzeige verwendet werden kann. Für CONZEPT 16 beinhaltet die Eigenschaft "CONZEPT 16 TAPI".Custom- Nicht vorbelegt. Die Eigenschaft kann verwendet werden.ID- Nicht vorbelegt. Die Eigenschaft kann verwendet werden.TapiNameComputer- Rechnername, auf dem die Anwendung läuft.TapiUserName- Name des Benutzers in dessen Kontext die Anwendung läuft.TapiModuleFilename- Name des Moduls der Anwendung (bei CONZEPT 16 "c16_objw.dll").TapiOwnerRequest- Gibt an, ob versucht wurde das TAPI-Gerät mit Besitzrechten zu öffnen (true) oder nicht (false).
Beispiel:
tDataListTapiApps # $dlTapiApps;
tStatusList # CteOpen(_CteList);
tError # Device->TapiInfo(_TapiInfoStatus, tStatusList);
if (tError = _ErrOk)
{
// Liste wurde um CteItem-Objekte erweitert
for tItem # tStatusList->CteRead(_CteFirst);
loop tItem # tStatusList->CteRead(_CteNext, tItem);
while (tItem != 0)
{
tLineNo # tDataListTapiApps->WinLstDatLineAdd(tItem->spName);
tDataListTapiApps->WinLstCellSet(tItem->spTapiNameComputer, 2, tLineNo);
tDataListTapiApps->WinLstCellSet(tItem->spTapiUserName, 3, tLineNo);
tDataListTapiApps->WinLstCellSet(tItem->spTapiModuleFilename, 4, tLineNo);
tDataListTapiApps->WinLstCellSet(tItem->spTapiOwnerRequest, 5, tLineNo);
}
tStatusList->CteClear(true);
tStatusList->CteClose();
}
Ob die Informationen ermittelt werden können, hängt davon ab, ob der TAPI-Treiber die Informationen zu Verfügung stellt. Hat der TAPI-Treiber die jeweiligen Informationen, dann ist zu beachten, dass diese vom Zustand des Anrufs abhängen. _TapiInfoConnectedID und _TapiInfoConnectedIDName sind z. B. nur im Zustand _TapiCallStateConnected vorhanden.
Der Rückgabewert ist ein Fehlerwert (_ErrTapi...) oder _ErrOk, wenn der Aufruf erfolgreich war. In diesem Fall kann (var2) jedoch trotzdem leer sein.
Mögliche Laufzeitfehler:
_ErrFldType: In (var2) wird der falsche Variablentyp übergeben._ErrValueInvalid: In (int1) wurde ein falscher Informationstyp angegeben._ErrHdlInvalid: Bei dem übergebenen Deskriptor (bei_TapiInfoStatus) handelt es sich nicht um ein Tapi-Gerät oder es ist keinTapiListen ()auf dem Tapi-Gerät aktiv.