Freigeben über


lineMakeCall-Funktion (tapi.h)

Die lineMakeCall-Funktion platziert einen Aufruf für die angegebene Zeile an die angegebene Zieladresse. Optional können Aufrufparameter angegeben werden, wenn außer Standardeinstellungsparametern für Aufrufe angefordert werden.

Syntax

LONG lineMakeCall(
  HLINE                  hLine,
  LPHCALL                lphCall,
  LPCSTR                 lpszDestAddress,
  DWORD                  dwCountryCode,
  LPLINECALLPARAMS const lpCallParams
);

Parameter

hLine

Handle an das Open-Line-Gerät, auf dem ein Anruf ausgelöst werden soll.

lphCall

Zeiger auf ein HCALL-Handle. Das Handle ist erst gültig, nachdem die LINE_REPLY Nachricht von der Anwendung empfangen wurde, die angibt, dass die lineMakeCall-Funktion erfolgreich abgeschlossen wurde. Verwenden Sie dieses Handle, um den Anruf beim Aufrufen anderer Telefonievorgänge für den Anruf zu identifizieren. Die Anwendung ist zunächst der alleinige Besitzer dieses Aufrufs. Dieses Handle ist ungültig, wenn die Funktion einen Fehler (synchron oder asynchron durch die Antwortnachricht) zurückgibt.

lpszDestAddress

Zeiger auf die Zieladresse. Dies folgt dem standardwählbaren Nummernformat. Dieser Zeiger kann NULL für nicht gewählte Adressen (wie bei einem heißen Telefon) oder wenn alle Wählvorgänge mit lineDial ausgeführt werden. Im letzteren Fall weist lineMakeCall eine verfügbare Anrufdarstellung zu, die in der Regel im Dialtone-Zustand verbleibt, bis das Wählen beginnt. Dienstanbieter mit Inverse-Multiplexingfunktionen können es einer Anwendung ermöglichen, mehrere Adressen gleichzeitig anzugeben.

dwCountryCode

Länder- oder Regionscode der angerufenen Partei. Wenn der Wert 0 angegeben wird, wird von der Implementierung ein Standardwert verwendet.

lpCallParams

Zeiger auf eine LINECALLPARAMS-Struktur . Mit dieser Struktur kann die Anwendung angeben, wie der Aufruf eingerichtet werden soll. Wenn NULL angegeben ist, wird ein Standardmäßiger 3,1-kHz-Sprachanruf eingerichtet und eine beliebige Ursprungsadresse in der Zeile ausgewählt. Diese Struktur ermöglicht es der Anwendung, Elemente wie den Bearermodus des Anrufs, die Datenrate, den erwarteten Medienmodus, die Ursprungsadresse, das Blockieren von Anrufer-ID-Informationen und die Wählparameter auszuwählen.

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 0, wenn die Funktion erfolgreich ist, oder es ist eine negative Fehlernummer, wenn ein Fehler auftritt. Mögliche Rückgabewerte sind:

LINEERR_ADDRESSBLOCKED, LINEERR_INVALLINEHANDLE, LINEERR_BEARERMODEUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_DIALBILLING, LINEERR_INVALPARAM, LINEERR_DIALDIALTONE, LINEERR_INVALPOINTER, LINEERR_DIALPROMPT, LINEERR_INVALRATE, LINEERR_DIALQUIET, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESSID, LINEERR_RATEUNAVAIL, LINEERR_INVALADDRESSMODE, LINEERR_ RESOURCEUNAVAIL, LINEERR_INVALBEARERMODE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALCALLPARAMS, LINEERR_UNINITIALIZED, LINEERR_INVALCOUNTRYCODE, LINEERR_USERUSERINFOTOOBIG.

Hinweise

Wenn LINEERR_INVALLINESTATE zurückgegeben wird, befindet sich die Zeile derzeit nicht in einem Zustand, in dem dieser Vorgang ausgeführt werden kann. Eine Liste der aktuell gültigen Vorgänge finden Sie im dwLineFeatures-Member (vom Typ LINEFEATURE_) in der LINEDEVSTATUS-Struktur . Beim Aufrufen von lineGetLineDevStatus werden die Informationen in LINEDEVSTATUS aktualisiert. Wenn LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE oder LINEERR_DIALPROMPT zurückgegeben wird, ist keine der aktionen aufgetreten, die sonst von lineMakeCall ausgeführt werden; Beispielsweise wurde keine der vor dem beleidigenden Zeichen erreichbaren Adressen gewählt, kein Hookswitch-Zustand wurde geändert usw.

Nach Abschluss des Wählens werden in der Regel mehrere LINE_CALLSTATE Nachrichten an die Anwendung gesendet, um sie über den Fortschritt des Anrufs zu informieren. Es ist keine allgemein gültige Sequenz von Aufrufzustandsübergängen angegeben, da in der Praxis keine einzelne feste Sequenz von Übergängen garantiert werden kann. Eine typische Sequenz kann dazu führen, dass ein Anruf von "Dialtone", "Dialing", "Weiter", "Ringback" auf "Verbunden" wechselt. Bei nicht gewählten Leitungen kann der Anruf in der Regel direkt in den Verbundenen Zustand übergehen.

Eine Anwendung hat die Möglichkeit, eine Ursprungsadresse auf dem angegebenen Zeilengerät anzugeben. Ein Dienstanbieter, der alle Stationen auf einem Switch als Adressen auf einem Einzelliniengerät modelliert, ermöglicht es der Anwendung, Anrufe von einer dieser Stationen mithilfe von lineMakeCall zu erstellen.

Mit den Anrufparametern kann die Anwendung Nicht-Sprachanrufe tätigen oder spezielle Anrufeinrichtungsoptionen anfordern, die standardmäßig nicht verfügbar sind.

Eine Anwendung kann teilweise mit lineMakeCall wählen und mit lineDial weiterwählen. Weitere Informationen zum partiellen Wählen finden Sie unter lineDial und TSPI_lineMakeCall. Verwenden Sie lineDrop, um einen Anrufversuch abzubrechen.

Nachdem lineMakeCall eine Erfolgsantwortnachricht an die Anwendung zurückgegeben hat, wird eine LINE_CALLSTATE-Nachricht an die Anwendung gesendet, um den aktuellen Status des Aufrufs anzugeben. Dieser Zustand ist nicht unbedingt LINECALLSTATE_DIALTONE.

Diese Funktion kann Daten unverschlüsselt über die Leitung senden. Daher kann jemand, der im Netzwerk lauscht, die Daten lesen. Das Sicherheitsrisiko des Sendens der Daten im Klartext sollte vor der Verwendung dieser Methode berücksichtigt werden.

Vorsicht TAPI schreibt die zurückgegebenen Daten in den Puffer, auf den lphCall verweist, wenn die LINE_REPLY Nachricht zurückgegeben wird. Dies bedeutet, dass der Puffer gültig bleiben muss, bis die LINE_REPLY Nachricht zurückgegeben wird. andernfalls können Datenbeschädigungen und Ausnahmen auftreten.
 

Anforderungen

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

Weitere Informationen

Referenz zu Grundlegenden Telefoniediensten

Wählbare Adressen

LINECALLPARAMS

LINEDEVSTATUS

LINE_CALLSTATE

LINE_REPLY

ÜBERSICHT ÜBER TAPI 2.2-Referenz

lineDial

lineDrop

lineGetLineDevStatus