linePickup-Funktion (tapi.h)
Die 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 das Gerät erforderlich, gibt lpszGroupID den Gruppenbezeichner an, zu dem die Warnungsstation gehört.
Syntax
LONG linePickup(
HLINE hLine,
DWORD dwAddressID,
LPHCALL lphCall,
LPCSTR lpszDestAddress,
LPCSTR lpszGroupID
);
Parameter
hLine
Handle zum Offenleitungsgerät, auf dem ein Anruf aufgenommen werden soll.
dwAddressID
Adresse auf hLine , an der die Abholung erfolgen soll. Ein Adressbezeichner ist einer Adresse dauerhaft zugeordnet; Der Bezeichner bleibt über Betriebssystemupgrades hinweg konstant.
lphCall
Zeiger auf einen Speicherort, an dem das Handle zum aufgenommenen Aufruf zurückgegeben wird. Die Anwendung ist der anfängliche alleinige Besitzer des Aufrufs.
lpszDestAddress
Zeiger auf einen Null-Endzeichenpuffer, der die Adresse enthält, deren Aufruf abgerufen werden soll. Die Adresse hat das standardmäßige wählbare Adressformat.
lpszGroupID
Zeiger auf einen Zeichenpuffer mit NULL-Beendigung, der den Gruppenbezeichner enthält, zu dem die Warnungsstation gehört. Dieser Parameter ist für einige Schalter erforderlich, um Aufrufe außerhalb der aktuellen Abholgruppe aufzunehmen.
Der lpszGroupID-Parameter kann selbst mit einem NULL-Zeiger für lpszDestAddress angegeben werden. Alternativ kann lpszGroupID zusätzlich zu lpszDestAddress angegeben werden, falls dies vom Gerät erforderlich ist.
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_INVALADDRESS, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALGROUPID, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED.
Hinweise
Wenn ein Anruf erfolgreich angenommen wurde, wird die Anwendung von der LINE_CALLSTATE Meldung über Anrufstatusänderungen benachrichtigt. Die LINECALLINFO-Struktur liefert Informationen über den aufgenommenen Anruf. Der Grund für den Anruf wird als Abholung aufgeführt. Diese Struktur ist mit lineGetCallInfo verfügbar.
Wenn LINEADDRCAPFLAGS_PICKUPCALLWAIT TRUE ist, kann linePickup verwendet werden, 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 Wartesignal des Anrufs nicht erkennen konnte. Sowohl die Zeigerparameter lpszDestAddress als auch die lpszGroupID-Parameter müssen NULL sein, um einen Aufruf mit Warteaufruf aufzunehmen. Die linePickup-Funktion erstellt ein neues Aufrufhandle für den wartenden Aufruf und übergibt dieses Handle an den Benutzer. Der dwAddressID-Parameter ist am häufigsten 0 (insbesondere in einzeiligen Wohnfällen).
Nachdem linePickup verwendet wurde, um den zweiten Aufruf aufzunehmen, kann lineSwapHold verwendet werden, um zwischen ihnen zu wechseln. Die lineDrop-Funktion kann verwendet werden, um eine (und auf die andere umschalten) usw. zu löschen. Wenn der Benutzer den aktuellen Anruf ablegen und den zweiten Anruf annehmen möchte, sollte er lineDrop aufrufen, wenn er den Warteton des Anrufs erhält, warten, bis der zweite Anruf klingelt, und dann lineAnswer für das neue Anrufhandle aufrufen. Das LINEADDRFEATURE_PICKUP-Flag im dwAddressFeatures-Element in LINEADDRESSSTATUS gibt an, wann die Abholung tatsächlich möglich ist.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | tapi.h |
Bibliothek | Tapi32.lib |
DLL | Tapi32.dll |
Weitere Informationen
Ergänzende Zeilendienstfunktionen