lineSetTerminal-Funktion (tapi.h)

Mit der lineSetTerminal-Funktion kann eine Anwendung angeben, welche Terminalinformationen, die sich auf die angegebene Zeile, Adresse oder den angegebenen Aufruf beziehen, weitergeleitet werden sollen. Die lineSetTerminal-Funktion kann verwendet werden, während Aufrufe in der Zeile ausgeführt werden, damit eine Anwendung diese Ereignisse nach Bedarf an verschiedene Geräte weiterleiten kann.

Syntax

LONG lineSetTerminal(
  HLINE hLine,
  DWORD dwAddressID,
  HCALL hCall,
  DWORD dwSelect,
  DWORD dwTerminalModes,
  DWORD dwTerminalID,
  DWORD bEnable
);

Parameter

hLine

Handle an einem Offenzeilengerät.

dwAddressID

Adresse auf dem angegebenen Open Line-Gerät. Ein Adressbezeichner ist einer Adresse dauerhaft zugeordnet; Der Bezeichner bleibt über Betriebssystemupgrades hinweg konstant.

hCall

Handle für einen Anruf. Der Aufrufstatus von hCall kann ein beliebiger Zustand sein, wenn dwSelect auf CALL festgelegt ist.

dwSelect

Gibt an, ob die Terminaleinstellung für die Zeile, die Adresse oder nur den angegebenen Anruf angefordert wird. Wenn Zeile oder Adresse angegeben ist, gelten Ereignisse entweder für die Zeile oder Adresse selbst oder dienen als Standardeinstellung für alle neuen Aufrufe der Zeile oder Adresse. Dieser Parameter verwendet eine der LINECALLSELECT_ Konstanten.

dwTerminalModes

Klasse von Ereignissen auf niedriger Ebene, die an das angegebene Terminal weitergeleitet werden sollen. Dieser Parameter verwendet eine oder mehrere der LINETERMMODE_ Konstanten.

dwTerminalID

Gerätebezeichner des Endgeräts, auf dem die angegebenen Ereignisse weitergeleitet werden sollen. Terminalbezeichner sind kleine ganze Zahlen im Bereich von null bis eins kleiner als dwNumTerminals, wobei dwNumTerminals und die Terminalmodi, die jedes Terminal verarbeiten kann, von lineGetDevCaps zurückgegeben werden.

Diese Terminalbezeichner haben keine Beziehung zu anderen Gerätebezeichnern und werden vom Dienstanbieter mithilfe von Gerätefunktionen definiert.

bEnable

True istdwTerminalID gültig, und die angegebenen Ereignisklassen werden an oder von diesem Terminal weitergeleitet. Wenn FALSE, werden diese Ereignisse nicht an oder vom Terminalgerät mit dem Bezeichner dwTerminalID weitergeleitet.

Rückgabewert

Gibt einen positiven Anforderungsbezeichner zurück, wenn die Funktion asynchron abgeschlossen wird, oder eine negative Fehlernummer, wenn ein Fehler auftritt. Der dwParam2-Parameter der entsprechenden LINE_REPLY Meldung ist null, wenn die Funktion erfolgreich ist, oder es ist eine negative Fehlernummer, wenn ein Fehler auftritt. Mögliche Rückgabewerte sind:

LINEERR_INVALADDRESSID, LINEERR_NOMEM, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSELECT, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALTERMINALID, LINEERR_UNINITIALIZED, LINEERR_INVALTERMINALMODE.

Hinweise

Eine Anwendung kann diese Funktion verwenden, um bestimmte Klassen von Leitungsereignissen auf niedriger Ebene an das angegebene Terminalgerät weiterzuleiten oder das Routing dieser Ereignisse zu unterdrücken. Beispielsweise kann Die Stimme an ein Audio-E/A-Gerät (Headset) weitergeleitet werden, Lampen und Anzeigeereignisse können an das lokale Telefongerät weitergeleitet werden, und Schaltflächen- und Klingelereignisse können vollständig unterdrückt werden.

Diese Funktion kann jederzeit aufgerufen werden, auch wenn ein Aufruf auf dem angegebenen Leitungsgerät aktiv ist. Dadurch kann ein Benutzer von der Verwendung des lokalen Telefons zu einem anderen Audio-E/A-Gerät wechseln. Diese Funktion kann mehrmals aufgerufen werden, um die gleichen Ereignisse gleichzeitig an mehrere Terminals weiterzuleiten. Um Ereignisse an ein anderes Terminal umzuleiten, sollte die Anwendung zunächst das Routing an das vorhandene Terminal deaktivieren und dann die Ereignisse an das neue Terminal weiterleiten.

Terminalbezeichnerzuweisungen werden vom Dienstanbieter der Leitung vorgenommen. Gerätefunktionen geben nur an, welche Terminalbezeichner der Dienstanbieter verfügbar hat. Dienstanbieter, die diese Art von Ereignisrouting nicht unterstützen, geben an, dass sie über keine Endgeräte verfügen (dwNumTerminals in LINEDEVCAPS wäre null).

Das Aufrufen von lineSetTerminal in einer Zeile oder Adresse wirkt sich auf alle vorhandenen Anrufe in dieser Leitung oder Adresse aus, wirkt sich jedoch nicht auf Anrufe an anderen Adressen aus. Außerdem wird die Standardeinstellung für zukünftige Anrufe für diese Zeile oder Adresse festgelegt. Eine Leitung oder Adresse, für die mehrere verbundene Anrufe gleichzeitig aktiv sind, kann für jeden Anruf eine andere Weiterleitung haben.

Das Deaktivieren des Routings von Ereignissen auf niedriger Ebene an ein Terminal, wenn diese Ereignisse derzeit nicht an oder von diesem Terminal weitergeleitet werden, generiert nicht unbedingt einen Fehler, solange die Funktion erfolgreich ist (die angegebenen Ereignisse werden nicht an oder von diesem Terminal weitergeleitet).

TAPI leitet Statustöne und -nachrichten an denselben Ort weiter, der von der lineSetTerminal-Funktion für "media" festgelegt wird. Wenn z. B. Audiosignale an das Telefon gesendet werden, dann sind dies ausgelastete Signale (analog) oder Q.931-Nachrichten, die ausgelastet (digital) sind.

Anforderungen

   
Zielplattform Windows
Kopfzeile tapi.h
Bibliothek Tapi32.lib
DLL Tapi32.dll

Weitere Informationen

LINEDEVCAPS

LINE_REPLY

Ergänzende Zeilendienstfunktionen

ÜBERSICHT ÜBER TAPI 2.2-Referenz

lineGetDevCaps