CreateTransform method

Creates and initializes a transform.

Syntax

HRESULT retVal = object.CreateTransform(punkInputs, ulNumInputs, punkOutputs, ulNumOutputs, pInitProps, pErrLog, TransCLSID, TransIID, ppTransform);

Parameters

  • punkInputs [in]
    Type: IUnknown

    Address of a pointer to an array of input data object interface pointers that the transform will use. Specify NULL if the transform does not use any inputs.

  • ulNumInputs [in]
    Type: unsigned long

    Number of data objects referred to by the punkInputs parameter. Can be zero if the transform does not use any inputs.

  • punkOutputs [in]
    Type: IUnknown

    Address of a pointer to an array of output data object interface pointers. Can be NULL.

  • ulNumOutputs [in]
    Type: unsigned long

    Number of data objects referred to by the punkOutputs parameter.

  • pInitProps [in]
    Type: [IPropertyBag](aa768196(v=vs.85).md)

    Pointer to an optional property bag used to initialize the transform. Can be NULL.

  • pErrLog [in]
    Type: IErrorLog

    Pointer to an optional error log object used during property persistence. Can be NULL.

  • TransCLSID [in]
    Type: REFCLSID

    CLSID of the transform to create.

  • TransIID [in]
    Type: REFIID

    IID of the transform type to return.

  • ppTransform [out]
    Type: void

    Address of a pointer to the requested interface from the new transform.

Remarks

If the number of inputs and outputs is set to zero, this method will not use IDXTransform::Setup on the transform. This enables you to create a transform and defer setup until a later time.