The Initialize method allows the transformation server to initialize its state for the current transformation.
HRESULT Initialize (
VARIANT ServerParameters,
LPBYTE *ppvTransformServerData );
Argument | Description |
---|---|
ServerParameters [in] | Parameters to server for this transformation |
*ppvTransformServerData [out] | Transformation server state data |
An instance of the transformation server object is created by ServerClsid passed to IDTSDataPump::AddTransform, unless this is an IUnknown object.
ServerParameters allows the data pump consumer to create an instance of an IDTSDataPumpTransform implementation and pass it to multiple IDTSDataPump::AddTransform calls. This is only used by custom transformation servers, and can be helpful for internal operations such as aggregations. The transformation server should track this in the pvTransformServerData parameter to optimize operations such as AddVariable, OnRowComplete, and so on.
The transformation flags define the data type promotion, demotion, and conversions that are allowed. Additional custom properties may be defined through a custom interface, in which case the object (such as an IUnknown object) must be created and edited prior to the object being passed to IDTSDataPump::AddTransform.
The output LPBYTE is passed to all subsequent methods, so a single instance of a transformation server can be used to implement multiple separate transformations.