TapiInfo
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:
-
Es wird die Kennung (Rufnummer) des Anrufers ermittelt. Das Ergebnis entspricht der im
EvtTapiübergebenen Nummer (aCallerID). -
Es wird der Name des Anrufers ermittelt.
-
Es wird die Kennung (Rufnummer) des angerufenen ermittelt. Das Ergebnis entspricht der im EvtTapi übergebenen Nummer (
aCalledID). -
Es wird der Name des Angerufenen ermittelt.
-
Es wird die Kennung (Rufnummer) des verbundenen Teilnehmers ermittelt. Die Abfrage ist erst nach erfolgreichem Zustandekommen einer Verbindung (
_TapiCallStateConnected) sinnvoll. -
Es wird der Name des verbundenen Teilnehmers ermittelt. Die Abfrage ist erst nach erfolgreichem Zustandekommen einer Verbindung (
_TapiCallStateConnected) sinnvoll. -
Soll der Status eines mit ``TapiListen
()ü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:
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).
Die Eigenschaften können nur gelesen werden, lediglich die Eigenschaften
Name,CustomundIDkönnen gelesen und geschrieben werden.Wird der Typ (
_HdlType) bzw. der Subtyp (_HdlSubType) des Deskriptors der Listen-Items mit HdlInfo()ermittelt, wird_HdlTapibzw._TapiHdlStatusItemzurückgegeben.
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 kein TapiListen()auf dem Tapi-Gerät aktiv.