IDTSDataPumpTransform::OnRowComplete

DTS Programming

DTS Programming

IDTSDataPumpTransform::OnRowComplete

The OnRowComplete method is called after every successful fetch operation, allowing the transformation server to free per-row allocations and client-owned data in both source and destination rows.

Syntax

HRESULT OnRowComplete ( LPBYTE pvTransformServerData,
LPDTSTransformColumnInfo pSrcColumnInfo,
LPDTSTransformColumnInfo pDestColumnInfo,
IDTSDataConvert *pIDTSDataConvert,
DTSTransformStatus eTransformStatus,
HRESULT hrInsert );

Argument Description
pvTransformServerData [in] Transform server state data
pSrcColumnInfo [in/out] Source column and row data
pDestColumnInfo [in/out] Destination column and row data
pIDTSDataConvert [in] Pointer to the data conversion interface
eTransformStatus [in] Result of Execute
hrInsert [in] Result of IRowsetChange::InsertRow

Remarks

After a successful fetch operation, the data pump calls Execute and attempts to insert the row into the destination using IRowsetChange::InsertRow, if specified. OnRowComplete is called for every successful fetch operation, regardless of whether Execute or InsertRow succeeded or failed. If OnRowComplete returns FAILED, the data pump terminates.

hrInsert indicates whether IRowsetChange::InsertRow succeeded.

eTransformStatus indicates whether errors occurred that resulted in no call to InsertRow. OLE DB requires that IRowsetChange::InsertRow release any storage objects contained in the row; therefore, the transformation server must be careful not to call pIDTSDataConvert->ClearBindingData on a storage object that has already been released.