lineConfigDialogEditW-Funktion (tapi.h)

Die lineConfigDialogEdit--Funktion bewirkt, dass der Anbieter des angegebenen Liniengeräts ein Dialogfeld anzeigt (an hwndOwner der Anwendung angefügt), damit der Benutzer Parameter im Zusammenhang mit dem Leitungsgerät konfigurieren kann.

Syntax

LONG lineConfigDialogEditW(
  DWORD        dwDeviceID,
  HWND         hwndOwner,
  LPCWSTR      lpszDeviceClass,
  LPVOID const lpDeviceConfigIn,
  DWORD        dwSize,
  LPVARSTRING  lpDeviceConfigOut
);

Parameter

dwDeviceID

Bezeichner des zu konfigurierenden Leitungsgeräts.

hwndOwner

Handle zu einem Fenster, an das das Dialogfeld angefügt werden soll. Kann NULL- sein, um anzugeben, dass jedes Fenster, das während der Funktion erstellt wurde, kein Besitzerfenster aufweisen sollte.

lpszDeviceClass

Zeigen Sie auf eine NULL--terminated-Zeichenfolge, die einen Geräteklassennamen identifiziert. Mit dieser Geräteklasse kann die Anwendung einen bestimmten Unterbildschirm der Konfigurationsinformationen auswählen, die für diese Geräteklasse gelten. Dieser Parameter ist optional und kann NULL- oder leer gelassen werden, in diesem Fall wird die Konfiguration der höchsten Ebene ausgewählt.

lpDeviceConfigIn

Zeiger auf die undurchsichtige Konfigurationsdatenstruktur, die von lineGetDevConfig- (oder einem vorherigen Aufruf von lineConfigDialogEdit) im variablen Teil der VARSTRING- Struktur zurückgegeben wurde.

dwSize

Anzahl der Bytes in der Struktur, auf die durch lpDeviceConfigInverwiesen wird. Dieser Wert wird im dwStringSize Member in der VARSTRING- Struktur zurückgegeben, die von lineGetDevConfig oder einem vorherigen Aufruf von lineConfigDialogEditzurückgegeben wird.

lpDeviceConfigOut

Zeigen Sie auf den Speicherort des Typs VARSTRING wo die Gerätekonfigurationsstruktur zurückgegeben wird. Nach erfolgreichem Abschluss der Anforderung wird dieser Speicherort mit der Gerätekonfiguration gefüllt. Der dwStringFormat Member in der VARSTRING- Struktur wird auf STRINGFORMAT_BINARY festgelegt. Vor dem Aufrufen lineGetDevConfig- (oder eines zukünftigen Aufrufs von lineConfigDialogEdit) sollte die Anwendung die dwTotalSize Member dieser Struktur festlegen, um die Menge des arbeitsspeicher verfügbaren TAPI für die Rückgabe von Informationen anzugeben.

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_OPERATIONFAILED, LINEERR_INVALDEVICECLASS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPARAM, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NODRIVER, LINEERR_OPERATIONUNAVAIL, LINEERR_NOMEM, LINEERR_NODEVICE.

Bemerkungen

Wenn LINEERR_STRUCTURETOOSMALL zurückgegeben wird, gibt die dwTotalSize Member der VARSTRING- Struktur, auf die durch lpDeviceConfigOut- verweist, nicht genügend Arbeitsspeicher an, um die gesamte Konfigurationsstruktur zu enthalten. Der dwNeededSize Member wurde auf den erforderlichen Betrag festgelegt. Soweit Benutzereinträge in Informationen widergespiegelt wurden, die aufgrund unzureichender Speicherplatzes nicht zurückgegeben werden konnten, gehen diese Bearbeitungen verloren; Anwendungen sollten daher den maximalen Speicherplatz zuweisen, der von der Geräteklasse benötigt werden kann, um ihre Konfigurationsstruktur zurückzugeben (weitere Informationen finden Sie unter TAPI-Geräteklassen).

Die lineConfigDialogEdit--Funktion bewirkt, dass der Dienstanbieter ein modales Dialogfeld (angefügt an hwndOwner der Anwendung) anzeigt, um dem Benutzer das Konfigurieren von Parametern im Zusammenhang mit der durch dwDeviceIDangegebenen Zeile zu ermöglichen.

Der parameter lpszDeviceClass ermöglicht der Anwendung, einen bestimmten Unterbildschirm der Konfigurationsinformationen auszuwählen, die für die Geräteklasse gelten, an der der Benutzer interessiert ist; die zulässigen Zeichenfolgen sind identisch mit lineGetID-. Wenn die Zeile z. B. die Comm-API unterstützt, wird "COMM" als lpszDeviceClass übergeben, sodass der Anbieter die speziell auf Comm bezogenen Parameter anzeigt (oder zumindest an dem entsprechenden Punkt in einer Mehrebenen-Konfigurationsdialogfeldkette beginnt, sodass der Benutzer nicht "dig" muss, um die relevanten Parameter zu finden).

Der parameter lpszDeviceClass wäre "tapi/line", "" oder NULL-, damit der Anbieter die Konfiguration der höchsten Ebene für die Zeile anzeigt.

Der Unterschied zwischen dieser Funktion und lineConfigDialog ist die Quelle der zu bearbeitenden Parameter und das Ergebnis der Bearbeitung. In lineConfigDialogsind die bearbeiteten Parameter diejenigen, die derzeit auf dem Gerät verwendet werden (oder für die Verwendung im nächsten Aufruf festgelegt sind), und alle vorgenommenen Änderungen haben (soweit möglich) sofortige Auswirkungen auf jede aktive Verbindung; Außerdem muss die Anwendung lineGetDevConfig- verwenden, um das Ergebnis von Parameteränderungen aus lineConfigDialogabzurufen. Mit lineConfigDialogEditwerden die zu bearbeitenden Parameter aus der Anwendung übergeben, und die Ergebnisse werden an die Anwendung zurückgegeben, ohne dass sich dies auf aktive Verbindungen auswirkt; die Ergebnisse der Bearbeitung werden mit dieser Funktion zurückgegeben, und die Anwendung muss nicht lineGetDevConfigaufrufen. Daher ermöglicht lineConfigDialogEdit einer Anwendung, dem Benutzer die Möglichkeit zu bieten, Parameter für zukünftige Aufrufe einzurichten, ohne auswirkungen auf einen aktiven Aufruf zu haben. Die Ausgabe dieser Funktion kann jedoch an lineSetDevConfig übergeben werden, um den aktuellen Aufruf oder den nächsten Aufruf zu beeinflussen.

Anmerkung

Der header tapi.h definiert lineConfigDialogEdit 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

Siehe auch

Referenz zu grundlegenden Telefoniediensten

TAPI 2.2 Referenzübersicht

VARSTRING-

lineConfigDialog-

lineGetDevConfig-

lineGetID-

lineSetDevConfig-