Home COM GDI+ WebBrowser Data Access

IDXTransformFactory Interface

 

CLSID_DXTransformFactory

{D1FE6762-FC48-11D0-883A-3C8B00C10000}

IID_IDXTransformFactory

{6A950B2B-A971-11D1-81C8-0000F87557DB}

 

 

The IDXTransformFactory interface creates and initializes a transform. It is created by calling the CoCreateInstance method and specifying CLSID_DXTransformFactory as the class identifier (CLSID) and IID_IDXTransformFactory as the interface identifier (ID).

Remarks

You can use the IDXTransformFactory::CreateTransform method to create and initialize a transform in one step. Alternatively, you can use the Component Object Model (COM) CoCreateInstance method to create the transform and initialize it by using the IDXTransformFactory::InitializeTransform method. After the transform is created and initialized, it can be executed by using IDXTransform::Setup and then IDXTransform::Execute.

IDXTransformFactory also provides support services to transforms through the IServiceProvider interface. An important service that this interface provides is access to the IDXSurfaceFactory interface, which is exposed when the DXTransformFactory is created. A pointer to the DXSurfaceFactory can be obtained by calling the IServiceProvider::QueryService method on IDXTransformFactory with SID_DXSurfaceFactory as the service ID. The pointer to the DXSurfaceFactory can then be used to create a DXSurface. Furthermore, the task management service is created and added to the factory upon first query by default. You can add service providers through the IDXTransformFactory::SetService method. These services can be requested later, potentially by different transforms. A transform typically tries to obtain a service from the factory before it creates and adds a new one. This avoids duplication of identical servers across the simultaneously active transforms.

For more information on how to use this interface in your application, see About Transforms and DXSurfaces overview article.

This interface inherits from the standard COM interface IServiceProvider.
 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IServiceProvider Members

Description

QueryService

Acts as the factory method for any services exposed through an implementation of IServiceProvider.

IDXTransformFactory Members

Description

SetService

Adds a service provider to the Transform Factory.

CreateTransform

Creates and initializes a transform.

InitializeTransform

Initializes a transform that has been created by the caller

 

RemoteQueryService

 

FUNCTION IDXTransformFactory_RemoteQueryService ( _
  BYVAL
pthis AS DWORD PTR _

, BYREF guidService AS GUID _

, BYREF riid AS GUID _

, BYREF ppvObject AS DWORD _

  ) AS LONG

  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[3] USING IDXTransformFactory_RemoteQueryService (pthis, guidService, riid, ppvObject) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

SetService

 

FUNCTION IDXTransformFactory_SetService ( _
  BYVAL
pthis AS DWORD PTR _

, BYREF guidService AS GUID _

, BYVAL pUnkService AS DWORD _

, BYVAL bWeakReference AS LONG _

  ) AS LONG

  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[4] USING IDXTransformFactory_SetService (pthis, guidService, pUnkService, bWeakReference) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

CreateTransform

 

FUNCTION IDXTransformFactory_CreateTransform ( _
  BYVAL
pthis AS DWORD PTR _

, BYVAL punkInputs AS DWORD PTR _

, BYVAL ulNumInputs AS DWORD _

, BYVAL punkOutputs AS DWORD PTR _

, BYVAL ulNumOutputs AS DWORD _

, BYVAL pInitProps AS DWORD _

, BYVAL pErrLog AS DWORD _

, BYREF TransCLSID AS GUID _

, BYREF TransIID AS GUID _

, BYREF ppTransform AS DWORD _

  ) AS LONG

  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[5] USING IDXTransformFactory_CreateTransform (pthis, punkInputs, ulNumInputs, punkOutputs, ulNumOutputs, pInitProps, pErrLog, TransCLSID, TransIID, ppTransform) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

InitializeTransform

 

FUNCTION IDXTransformFactory_InitializeTransform ( _
  BYVAL
pthis AS DWORD PTR _

, BYVAL pTransform AS DWORD _

, BYVAL punkInputs AS DWORD PTR _

, BYVAL ulNumInputs AS DWORD _

, BYVAL punkOutputs AS DWORD PTR _

, BYVAL ulNumOutputs AS DWORD _

, BYVAL pInitProps AS DWORD _

, BYVAL pErrLog AS DWORD _

  ) AS LONG

  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[6] USING IDXTransformFactory_InitializeTransform (pthis, pTransform, punkInputs, ulNumInputs, punkOutputs, ulNumOutputs, pInitProps, pErrLog) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

Page last updated on Monday, 03 April 2006 19:50:43 +0200