TSPI_linePickup-Funktion (tspi.h)
Die TSPI_linePickup-Funktion übernimmt eine Anrufwarnung an der angegebenen Zieladresse und gibt ein Anrufhandle für den erfassten Aufruf zurück. Wenn für den Parameter lpszDestAddress mit NULL aufgerufen wird, wird eine Gruppenabholung durchgeführt. Falls für die Gerätefunktionen erforderlich, gibt lpszGroupID den Gruppenbezeichner an, zu dem die Warnungsstation gehört.
Syntax
LONG TSPIAPI TSPI_linePickup(
DRV_REQUESTID dwRequestID,
HDRVLINE hdLine,
DWORD dwAddressID,
HTAPICALL htCall,
LPHDRVCALL lphdCall,
LPCWSTR lpszDestAddress,
LPCWSTR lpszGroupID
);
Parameter
dwRequestID
Der Bezeichner der asynchronen Anforderung.
hdLine
Der Handle für die Zeile, in der ein Anruf aufgenommen werden soll.
dwAddressID
Die Adresse auf hdLine , an der die Abholung erfolgen soll. Ein Adressbezeichner ist einer Adresse dauerhaft zugeordnet. Der Bezeichner bleibt über Betriebssystemupgrades hinweg konstant.
htCall
Das TAPI-Handle für den neuen Aufruf. Der Dienstanbieter muss dies speichern und in allen nachfolgenden Aufrufen der LINEEVENT-Prozedur verwenden, die Ereignisse für den Aufruf meldet.
lphdCall
Ein Zeiger auf einen HDRVCALL , der den Bezeichner des Dienstanbieters für den Anruf darstellt. Der Dienstanbieter muss diesen Speicherort mit seinem Handle für den Aufruf füllen, bevor diese Prozedur zurückgegeben wird. Dieses Handle wird von TAPI ignoriert, wenn die Funktion zu einem Fehler führt.
lpszDestAddress
Ein Zeiger auf eine Unicode-Zeichenfolge mit NULL-Beendigung, die die Adresse enthält, deren Aufruf abgerufen werden soll. Die Adresse ist das Standardlinkformat.
lpszGroupID
Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Endung, die den Gruppenbezeichner enthält, zu dem die Warnungsstation gehört. Dieser Parameter ist für einige Switches erforderlich, um Aufrufe außerhalb der aktuellen Abholgruppe aufzunehmen.
Rückgabewert
Gibt dwRequestID oder eine Fehlernummer zurück, wenn ein Fehler auftritt. Der tatsächliche lResult-Parameter des entsprechenden ASYNC_COMPLETION ist 0, wenn die Funktion erfolgreich ist, oder eine Fehlernummer, wenn ein Fehler auftritt. Mögliche Rückgabewerte sind wie folgt:
LINEERR_INVALLINEHANDLE, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESS, LINEERR_OPERATIONFAILED, LINEERR_INVALGROUPID, LINEERR_RESOURCEUNAVAIL.
Hinweise
Wenn ein Anruf erfolgreich aufgenommen wurde, benachrichtigt der Dienstanbieter TAPI mit der LINE_CALLSTATE Nachricht über Anrufstatusänderungen. Die LINECALLINFO-Struktur liefert Informationen zum abgerufenen Aufruf. Der Grund für den Anruf wird als Abholung aufgeführt. Diese Struktur ist durch Aufrufen von TSPI_lineGetCallInfo verfügbar.
Der Dienstanbieter legt in der LINEADDRESSCAPS-Struktur LINEADDRCAPFLAGS_PICKUPCALLWAIT auf TRUE fest, wenn TSPI_linePickup verwendet werden kann, um einen Anruf aufzunehmen, für den der Benutzer das Wartesignal hörbar erkannt hat, für den der Anbieter die Erkennung jedoch nicht durchführen kann. Dadurch erhält der Benutzer einen Mechanismus zum Annehmen eines wartenden Anrufs, obwohl der Dienstanbieter das Anrufwartesignal nicht erkennen konnte. Wenn TSPI_linePickup zum Abrufen eines wartenden Aufrufs verwendet wird, sind sowohl lpszDestAddress als auch lpszGroupID-ZeigerparameterNULL. Der Dienstanbieter erstellt ein neues Anrufhandle für den wartenden Anruf und übergibt dieses Handle an den Benutzer in lphdCall. Der dwAddressID-Parameter ist am häufigsten 0 (insbesondere in einzeiligen Wohnfällen).
Sobald TSPI_linePickup zum Annehmen des zweiten Anrufs verwendet wird, kann TSPI_lineSwapHold verwendet werden, um zwischen ihnen umzuschalten. TSPI_lineDrop kann verwendet werden, um einen (und zum anderen umzuschalten) usw. Wenn der Benutzer den aktuellen Anruf abbrechen und den zweiten Anruf annehmen möchte, ruft er TSPI_lineDrop auf, wenn er den Wartendenton des Anrufs erhält, wartet, bis der zweite Anruf klingelt, und ruft dann TSPI_lineAnswer im neuen Anrufhandle auf. Der Dienstanbieter legt das flag LINEADDRFEATURE_PICKUP im dwAddressFeatures-Member in LINEADDRESSSTATUS fest, um anzugeben, wann die Abholung tatsächlich möglich ist.
Diese Funktion unterscheidet sich von der entsprechenden TAPI-Funktion dadurch, dass sie dem TSPI-Modell für den Beginn der Lebensdauer eines Aufrufs folgt. TAPI und die Dienstanbieter-Exchange-Wechselhandles, die den Aufruf miteinander darstellen. Darüber hinaus ist es dem Dienstanbieter gestattet, Rückrufe für den neuen Aufruf auszuführen, bevor er von dieser Prozedur zurückgegeben wird. In jedem Fall muss der Dienstanbieter auch das zurückgegebene Handle als "noch nicht gültig" behandeln, bis die übereinstimmende ASYNC_COMPLETION Nachricht erfolgreich meldet. Mit anderen Worten, es darf keine LINEEVENT-Nachrichten für den neuen Aufruf ausgeben oder in die Anrufanzahl in Nachrichten oder status Datenstrukturen für die Zeile einschließen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | tspi.h |