# IShComponentUtilities Struct Reference
[Shell Utilities]

Utilities for handling components. More...

Inheritance diagram for IShComponentUtilities:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | CoCreateInstance (const MCCLSID &rclsid, IMCUnknown *pUnkOuter, uint32 dwClsContext, const MCIID &riid, void **ppv)=0
virtual MCCOMErr MCCOMAPI | CreateComponent (IDType familyID, IDType classID, IShComponent **component)=0
virtual MCCOMErr MCCOMAPI | CreateComponent (IDType familyID, IDType classID, int32 version, IShComponent **component)=0
virtual MCCOMErr MCCOMAPI | CreateIUnknown (IDType familyID, IDType classID, IMCUnknown *pUnkOuter, IMCUnknown **component)=0
virtual MCCOMErr MCCOMAPI | CreateDefaultComponent (IDType familyID, IShComponent **component)=0
virtual MCCOMErr MCCOMAPI | GetComponentClassInfoArrayByFamilyID (IDType familyID, TMCArray< TComponentClassInfo > &componentClassInfoArray, boolean includeHidden=false)=0
virtual MCCOMErr MCCOMAPI | WriteComponent (IShTokenStream *stream, IShParameterComponent *component)=0
virtual MCCOMErr MCCOMAPI | WriteComponent (IShTokenStream *stream, IDType keyword, IShParameterComponent *component)=0
virtual MCCOMErr MCCOMAPI | ReadComponent (IShTokenStream *stream, IShParameterComponent **component)=0
virtual MCCOMErr MCCOMAPI | ReadComponent (IShTokenStream *stream, IShParameterComponent **component, IDType familyID)=0
virtual MCCOMErr MCCOMAPI | ReadComponentData (TMCiostream *stream, IShParameterComponent *component)=0
virtual boolean MCCOMAPI | AskForParams (IShParameterComponent *component)=0
virtual MCCOMErr MCCOMAPI | StartFileReading ()=0
virtual MCCOMErr MCCOMAPI | FinishFileReading ()=0
virtual MCCOMErr MCCOMAPI | StartFileWriting ()=0
virtual MCCOMErr MCCOMAPI | FinishFileWriting ()=0
virtual TComponentClass *MCCOMAPI | GetComponentClass (IDType familyID, IDType classID)=0
virtual IShParameterComponent *MCCOMAPI | GetPrefComponent (IDType classID) const =0

## Detailed Description

Utilities for handling components.

## Member Function Documentation

virtual boolean MCCOMAPI IShComponentUtilities::AskForParams | ( | IShParameterComponent * | component | ) | `[pure virtual]`

Allows a component to present a dialog box asking for values for its parameters. Used, for example, when exporting a file, to present export options appropriate to the file format we're exporting to.

Parameters:

  | component | Pointer to the component to ask for its parameters

virtual MCCOMErr MCCOMAPI IShComponentUtilities::CoCreateInstance | ( | const MCCLSID & | rclsid,
|  | IMCUnknown * | pUnkOuter,
|  | uint32 | dwClsContext,
|  | const MCIID & | riid,
|  | void ** | ppv |
| ) |  |  | `[pure virtual]`

Manually creates a component.

    TMCCountedPtr<I3DShInstance> instance;
    gComponentUtilities->CoCreateInstance(CLSID_StandardInstance, NULL, MC_CLSCTX_INPROC_SERVER, IID_I3DShInstance, (void **) &instance);
    instance->Set3DObject(masterObject);

Parameters:

  | rclsid | Class ID of the component to create
  | pUnkOuter | Pointer to the controlling Unknown object. Used for COM aggregation - this is the object that maintains the refcount.
  | dwClsContext | Pass MC_CLSCTX_INPROC_SERVER here.
  | riid | Interface ID for the interface we want
  | ppv | Points to the resulting interface of the component created

virtual MCCOMErr MCCOMAPI IShComponentUtilities::CreateComponent | ( | IDType | familyID,
|  | IDType | classID,
|  | int32 | version,
|  | IShComponent ** | component |
| ) |  |  | `[pure virtual]`

Creates a specific version of a component by family ID and class ID

Parameters:

  | familyID | Family ID of the component to create
  | classID | Class ID of the component to create
  | version | Version number of the component to create
  | component | Returns a pointer to the IShComponent interface of the component created

virtual MCCOMErr MCCOMAPI IShComponentUtilities::CreateComponent | ( | IDType | familyID,
|  | IDType | classID,
|  | IShComponent ** | component |
| ) |  |  | `[pure virtual]`

Creates the most recent version of a component by family ID and class ID.

Parameters:

  | familyID | Family ID of the component to create
  | classID | Class ID of the component to create
  | component | Returns a pointer to the IShComponent interface of the component created.

virtual MCCOMErr MCCOMAPI IShComponentUtilities::CreateDefaultComponent | ( | IDType | familyID,
|  | IShComponent ** | component |
| ) |  |  | `[pure virtual]`

Creates a default instance of a component family.

