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)

public interface IDTSBuffer100

System_CAPS_pubmethodAddBLOBData(Int32, Int32, Byte, UInt32)

Appends byte data to a column in an IDTSBuffer100.


Adds a new row to an IDTSBuffer100 object.


Creates a private copy of an IDTSBuffer100 object.

System_CAPS_pubmethodDirectErrorRow(Int32, Int32, Int32, Int32)

Sends a row in an IDTSBuffer100 object to an IDTSOutput100 whose IsErrorOut property is true.

System_CAPS_pubmethodDirectRow(Int32, Int32)

Sends a row in an IDTSBuffer100 to an IDTSOutput100.

System_CAPS_pubmethodGetBLOBData(Int32, Int32, UInt32, Byte, UInt32, UInt32)

Retrieves an array of bytes from a binary large object (BLOB) stored in a column of a IDTSBuffer100.

System_CAPS_pubmethodGetBLOBLength(Int32, Int32, UInt32)

Gets the number of bytes contained in a column in an IDTSBuffer100.

System_CAPS_pubmethodGetBLOBObject(Int32, Int32)

Gets an IDTSBLOBObject100 that is used to read and write the bytes in a column in an IDTSBuffer100.

System_CAPS_pubmethodGetBLOBStream(Int32, Int32)

Gets an IStream interface used to access the binary large object (BLOB) stored in a column in an IDTSBuffer100.

System_CAPS_pubmethodGetBoundaryInfo(UInt32, UInt32)

Gets the number of columns and the maximum number of rows that an IDTSBuffer100 can hold.


Gets the number of columns in an IDTSBuffer100.

System_CAPS_pubmethodGetColumnInfo(Int32, DTP_BUFFCOL)

Gets the DTP_BUFFCOL structure for the specified column in an IDTSBuffer100.

System_CAPS_pubmethodGetData(Int32, Int32)

Retrieves the data stored in a specified row and column of a IDTSBuffer100.

System_CAPS_pubmethodGetDataByRef(Int32, Int32)

(Feature deprecated, see Remarks.) Gets a pointer to the data stored in a column in an IDTSBuffer100.


Gets a pointer to the bytes stored by an IDTSBuffer100.


Retrieves the ID of a buffer.


Gets a buffer manager.


Gets the number of rows stored in an IDTSBuffer100.

System_CAPS_pubmethodGetRowDataBytes(Int32, Int32, IntPtr)

(Feature deprecated, see Remarks.) Gets a pointer to the start of a row in an IDTSBuffer100.

System_CAPS_pubmethodGetRowStarts(UInt32, IntPtr)

(Feature deprecated, see Remarks.) Use the GetData or GetBLOBData method instead of the GetRowStarts method.

System_CAPS_pubmethodGetStatus(Int32, Int32, UInt32)

Retrieves the status information of a column in an IDTSBuffer100.


Gets the handle of a buffer type.


Specifies whether an IDTSBuffer100 has reached the end of its collection of rows.

System_CAPS_pubmethodIsNull(Int32, Int32, Boolean)

Checks whether a specified column is null.


Locks the data in an IDTSBuffer100.

System_CAPS_pubmethodMoveRow(Int32, Int32)

Moves a row in an IDTSBuffer100 to a new location.


Sets the status value of the columns in a range of rows.


Deletes a row from an IDTSBuffer100.

System_CAPS_pubmethodResetBLOBData(Int32, Int32)

Deletes the bytes stored in a column in an IDTSBuffer100.

System_CAPS_pubmethodSetBLOBFromObject(Int32, Int32, IDTSBLOBObject100)

Assigns the data contained in an IDTSBLOBObject100 to a column in an IDTSBuffer100.

System_CAPS_pubmethodSetBLOBFromStream(Int32, Int32, ISequentialStream)

Assigns data to a binary large object (BLOB) column from a sequential stream.

System_CAPS_pubmethodSetData(Int32, Int32, DTP_VARIANT)

Assigns data to a column in an IDTSBuffer100.


Notifies an IDTSBufferManager100 that the component has finished adding rows to an output IDTSBuffer100 object.

System_CAPS_pubmethodSetErrorInfo(Int32, Int32, Int32, Int32)

Sets the error information for a row.

System_CAPS_pubmethodSetStatus(Int32, Int32, UInt32)

Sets the status information of a column in an IDTSBuffer100.

System_CAPS_pubmethodSwapRows(Int32, Int32)

Swaps the location of two rows in an IDTSBuffer100.


Unlocks the data in an IDTSBuffer100 object.

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 null 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.

Return to top