Pipeline Component Interfaces
Microsoft Commerce Server 2000 defines a set of Component Object Model (COM) interfaces known as pipeline interfaces. In addition, pipeline components often implement one or more generic persistence interfaces defined by Commerce Server, as well as the standard OLE interfaces ISpecifyPropertyPages and IPersistStreamInit.
Every pipeline component must support the IPipelineComponent interface. Without this interface, a Commerce Server pipeline will not be able to execute the component. The remaining interfaces are optional. They expose various types of functionality that allow new components to fit smoothly into the Commerce Server architecture.
The following table lists the required IPipelineComponent interface and the other optional interfaces.
Interface | Description |
IPipelineComponent | Executes the component.
This interface is required. |
IPipelineComponentAdmin | Sets and retrieves the properties on a component using a Dictionary object.
This interface is optional. |
IPipelineComponentDescription | Uses a SAFEARRAY to identify the OrderForm object and PipeContext object elements that a component reads and writes.
This interface is optional. |
IPipelineComponentUI | Displays a dialog box for configuring a pipeline component.
This interface is optional. |
ISpecifyPipelineComponentUI | Determines the object that will be invoked through the IPipelineComponentUI interface to display the dialog box for the component.
This interface is optional. |
ISpecifyPropertyPages | Indicates that the object supports property pages.
This is a standard OLE interface. This interface is optional. |
IPersistStreamInit | Persists the data associated with an object to a stream. This is the form of persistence used in the Active Template Library (ATL) Pipeline Wizard.
This is a standard OLE interface. This interface is optional. |
IPersistDictionary | Persists the data associated with an object to a Dictionary object.
This is a generic persistence interface defined by Commerce Server. This interface is optional. |