Parameters:

  | familyID | The family ID whose default component you want to create
  | component | Returns a pointer to the component created

virtual MCCOMErr MCCOMAPI IShComponentUtilities::CreateIUnknown | ( | IDType | familyID,
|  | IDType | classID,
|  | IMCUnknown * | pUnkOuter,
|  | IMCUnknown ** | component |
| ) |  |  | `[pure virtual]`

This is similar to CoCreateInstance, but creates the component instances by family and class ID. For example, CreateInstanceByID('gel ', 'blnd', &gel); creates a "blinds" gel.

Parameters:

  | familyID | Family ID of the component to create
  | classID | Class ID of the component to create
  | pUnkOuter | Pointer to the controlling Unknown object. Used for COM aggregation - this is the object that maintains the refcount.
  | component | Returns a pointer to the component created

virtual MCCOMErr MCCOMAPI IShComponentUtilities::FinishFileReading | ( |  | ) | `[pure virtual]`

virtual MCCOMErr MCCOMAPI IShComponentUtilities::FinishFileWriting | ( |  | ) | `[pure virtual]`

Resets the component writing mechanism when finished writing a file. You should call it before you call WriteComponent.

Note that this function is called by the shell when it is finishing writing to a file, so you only need to call it if you initiate the writing of the file.

virtual TComponentClass* MCCOMAPI IShComponentUtilities::GetComponentClass | ( | IDType | familyID,
|  | IDType | classID |
| ) |  |  | `[pure virtual]`

Returns the component class of a component (Very rarely used)

Parameters:

  | familyID | Family ID of the component
  | classID | Class ID of the component

virtual MCCOMErr MCCOMAPI IShComponentUtilities::GetComponentClassInfoArrayByFamilyID | ( | IDType | familyID,
|  | TMCArray< TComponentClassInfo > & | componentClassInfoArray,
|  | boolean | includeHidden = `false` |
| ) |  |  | `[pure virtual]`

Gets an array of TComponentClassInfo for the classes that are in a given family

Parameters:

  | familyID | The family ID to query
  | componentClassInfoArray | Returns the class information on the classes in the specified family
  | includeHidden | Include hidden components.

virtual IShParameterComponent* MCCOMAPI IShComponentUtilities::GetPrefComponent | ( | IDType | classID | ) | const`[pure virtual]`

Returns the preference from the Preference DB

Parameters:

  | classID | Class ID of the component

virtual MCCOMErr MCCOMAPI IShComponentUtilities::ReadComponent | ( | IShTokenStream * | stream,
|  | IShParameterComponent ** | component,
|  | IDType | familyID |
| ) |  |  | `[pure virtual]`

Reads a component from an IShTokenStream when its family ID keyword header has been read.

Parameters:

  | stream | Pointer to the input stream
  | component | Returns a pointer to the component read
  | familyID | Family ID read

virtual MCCOMErr MCCOMAPI IShComponentUtilities::ReadComponent | ( | IShTokenStream * | stream,
|  | IShParameterComponent ** | component |
| ) |  |  | `[pure virtual]`

Reads a component from an IShTokenStream

Parameters:

  | stream | Pointer to the input stream
  | component | Returns a pointer to the component read

virtual MCCOMErr MCCOMAPI IShComponentUtilities::ReadComponentData | ( | TMCiostream * | stream,
|  | IShParameterComponent * | component |
| ) |  |  | `[pure virtual]`

Reads a component's data from a TMCiostream.

Parameters:

  | stream | Pointer to the input stream
  | component | Pointer to the component whose data we would like to read

virtual MCCOMErr MCCOMAPI IShComponentUtilities::StartFileReading | ( |  | ) | `[pure virtual]`

Resets the component reading mechanism when you start reading a file. Call it before you call RedComponent.

Note that it is called by the shell when starting to read a file, so you only need to call it if you initiate the reading of the file.

virtual MCCOMErr MCCOMAPI IShComponentUtilities::StartFileWriting | ( |  | ) | `[pure virtual]`

Reset the component writing mechanism when you start writing a file. You should call it before you call WriteComponent.

Note that it is called by the shell when it starts to write a file, so you only need to call it if you initiate the writing of a the file.

virtual MCCOMErr MCCOMAPI IShComponentUtilities::WriteComponent | ( | IShTokenStream * | stream,
|  | IDType | keyword,
|  | IShParameterComponent * | component |
| ) |  |  | `[pure virtual]`

Writes a component to an IShTokenStream, with a keyword header

Parameters:

  | stream | Pointer to the output stream
  | keyword | Keyword to write as header
  | component | Pointer to the component to write

virtual MCCOMErr MCCOMAPI IShComponentUtilities::WriteComponent | ( | IShTokenStream * | stream,
|  | IShParameterComponent * | component |
| ) |  |  | `[pure virtual]`

Writes a component to an IShTokenStream

Parameters:

  | stream | Pointer to the output stream
  | component | Pointer to the component to write

The documentation for this struct was generated from the following file:

- IShUtilities.h