MSDN Library


Windows Mobile 6.5
A version of this page is also available for

This function causes the provider of the specified line device to display a dialog box — attached to the hwndOwner parameter of the application — to enable the user to configure parameters related to the line device.

LONG lineConfigDialogEdit(
  DWORD dwDeviceID, 
  HWND hwndOwner, 
  LPCWSTR lpszDeviceClass, 
  LPVOID const lpDeviceConfigIn, 
  DWORD dwSize, 
  LPVARSTRING lpDeviceConfigOut


[in] Identifier of the line device to be configured.


[in] Handle to a window to which the dialog box is attached. Can be NULL to indicate that any window created during the function should have no owner window.


[in] Pointer to a null-terminated string that identifies a device class name. This device class enables the application to select specific configuration data applicable to that device class. This parameter is optional and can be left NULL, in which case the highest level configuration is selected. If an empty string is specified, the function fails and returns LINEERR_INVALDEVICECLASS.


[in] Pointer to the opaque configuration data structure returned by the lineGetDevConfig function, or a previous invocation of the lineConfigDialogEdit function, in the variable portion of the VARSTRING structure.


[in] Value that specifies the number of bytes in the structure pointed to by lpDeviceConfigIn. This value is returned in the dwStringSize member in the VARSTRING structure returned by lineGetDevConfig or a previous invocation of lineConfigDialogEdit.


[out] Pointer to the memory location of type VARSTRING, where the device configuration structure is returned. Upon successful completion of the request, this location is filled with the device configuration. The dwStringFormat member in the VARSTRING structure is set to STRINGFORMAT_BINARY. Prior to calling lineGetDevConfig, or a future call to lineConfigDialogEdit, the application should set the dwTotalSize member of this structure to indicate the amount of memory available to TAPI for returning data.

Zero indicates success. A negative error number indicates that an error occurred. The following table shows the return values for this function.

Value Description


Bad device id provided


Invalid device class


Invalid parameter provided


Invalid pointer


No device was found


No driver was found


Not enough memory


The operation failed


The operation is unavailable


The resource is unavailable


The structure is too small for the configuration


The parameter is uninitialized

If LINEERR_STRUCTURETOOSMALL is returned, the dwTotalSize member of the VARSTRING structure pointed to by lpDeviceConfigOut does not specify enough memory to contain the entire configuration structure. The dwNeededSize member has been set to the amount required. To the extent that user entries were reflected in data that could not be returned due to insufficient space, those edits are lost; an application should therefore allocate the maximum amount of memory needed by the device class to return its configuration structure.

The lineConfigDialogEdit function causes the service provider to display a modal dialog box, attached to hwndOwner of the application, to enable the user to configure parameters related to the line specified by dwDeviceID.

The lpszDeviceClass parameter enables the application to select a specific subscreen of configuration data applicable to the device class in which the user is interested; the permitted strings are the same as for lineGetID.

The lpszDeviceClass parameter would be tapi/line or NULL to cause the provider to display the highest level configuration for the line.

With lineConfigDialogEdit, the parameters to edit are passed from the application, and the results are returned to the application, with no impact on active connections. The results of the editing are returned with this function, and the application does not need to call lineGetDevConfig. Thus, lineConfigDialogEdit permits an application to provide the ability for the user to set up parameters for future calls without having an impact on any active call. However, the output of this function can be passed to the lineSetDevConfig function to affect the next call.

Windows Embedded CEWindows CE 1.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions

© 2016 Microsoft