linePark-Funktion (tapi.h)
Die linePark-Funktion parkt den angegebenen Aufruf entsprechend dem angegebenen Parkmodus.
Syntax
LONG linePark(
HCALL hCall,
DWORD dwParkMode,
LPCSTR lpszDirAddress,
LPVARSTRING lpNonDirAddress
);
Parameter
hCall
Behandeln Sie den zu parkenden Anruf. Die Anwendung muss besitzer des Aufrufs sein. Der Anrufstatus von hCall muss verbunden sein.
dwParkMode
Parkmodus, mit dem der Anruf geparkt werden soll. Für diesen Parameter kann nur ein einzelnes Flag festgelegt sein und eine der LINEPARKMODE_ Konstanten verwendet werden.
lpszDirAddress
Zeiger auf eine NULL-beendete Zeichenfolge, die die Adresse angibt, an der der Aufruf geparkt werden soll, wenn der gerichtete Park verwendet wird. Die Adresse ist im formatierbaren Nummernformat. Dieser Parameter wird für den nicht direkt ausgeführten Park ignoriert.
lpNonDirAddress
Zeiger auf eine Struktur vom Typ VARSTRING. Bei nicht direkt ausgeführtem Park wird die Adresse, an der der Anruf geparkt wird, in dieser Struktur zurückgegeben. Dieser Parameter wird für den gerichteten Park ignoriert. Innerhalb der VARSTRING-Struktur muss dwStringFormat auf STRINGFORMAT_ASCII festgelegt werden (ein ASCII-Zeichenfolgenpuffer, der eine null-beendete Zeichenfolge enthält), und der beendende NULL-Wert muss in dwStringSize berücksichtigt werden. Vor dem Aufrufen von linePark muss die Anwendung den dwTotalSize-Member dieser Struktur festlegen, um die Menge an Arbeitsspeicher anzugeben, die TAPI zum Zurückgeben von Informationen zur Verfügung steht.
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_INVALADDRESS, LINEERR_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALPARKMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_STRUCTURETOOSMALL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.
Hinweise
Beim gerichteten Parken bestimmt die Anwendung die Adresse, an der sie den Anruf parken möchte. Bei nicht direkt aktiviertem Park bestimmt der Switch die Adresse und stellt diese der Anwendung zur Verfügung. In beiden Fällen kann ein geparkter Anruf aufgehoben werden, indem Sie diese Adresse angeben.
Der geparkte Anruf wechselt in der Regel in den Leerlaufzustand , nachdem er erfolgreich geparkt wurde, und die Anwendung sollte dann den Handle dem Anruf ordnet. Wenn die Anwendung einen lineUnpark für den geparkten Aufruf ausführt, wird ein neues Anrufhandle für den nicht geparkten Aufruf erstellt, auch wenn die Anwendung den alten Anrufhandle nicht zugeordnet hat.
Einige Schalter können den Benutzer daran erinnern, nachdem ein Anruf längere Zeit geparkt wurde. Die Anwendung sieht einen Angebotsanruf , bei dem die Anrufursache auf Erinnerung festgelegt ist.
Wenn der dwTotalSize-Member in der VARSTRING-Struktur in einem nicht direkt ausgeführten Park nicht genügend Arbeitsspeicher angibt, um die Parkadresse zu empfangen, gibt die entsprechende Antwortnachricht einen LINEERR_STRUCTURETOOSMALL Fehlerwert zurück. In solchen Fällen gibt es keine Möglichkeit, die vollständige Parkadresse abzurufen. Wenn ein LINEERR_STRUCTURETOOSMALL Fehlerwert zurückgegeben wird, enthält das dwNeededSize-Element der NonDirAddress-Struktur keinen gültigen Wert. Wenn ein LINEERR_STRUCTURETOOSMALL Fehlerwert von einem nicht angeleiteten linePark empfangen wird, erhöhen Sie die Größe des Puffers, und rufen Sie linePark erneut auf, bis entweder ein erfolg oder ein anderes LINEERR_XXX Ergebnis zurückgegeben wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | tapi.h |
Bibliothek | Tapi32.lib |
DLL | Tapi32.dll |
Weitere Informationen
Zusätzliche Zeilendienstfunktionen