Share via


MainPipeClass.GetNextPasteID Method

Gets the next available ID that a data flow task generates.

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

Syntax

'Declaration
Public Overridable Function GetNextPasteID As Integer
'Usage
Dim instance As MainPipeClass
Dim returnValue As Integer

returnValue = instance.GetNextPasteID()
public virtual int GetNextPasteID()
public:
virtual int GetNextPasteID()
abstract GetNextPasteID : unit -> int 
override GetNextPasteID : unit -> int 
public function GetNextPasteID() : int

Return Value

Type: System.Int32
The next available unique ID in the data flow layout.

Implements

IDTSPipeline100.GetNextPasteID()

Remarks

The data flow task generates object IDs in sequence. This method retrieves the next available unique ID and increments.

Examples

The following code example demonstrates the sequential creation of IDs assigned to data flow objects.

using System;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;

namespace Microsoft.Samples.SqlServer.Dts
{
    public class Class1
    {
        public static void Main(string []args)
        {
            Package p = new Package();
            MainPipe mp = ((TaskHost)p.Executables.Add("SSIS.Pipeline.2")).InnerObject as MainPipe;
            for(int x=0; x<10; x++)
            {
                Console.WriteLine("NextPasteID: " + mp.GetNextPasteID());
                Console.WriteLine("MetaDataID: " + mp. ComponentMetaDataCollection.New().ID);
            }
        }
    }

}
Imports System 
Imports Microsoft.SqlServer.Dts.Runtime 
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper 
Namespace Microsoft.Samples.SqlServer.Dts 

 Public Class Class1 

   Public Shared Sub Main(ByVal args As String()) 
     Dim p As Package = New Package 
     Dim mp As MainPipe = CType(CType(p.Executables.Add("SSIS.Pipeline.2"), TaskHost).InnerObject, MainPipe) 
     Dim x As Integer = 0 
     While x < 10 
       Console.WriteLine("NextPasteID: " + mp.GetNextPasteID) 
       Console.WriteLine("MetaDataID: " + mp.ComponentMetaDataCollection.New.ID) 
       System.Math.Min(System.Threading.Interlocked.Increment(x),x-1) 
     End While 
   End Sub 
 End Class 
End Namespace

The above code generates the following output.

NextPasteID: 1

MetaDataID: 2

NextPasteID: 3

MetaDataID: 4

NextPasteID: 5

MetaDataID: 6

NextPasteID: 7

MetaDataID: 8

NextPasteID: 9

MetaDataID: 10

NextPasteID: 11

MetaDataID: 12

NextPasteID: 13

MetaDataID: 14

NextPasteID: 15

MetaDataID: 16

NextPasteID: 17

MetaDataID: 18

NextPasteID: 19

MetaDataID: 20