PipelineComponent.BufferManager プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
重要
この API は CLS 準拠ではありません。
パイプライン コンポーネントの IDTSBufferManager100 を取得します。
public:
property Microsoft::SqlServer::Dts::Pipeline::Wrapper::IDTSBufferManager100 ^ BufferManager { Microsoft::SqlServer::Dts::Pipeline::Wrapper::IDTSBufferManager100 ^ get(); };
[System.CLSCompliant(false)]
public Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSBufferManager100 BufferManager { get; }
[<System.CLSCompliant(false)>]
member this.BufferManager : Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSBufferManager100
Public ReadOnly Property BufferManager As IDTSBufferManager100
プロパティ値
IDTSBufferManager100 オブジェクト。
- 属性
例
次のコード例は、BufferManager プロパティを使用して、PipelineBuffer 行内の列を検索する方法を示します。
using System;
using Microsoft.SqlServer.Dts.Pipeline;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
namespace Microsoft.Samples.SqlServer.Dts
{
public class SampleComponent : PipelineComponent
{
public override void ProcessInput( int InputID, PipelineBuffer buffer )
{
IDTSInput100 i = ComponentMetaData.InputCollection.GetObjectByID( InputID );
foreach( IDTSInputColumn100 col in i.InputColumnCollection)
{
int colIndex = BufferManager.FindColumnByLineageID(i.Buffer, col.LineageID);
BufferColumn bc =buffer.GetColumnInfo(colIndex);
}
}
}
}
Imports System
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Namespace Microsoft.Samples.SqlServer.Dts
Public Class SampleComponent
Inherits PipelineComponent
Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal buffer As PipelineBuffer)
Dim i As IDTSInput100 = ComponentMetaData.InputCollection.GetObjectByID(InputID)
For Each col As IDTSInputColumn100 In i.InputColumnCollection
Dim colIndex As Integer = BufferManager.FindColumnByLineageID(i.Buffer, col.LineageID)
Dim bc As BufferColumn = buffer.GetColumnInfo(colIndex)
Next
End Sub
End Class
End Namespace
注釈
BufferManager は、PreExecute メソッドのコンポーネントで最初に利用可能な読み取り専用の実行時プロパティです。
FindColumnByLineageID メソッドは、IDTSInputColumnCollection100 内で、コンポーネントの IDTSOutputColumnCollection100 または PipelineBuffer 内のコンポーネント列を検索するために使用されます。 PipelineBuffer に含まれる列の数はコンポーネントで予測した列の数より多い場合があるため、このメソッドが必要です。
また、BufferManager は、IDTSBuffer100、CreateBuffer、CreateFlatBuffer の各メソッドを使用して新しい CreateVirtualBuffer オブジェクトを作成するためにも使用されます。 ただし、これらのメソッドはマネージド コードではサポートされず、ネイティブ C++ コンポーネントを記述するときにのみ使用されます。