Overview

A pipeline component is a Component Object Model (COM) server object that implements the IPipelineComponent interface. The following is the definition of this interface that appears in pipecomp.idl:

interface IPipelineComponent : IUnknown
    {
        import "oaidl.idl";

        HRESULT Execute(
                    [in]            IDispatch*  pdispOrder,
                    [in]            IDispatch*  pdispContext,
                    [in]            LONG        lFlags,
                    [out,retval]    LONG*       plErrorLevel
                );

        //
        // By default, a pipeline is in "execution mode", this call is         // used to prepare the pipeline for "design mode" (fEnable ==             //  TRUE) or to go to design mode (fEnable = FALSE).
        //

        HRESULT EnableDesign( [in]    BOOL fEnable );

    };

When the pipeline creates an instance of a component, it requests an interface pointer on the component's IPipelineComponent implementation, then uses this pointer to invoke IPipelineComponent::Execute.

The IPipelineComponent is the only interface that a component must implement to function within the pipeline. However, to enhance a component's usability, or to take advantage of the transaction capabilities of Microsoft Transaction Server, you may also design your component to implement one or more of the following interfaces:

Note

If you are designing an object to be used by the Mapping components included in the Commerce Interchange Pipeline (CIP), the component must implement either IPersistStreamInit or IPersistXML.


© 1997-1998 Microsoft Corporation. All rights reserved.