## Parameter.ConnectFromPreset2

### Introduced

v7.0

### Description

Creates a DataSource object from a preset name and connects it to the parameter. This method can be used to connect a single output shader to a parameter from the shader preset, in which case the Shader object is returned. It can also be used to connect a multi output shader or shader compound to a parameter, in which case the Parameter object representing the connected source is returned.
Note: This method uses output arguments. C# and some scripting languages (such as JScript, PerlScript and Python) don't support arguments passed by reference. Normally for scripting you can get the output arguments via the ISIVTCollection, but this method already returns a value (C# cannot use this workaround because it does not have access to the ISIVTCollection).
The only available workaround in this case is to create a VBScript custom command which returns both the output arguments and the return value in one array. For details, see What Happens when the Function Already Returns a Value?.

### C# Syntax

    DataSource Parameter.ConnectFromPreset2( String in_PresetName, String in_PresetFamily, String in_SourceName, Object& out_pvPrevDataSource );

### Scripting Syntax

    oReturn = Parameter.ConnectFromPreset2( Name, [SourceName], Family, [PrevDataSource] );

### Return Value

The newly created object of a type based on the preset used, for example a Shader (see the DataSource topic).

### Parameters

Parameter | Type | Description
--- | --- | ---
Name | String | The name of the preset (see the list of Shader Presets)
SourceName | String | The name of the source (or output port) on the shader we want to create. Leave empty to connect to default output or for single-output shaders.
Family | siFamily | The family name of the preset
PrevDataSource | DataSource object | The previously connected datasource if any; Nothing is returned it there is not previously connected datasource.

### See Also

Parameter.ConnectFromPreset Parameter.ConnectFromFile2 Parameter.ConnectFromProgID2