LINE_NEWCALL Nachricht

Die TSPI-LINE_NEWCALL Nachricht wird an die LINEEVENT-Rückruffunktion gesendet, wenn ein neuer Aufruf, den TAPI nicht ausgelöst hat, in einer Zeile eingeht, die TAPI geöffnet hat. Dies muss die erste Nachricht sein, die in Bezug auf diesen Anruf gesendet wird. TAPI schreibt das undurchsichtige htCall-Handle in den Speicherort, der vom Dienstanbieter als dwParam2 übergeben wird. Dadurch erhält der Dienstanbieter den htCall-Wert , der in nachfolgenden Nachrichten verwendet werden soll.

            

Parameter

htLine

Das undurchsichtige TAPI-Objekthandle für das Leitungsgerät.

htCall

Nicht verwendet.

dwMsg

Der Wert LINE_NEWCALL.

dwParam1

Das undurchsichtige Handle des Dienstanbieters für den Anruf vom Typ HDRVCALL. TAPI übergibt diesen Wert als hdCall-Parameter , um den Aufruf in nachfolgenden Prozeduren zu identifizieren, die für den Aufruf aufgerufen werden.

dwParam2

Ein Zeiger vom Typ LPHTAPICALL, der auf einen HTAPICALL zeigt. TAPI schreibt das undurchsichtige TAPI-Handle für den Aufruf an die angegebene Position. Der Dienstanbieter muss diesen Wert speichern und als htCall-Parameter übergeben, um den Aufruf in nachfolgenden Ereignissen zu identifizieren, die er für den Aufruf meldet.

Dieser Parameter kann auch den Wert NULL abrufen (siehe folgenden Abschnitt Hinweise).

dwParam3

Nicht verwendet.

Bemerkungen

Der Dienstanbieter sollte die LINE_CALLSTATE-Nachricht als nächste Nachricht für diesen Aufruf senden. Das LINE_NEWCALL-Ereignis ist insofern ungewöhnlich, als es auch einen Wert zurück an den Dienstanbieter übergibt.

Diese Funktion meldet alle neuen Aufrufe, die vom Dienstanbieter stammen (eingehende, ausgehende, am Telefon initiierte usw.), für die TAPI und der Dienstanbieter noch keine undurchsichtigen Handles ausgetauscht haben. Die Handles werden ausgetauscht, damit TAPI und der Dienstanbieter anschließend Anforderungen stellen und Ereignisse melden können, die den Anruf betreffen. Da diese neuen Aufrufe nicht unbedingt eingehender sind, können sich die Aufrufe zunächst in einem beliebigen Zustand befinden, nicht unbedingt im Angebotszustand . Wenn der Dienstanbieter startet und erkennt, dass mindestens ein Aufruf bereits in der Zeile aktiv ist, informiert er TAPI über diese mit LINE_NEWCALL Nachrichten, gefolgt von LINE_CALLSTATE Nachrichten, die den aktuellen Status angeben. Ein neuer ausgehender Anruf, der vom Benutzer auf dem Telefon initiiert wurde, würde mit einer LINE_NEWCALL-Nachricht gemeldet, und die anfängliche LINE_CALLSTATE Nachricht würde darauf hinweisen, dass sich der Anruf im DIALTONE-Zustand befindet (und dann von dort aus fortgesetzt wird).

Wenn der Dienstanbieter eine große Anzahl von Aufrufen an TAPI in sehr kurzer Zeit (während desselben Unterbrechungszyklus) übergibt, kann TAPI bei der Verarbeitung dieser Aufrufe in einen Rückstau geraten. In diesem Fall signalisiert TAPI dem Dienstanbieter, kurz zu warten, bevor weitere Anrufe gesendet werden. Dies wird signalisiert, indem der Wert NULL anstelle eines gültigen HTAPICALL-Werts in die Position geschrieben wird, auf die der dwParam2-Parametervon LINE_NEWCALL verweist. Dies deutet darauf hin, dass der Versuch, das neu angebotene Aufrufhandle zu verarbeiten, nicht erfolgreich war, wahrscheinlich aufgrund einer vorübergehenden Unfähigkeit, Arbeitsspeicher zuzuweisen. Der Dienstanbieter kann reagieren, indem er den Anruf absetzt oder die LINE_NEWCALL Nachricht nach einer Planungsverzögerung erneut sendet (in dieser Zeit sollte der Dienstanbieter dem Prozessor die Verarbeitung weiterer ausstehender Aktionen erlauben). In jedem Fall können keine weiteren Nachrichten zum neuen Anruf an TAPI übergeben werden, bis der Handle-Austausch erfolgreich ist. Wenn der Speicherort, auf den dwParam2 verweist, einen Wert nicht NULL erhält, weiß der Dienstanbieter, dass dieser Wert ein gültiges HTAPICALL-Handle für den Aufruf ist.

Es gibt keine direkt entsprechende Nachricht auf TAPI-Ebene. Diese Nachricht wird auf TSPI-Ebene verwendet, um eindeutig und eindeutig einen neuen eingehenden Anruf an TAPI einzuführen und den undurchsichtigen TAPI-Bezeichner für den Anruf abzurufen.

Anforderungen

Anforderung Wert
TAPI-Version
Erfordert TAPI 2.0 oder höher
Header
Tspi.h

Siehe auch

LINE_CALLSTATE

LINEEVENT