PipelineComponent.VariableDispenser Property

Gets the IDTSVariableDispenser100 of the data flow component.

This API is not CLS-compliant. 

Namespace:  Microsoft.SqlServer.Dts.Pipeline
Assembly:  Microsoft.SqlServer.PipelineHost (in Microsoft.SqlServer.PipelineHost.dll)


<CLSCompliantAttribute(False)> _
Public ReadOnly Property VariableDispenser As IDTSVariableDispenser100
Dim instance As PipelineComponent
Dim value As IDTSVariableDispenser100

value = instance.VariableDispenser
public IDTSVariableDispenser100 VariableDispenser { get; }
property IDTSVariableDispenser100^ VariableDispenser {
    IDTSVariableDispenser100^ get ();
member VariableDispenser : IDTSVariableDispenser100
function get VariableDispenser () : IDTSVariableDispenser100

Property Value

Type: Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSVariableDispenser100
The IDTSVariableDispenser100 object provided to the component.


The VariableDispenser is used to read and write variables in the package that contains the component. Before reading or writing a variable, it must be locked using one of the following methods; LockForRead, LockForWrite, LockOneForRead, or LockOneForWrite. After the variables are locked using the dispenser, they are available through the IDTSVariables100 interface.


The following example demonstrates how to use the VariableDispenser to lock a single variable, and multiple variables.

// Lock two variables, and then retrieve them by calling GetVariables.
IDTSVariables100 variables = null;

VariableDispenser.GetVariables(ref variables);

object variable1 = variables[0].Value;
object variable2 = variables[1].Value;

// Retrieve a single variable.
IDTSVariables100 variables = null;
VariableDispenser.LockOneForRead("variable1", ref variables);

object variable1 = variables[0].Value;
' Lock two variables, and then retrieve them by calling GetVariables.
Dim variables As IDTSVariables100 = Nothing 
Dim variable1 As Object = variables(0).Value 
Dim variable2 As Object = variables(1).Value 
Dim variables As IDTSVariables100 = Nothing 
VariableDispenser.LockOneForRead("variable1", variables) 
Dim variable1 As Object = variables(0).Value