Dela via


IDTSBuffer100 Interface

Represents an in-memory, two-dimensional storage object that contains rows and columns.

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

Syntax

'Declaration
<GuidAttribute("85864348-F482-4E59-83B7-DCD226253CA3")> _
<InterfaceTypeAttribute()> _
Public Interface IDTSBuffer100
'Usage
Dim instance As IDTSBuffer100
[GuidAttribute("85864348-F482-4E59-83B7-DCD226253CA3")]
[InterfaceTypeAttribute()]
public interface IDTSBuffer100
[GuidAttribute(L"85864348-F482-4E59-83B7-DCD226253CA3")]
[InterfaceTypeAttribute()]
public interface class IDTSBuffer100
[<GuidAttribute("85864348-F482-4E59-83B7-DCD226253CA3")>]
[<InterfaceTypeAttribute()>]
type IDTSBuffer100 =  interface end
public interface IDTSBuffer100

Remarks

The IDTSBuffer100 is an in-memory, two-dimensional data structure that contains rows and columns. Each column in a buffer has information that describes its data type, its offset location in memory in the row, its maximum size, and the lineage ID of the column in a component.

The data in each column is accessed either by using its offset as defined by the DTP_BUFFCOL structure, or by using the SetData and GetData methods, in which the data location of the column in the buffer is defined by handles to its row and column.

There are two types of buffers, private and public, which are created by the IDTSBufferManager100. Private buffers are created when requested by a data flow component and are used internally by the component. Public buffers are provided to the components in the data flow graph and filled and manipulated before arriving at the destination. Public buffers are created, managed, and destroyed by the IDTSBufferManager100.

Buffers are identified by their handles and are 1-based, which means they cannot have a value of zero or nulla null reference (Nothing in Visual Basic) unless they are invalid.

Managed component developers do not typically use the IDTSBuffer100 object unless they intend to create private buffers and implement the code necessary to interoperate between managed code and native code. Instead, they use the managed PipelineBuffer class.