lineConfigDialogEdit
The 
lineConfigDialogEdit function causes the provider of the specified line device to display a dialog
(attached to 
hwndOwner of the application) to allow the user to configure parameters related to the
line device. 
LONG lineConfigDialogEdit(
    DWORD dwDeviceID,
  | 
  | 
    HWND hwndOwner,
  | 
  | 
    LPCSTR lpszDeviceClass,
  | 
  | 
    LPVOID const lpDeviceConfigIn,
  | 
  | 
    DWORD dwSize,
  | 
  | 
    LPVARSTRING lpDeviceConfigOut
  | 
  | 
   );
  | 
  | 
 
Parameters
dwDeviceID 
The line device to be configured. 
hwndOwner 
A handle to a window to which the dialog is to be attached. Can be NULL to
indicate that any window created during the function should have no owner window. 
lpszDeviceClass 
A pointer to a NULL-terminated string that identifies a device class name.
This device class allows the application to select a specific subscreen of
configuration information applicable to that device class. This parameter is optional
and can be left NULL or empty, in which case the highest level configuration is
selected. 
lpDeviceConfigIn 
A pointer to the opaque configuration data structure that was returned by 
lineGetDevConfig (or a previous invocation of 
lineConfigDialogEdit) in the variable portion of the 
VARSTRING structure. 
dwSize 
The number of bytes in the structure pointed to by 
lpDeviceConfigIn. This value will have been returned in the 
dwStringSize field in the 
VARSTRING structure returned by 
lineGetDevConfig or a previous invocation of 
lineConfigDialogEdit. 
lpDeviceConfigOut 
A 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 field in the 
VARSTRING structure will be set to STRINGFORMAT_BINARY. Prior to calling 
lineGetDevConfig (or a future invocation of 
lineConfigDialogEdit), the application should set the 
dwTotalSize field of this structure to indicate the amount of memory available to TAPI
for returning information. 
 
Return Values
Returns zero if the request is successful or a negative error number if an
error has occurred. Possible return values are: 
LINEERR_BADDEVICEID, LINEERR_OPERATIONFAILED, LINEERR_INVALDEVICECLASS,
LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPARAM, LINEERR_STRUCTURETOOSMALL,
LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NODRIVER, LINEERR_OPERATIONUNAVAIL,
LINEERR_NOMEM, LINEERR_NODEVICE.
Remarks
If LINEERR_STRUCTURETOOSMALL is returned, the 
dwTotalSize field of the 
VARSTRING structure pointed to by 
lpDeviceConfigOut does not specify enough memory to contain the entire configuration structure.
The 
dwNeededSize field has been set to the amount required. To the extent that user entries
were reflected in information that could not be returned due to insufficient
space, those edits are lost; applications should therefore allocate the maximum
amount of space that may be needed by the device class to return its configuration
structure (for more information, see documentation for the device class). 
The 
lineConfigDialogEdit function causes the service provider to display a modal dialog (attached to 
hwndOwner of the application) to allow the user to configure parameters related to the
line specified by 
dwDeviceID. 
The 
lpszDeviceClass parameter allows the application to select a specific subscreen of
configuration information applicable to the device class in which the user is interested;
the permitted strings are the same as for 
lineGetID. For example, if the line supports the Comm API, passing "COMM" as 
lpszDeviceClass causes the provider to display the parameters related specifically to Comm
(or, at least, start at the corresponding point in a multilevel configuration
dialog chain, so the user doesn't have to "dig" to find the parameters of
interest). 
The 
lpszDeviceClass parameter would be "tapi/line" , "", or NULL to cause the provider to display
the highest level configuration for the line. 
The difference between this function and 
lineConfigDialog is the source of the parameters to edit and the result of the editing. In 
lineConfigDialog, the parameters edited are those currently in use on the device (or set for
use on the next call), and any changes made have (to the maximum extent
possible) an immediate impact on any active connection; also, the application must use 
lineGetDevConfig to fetch the result of parameter changes from 
lineConfigDialog. With 
lineConfigDialogEdit, the parameters to edit are passed in 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. Note, however,
the output of this function can be passed to 
lineSetDevConfig to affect the current call or next call. 
Although this is a new function which older applications would not be expected
to call, for backward compatibility, they should not be prevented from doing
so; the function will work the same way for all applications. 
See Also
lineConfigDialog, 
lineGetDevConfig,
 lineGetID,
 lineSetDevConfig, 
VARSTRING
			
				- Software for developers
				
 - 
				Delphi Components
				.Net Components
				Software for Android Developers
				 - More information resources
				
 - 
				MegaDetailed.Net
				Unix Manual Pages
				Delphi Examples