Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die lineForward--Funktion leitet Aufrufe weiter, die für die angegebene Adresse in der angegebenen Zeile gemäß den angegebenen Weiterleitungsanweisungen bestimmt sind. Wenn eine Ursprungsadresse (dwAddressID) weitergeleitet wird, werden die angegebenen eingehenden Anrufe für diese Adresse von der Option an die andere Nummer zurückgeleitet. Diese Funktion bietet eine Kombination aus Vorwärts- und Nicht-Stören-Features. Diese Funktion kann die Weiterleitung auch abbrechen, die derzeit wirksam ist.
Syntax
LONG lineForwardW(
HLINE hLine,
DWORD bAllAddresses,
DWORD dwAddressID,
LPLINEFORWARDLIST const lpForwardList,
DWORD dwNumRingsNoAnswer,
LPHCALL lphConsultCall,
LPLINECALLPARAMS const lpCallParams
);
Parameter
hLine
Behandeln sie das Leitungsgerät.
bAllAddresses
Gibt an, ob alle ursprünglichen Adressen in der Zeile oder nur die angegebene Adresse weitergeleitet werden sollen. Wenn TRUE-, werden alle Adressen in der Zeile weitergeleitet und dwAddressID- ignoriert; wenn FALSE, wird nur die als dwAddressID angegebene Adresse weitergeleitet.
dwAddressID
Adresse in der angegebenen Zeile, deren eingehende Anrufe weitergeleitet werden sollen. Dieser Parameter wird ignoriert, wenn bAllAddressesTRUEist.
Ein Adressbezeichner ist dauerhaft einer Adresse zugeordnet; der Bezeichner bleibt für Betriebssystemupgrades konstant.
lpForwardList
Zeiger auf eine variabel angepasste Datenstruktur, die die spezifischen Weiterleitungsanweisungen vom Typ LINEFORWARDLISTbeschreibt.
dwNumRingsNoAnswer
Die Anzahl der Ringe, bevor ein Anruf als "keine Antwort" betrachtet wird. Wenn dwNumRingsNoAnswer außerhalb des Zulässigen Bereichs liegt, wird der tatsächliche Wert auf den nächsten Wert im zulässigen Bereich festgelegt.
lphConsultCall
Zeiger auf eine HCALL-Position. In einigen Telefonieumgebungen wird dieser Standort mit einem Handle für einen Beratungsanruf geladen, der verwendet wird, um die Partei zu konsultieren, an die weitergeleitet wird, und die Anwendung wird zum ersten alleinigen Besitzer dieses Anrufs. Dieser Zeiger muss auch in Umgebungen gültig sein, in denen die Anrufweiterleitung keinen Konsultationsgespräch erfordert. Dieser Handle ist auf NULL- festgelegt, wenn kein Konsultationsaufruf erstellt wird.
lpCallParams
Zeiger auf eine Struktur vom Typ LINECALLPARAMS. Dieser Zeiger wird ignoriert, es sei denn, lineForward erfordert die Einrichtung eines Anrufs an das Weiterleitungsziel (und lphCallCall zurückgegeben wird, in diesem Fall ist lpCallParams optional). Wenn NULL-, werden Standardaufrufparameter verwendet. Andernfalls werden die angegebenen Aufrufparameter zum Einrichten hCallverwendet.
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 Nachricht ist null, wenn die Funktion erfolgreich ist oder eine negative Fehlernummer ist, wenn ein Fehler auftritt. Mögliche Rückgabewerte sind:
LINEERR_INVALLINEHANDLE, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESS, LINEERR_OPERATIONFAILED, LINEERR_INVALCOUNTRYCODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALPARAM, LINEERR_UNINITIALIZED.
Bemerkungen
Eine erfolgreiche Weiterleitung gibt nur an, dass die Anforderung vom Dienstanbieter akzeptiert wurde, nicht dass die Weiterleitung an der Option eingerichtet ist. Eine LINE_ADDRESSSTATE -Nachricht (Weiterleitung) stellt eine Bestätigung für die Weiterleitung bereit, die an der Option eingerichtet wurde.
Die Weiterleitung der Adresse(n) bleibt wirksam, bis diese Funktion erneut aufgerufen wird. Die neueste Weiterleitungsliste ersetzt die alte. Die Weiterleitung kann abgebrochen werden, indem ein NULL- Zeiger als lpForwardList-angegeben wird. Wenn eine NULL- Zieladresse für einen Eintrag in der Weiterleitungsliste angegeben wird, fungiert der Vorgang als nicht störend.
Der Weiterleitungsstatus einer Adresse kann auch extern beeinflusst werden; Beispielsweise durch administrative Aktionen am Schalter oder durch einen Benutzer von einer anderen Station. Es ist möglicherweise nicht möglich, dass der Dienstanbieter diese Zustandsänderung kennen kann, und es ist möglicherweise nicht in der Lage, die Synchronisierung mit dem Weiterleitungsstatus beizubehalten, der für den Switch bekannt ist.
Da ein Dienstanbieter möglicherweise nicht den Weiterleitungsstatus der Adresse "sicher" kennt (d. h., er wurde möglicherweise auf unbekannte Weise weitergeleitet oder nicht weitergeleitet), lineForward erfolgreich, es sei denn, die neuen Weiterleitungsanweisungen werden nicht festgelegt. Mit anderen Worten: Eine Anforderung, dass alle Weiterleitungen gleichzeitig abgebrochen werden, dass keine Weiterleitung wirksam ist. Dies liegt daran, dass es keine "Unforwarding" gibt – Sie können nur den vorherigen Satz von Weiterleitungsanweisungen ändern.
Der Erfolg oder Fehler dieses Vorgangs hängt nicht von der vorherigen Gruppe von Weiterleitungsanweisungen ab, und dasselbe gilt beim Festlegen unterschiedlicher Weiterleitungsanweisungen. Der Anbieter sollte vor dem Festlegen der neuen Weiterleitungsanweisungen "alles aufheben". Da dies in analogen Telefonieumgebungen Zeit in Anspruch nehmen kann, kann ein Anbieter auch die aktuelle Weiterleitung mit dem neuen vergleichen und nur Anweisungen an den Switch senden, um zum endgültigen Zustand zu gelangen (unveränderte Weiterleitung bleibt unberührt).
Das Aufrufen lineForward-, wenn LINEFORWARDLIST-dwNumEntries- auf Null festgelegt ist, hat den gleichen Effekt wie das Bereitstellen eines NULL-lpForwardList--Parameters. Es bricht alle derzeit in Kraft befindliche Weiterleitung ab.
Anmerkung
Der header tapi.h definiert lineForward als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Fenster |
| Header- | tapi.h |
| Library | Tapi32.lib |
| DLL- | Tapi32.dll |