TSPI_lineConditionalMediaDetection-Funktion (tspi.h)
Die TSPI_lineConditionalMediaDetection-Funktion wird von TAPI aufgerufen, wenn eine Clientanwendung LINEMAPPER als dwDeviceID in einem lineOpen-Funktionsaufruf verwendet, um anzufordern, dass Zeilen gescannt werden, um eine zu finden, die die gewünschten Medientypen und Aufrufparameter unterstützt. TAPI-Scans basierend auf der Vereinigung des gewünschten Medientyps und der anderen Medientypen, die derzeit auf der Linie überwacht werden, um dem Dienstanbieter die Möglichkeit zu geben, anzugeben, ob er nicht alle angeforderten Medientypen gleichzeitig überwachen kann. Wenn der Dienstanbieter die angegebenen Medientypen überwachen und die in lpCallParams angegebenen Funktionen unterstützen kann, antwortet er mit einer Erfolgsanzeige. Die aktiven Medienüberwachungsmodi für die Zeile bleiben unverändert.
Syntax
LONG TSPIAPI TSPI_lineConditionalMediaDetection(
HDRVLINE hdLine,
DWORD dwMediaModes,
LPLINECALLPARAMS const lpCallParams
);
Parameter
hdLine
Das Handle des Dienstanbieters zu der Zeile, auf der Medienüberwachungs- und Parameterfunktionen festgelegt werden sollen.
dwMediaModes
Die Medientypen, die derzeit für die aufrufende Anwendung von Interesse sind. Dieser Parameter verwendet eine der LINEMEDIAMODE_ Konstanten.
lpCallParams
Ein Zeiger auf eine Struktur vom Typ LINECALLPARAMS. Es beschreibt die Aufrufparameter, die das Leitungsgerät bereitstellen kann. Die einzigen relevanten Felder von lpCallParams für die Zwecke dieses Tests sind die folgenden:
dwBearerMode
dwMinRate
dwMaxRate
dwMediaMode
dwCallParamFlags
dwAddressMode
Wenn dwAddressMode LINEADDRESSMODE_ADDRESSID ist, ist jede Adresse in der Zeile akzeptabel. Wenn dwAddressMode LINEADDRESSMODE_DIALABLEADDR ist, was angibt, dass nach einer bestimmten Ursprungsadresse (Telefonnummer) gesucht wird, oder wenn es sich um eine anbieterspezifische Erweiterung handelt, sind dwOrigAddressSize/Offset und der Teil des Variablenteils, auf den sie verweisen, ebenfalls relevant. Wenn dwAddressMode eine anbieterspezifische Erweiterung ist, können zusätzliche Informationen im Feld dwDeviceSpecific mit unterschiedlicher Größe enthalten sein. Alle anderen Felder sind für die Funktion irrelevant.
Rückgabewert
Gibt null zurück, wenn die Funktion erfolgreich ist, oder eine Fehlernummer, wenn ein Fehler auftritt. Mögliche Rückgabewerte sind:
LINEERR_INVALLINEHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODRIVER, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_INVALMEDIAMODE, LINEERR_OPERATIONUNAVAIL.
Hinweise
Eine TAPI lineOpen-Funktion , die einen Gerätebezeichner von LINEMAPPER angibt, führt in der Regel dazu, dass dieses Verfahren für mehrere Leitungsgeräte aufgerufen wird, um nach einer geeigneten Leitung zu suchen, wobei möglicherweise auch noch ungeöffnete Leitungen geöffnet werden. Ein Erfolgsergebnis gibt an, dass die Zeile für die Anforderungen der aufrufenden Anwendung geeignet ist.
Die TSPI_lineConditionalMediaDetection-Funktion gibt erfolg zurück, wenn die Übergabe der gleichen Bitwerte an die TSPI_lineMakeCall Funktion ebenfalls erfolgreich ist.
Wenn die Bits SECURE, ORIGOFFHOOK und DESTOFFHOOK festgelegt sind und der dwAddressMode-Parameter LINEADDRESSMODE_ADDRESSID ist, gibt die Funktion erfolglos zurück, wenn sie auf einer oder mehreren Adressen in der Zeile erfolgreich ausgeführt werden kann.
Wenn die Bits SECURE, ORIGOFFHOOK und DESTOFFHOOK festgelegt sind und der dwAddressMode-Parameter LINEADDRESSMODE_DIALABLEADDR ist, gibt die Funktion erfolglos zurück, wenn sie für die durch den dwOrigAddress-Parameter identifizierte Adresse erfolgreich ist.
Der Dienstanbieter gibt einen Fehler zurück (z. B. LINEERR_RESOURCEUNAVAIL), wenn es zum Zeitpunkt des Aufrufs dieser Funktion unmöglich ist, einen neuen Aufruf auf dem angegebenen Leitungsgerät zu platzieren (wenn es LINEERR_CALLUNAVAIL zurückgeben würde oder LINEERR_RESOURCEUNAVAIL unmittelbar nach dem Öffnen der Zeile aufgerufen werden TSPI_lineMakeCall ).
Es gibt keine direkt entsprechende Funktion auf TAPI-Ebene. Diese Prozedur entspricht dem Test, der für jede einzelne Zeile durch die lineOpen-Prozedur impliziert wird, wenn sie mit dem Gerätebezeichner LINEMAPPER aufgerufen wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | tspi.h |