Execute method

Executes the transform operation given the specified portion bounds and places the result in the destination data object.


HRESULT retVal = object.Execute(pRequestID, pClipBnds, pPlacement);


  • pRequestID [in]
    Type: const GUID

    Pointer to an optional request ID that identifies a scheduled task. If execution causes the work to be broken into parallel tasks that are scheduled with the task manager, this ID is associated with each of those tasks.

  • pClipBnds [in]
    Type: const DXBNDS

    Pointer to a DXBNDS structure that specifies the portion of the transform's output space to render. NULL implies that the transform's entire output space should be rendered. This parameter is used by a container in cases where only a portion of the output of the transform is needed for the final composition.

  • pPlacement [in]
    Type: const DXVEC

    Pointer to a DXVEC structure that specifies the position of the resulting object on the output object. For DXSurfaces, this value is an offset position from the upper-left corner of the output surface.


This method computes the result of applying the transform on zero or more input objects and produces the output object specified by the IDXTransform::Setup method. It breaks the work into suitably sized pieces and spreads them evenly among the available processors in the system using the IDXTaskManager interface. The scheduled tasks are identified by the optional request ID parameter pRequestID. Another thread can use this ID to cancel transform execution.

If no output data was specified in the IDXTransform::Setup method, this method allocates and return an output data object containing the result.