Freigeben über


lineGetDevCapsA-Funktion (tapi.h)

Die lineGetDevCaps-Funktion fragt ein angegebenes Leitungsgerät ab, um seine Telefoniefunktionen zu ermitteln. Die zurückgegebenen Informationen sind für alle Adressen auf dem Zeilengerät gültig.

Syntax

LONG lineGetDevCapsA(
  HLINEAPP      hLineApp,
  DWORD         dwDeviceID,
  DWORD         dwAPIVersion,
  DWORD         dwExtVersion,
  LPLINEDEVCAPS lpLineDevCaps
);

Parameter

hLineApp

Behandeln Sie die Registrierung der Anwendung mit TAPI.

dwDeviceID

Bezeichner des zu abfragenden Leitungsgeräts.

dwAPIVersion

Versionsnummer der zu verwendenden Telefonie-API. Das Hochreihenfolgenwort enthält die Hauptversionsnummer; Das Wort mit niedriger Reihenfolge enthält die Nebenversionsnummer. Diese Zahl wird von lineNegotiateAPIVersionabgerufen.

dwExtVersion

Versionsnummer der zu verwendenden Dienstanbietererweiterungen. Diese Zahl wird von lineNegotiateExtVersionabgerufen. Es kann null bleiben, wenn keine gerätespezifischen Erweiterungen verwendet werden sollen. Andernfalls enthält das Wort "Hochreihenfolge" die Hauptversionsnummer; Das Wort mit niedriger Reihenfolge enthält die Nebenversionsnummer.

lpLineDevCaps

Zeiger auf eine variabel angepasste Struktur des Typs LINEDEVCAPS. Nach erfolgreichem Abschluss der Anforderung wird diese Struktur mit Informationen über die Zeilengerätefunktionen gefüllt. Vor dem Aufrufen lineGetDevCaps-muss die Anwendung das dwTotalSize Mitglied dieser Struktur festlegen, um die Menge des für TAPI verfügbaren Arbeitsspeichers für die Rückgabe von Informationen anzugeben.

Hinweis Wenn die Größenparameter in der Struktur nicht korrekt sind, besteht die Möglichkeit, dass Daten überschrieben werden können. Weitere Informationen zum Festlegen von Strukturgrößen finden Sie im Thema Speicherzuordnung Thema.
 

Rückgabewert

Gibt Null zurück, wenn die Anforderung erfolgreich ist oder eine negative Fehlernummer auftritt, wenn ein Fehler auftritt. Mögliche Rückgabewerte sind:

LINEERR_BADDEVICEID, LINEERR_NOMEM, LINEERR_INCOMPATIBLEAPIVERSION, LINEERR_OPERATIONFAILED, LINEERR_INCOMPATIBLEEXTVERSION, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALAPPHANDLE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NODRIVER, LINEERR_OPERATIONUNAVAIL, LINEERR_NODEVICE.

Bemerkungen

Bevor Sie lineGetDevCapsverwenden, muss die Anwendung die zu verwendende API-Versionsnummer aushandeln und ggf. die zu verwendende Erweiterungsversion.

Die API- und Erweiterungsversionsnummern sind diejenigen, unter denen TAPI und der Dienstanbieter ausgeführt werden müssen. Wenn Versionsbereiche nicht überlappen, sind die Anwendungs-, API- oder Dienstanbieterversionen inkompatibel und es wird ein Fehler zurückgegeben.

Eines der Elemente in der LINEDEVCAPS- Struktur, die von dieser Funktion zurückgegeben wird, enthält die Anzahl der Adressen, die dem angegebenen Zeilengerät zugewiesen sind. Die tatsächlichen Adressbezeichner, die zum Verweisen auf einzelne Adressen verwendet werden, variieren von Null bis 1 kleiner als die zurückgegebene Zahl. Die Funktionen jeder Adresse können unterschiedlich sein. Verwenden Sie lineGetAddressCaps- für jede verfügbare <dwDeviceID-, dwAddressID> Kombination, um die genauen Funktionen jeder Adresse zu bestimmen. Beachten Sie, dass eine Adress-ID dauerhaft einer Adresse zugeordnet ist; der Bezeichner bleibt für Betriebssystemupgrades konstant.

Anmerkung

Der header tapi.h definiert lineGetDevCaps als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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

Siehe auch

Referenz zu grundlegenden Telefoniediensten

LINEDEVCAPS-

TAPI 2.2 Referenzübersicht

lineGetAddressCaps-

lineNegotiateAPIVersion

lineNegotiateExtVersion