# IRsCmdFactory Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | CreateInstance ([in] const IID *piid,[out, retval] IRsCommand **ppCmd)
HRESULT | CreateAggInstance ([in] IUnknown *pUnkOuter,[in] REFIID riid,[out] IUnknown **ppvObject)
HRESULT | EnumCommandDesc ([out, retval] IRsEnumCmdDesc **ppEnumCmdDesc)
HRESULT | EnumScriptObjects ([out, retval] IRsEnumNamedItem **ppEnum)

## Detailed Description

abstract command factory interface used for instancing, enumerating command objects and named items

## Member Function Documentation

HRESULT IRsCmdFactory::CreateInstance | ( | [in] const IID * | piid,
|  | [out, retval] IRsCommand ** | ppCmd |
| ) |  |  |

Creates an uninitialized command object.

Parameters:

  | piid | [in] Pointer to the identifier of the data object.

Returns:
  ppCmd [out,retval] .

  This method supports the standard return values E_INVALIDARG, E_OUTOFMEMORY, and E_UNEXPECTED, as well as the following:

  S_OK The specified object was created.

  E_NOTIMPL This command factory does not support instancing nodes.

HRESULT IRsCmdFactory::CreateAggInstance | ( | [in] IUnknown * | pUnkOuter,
|  | [in] REFIID | riid,
|  | [out] IUnknown ** | ppvObject |
| ) |  |  |

Creates an uninitialized command object that is part of an aggregate.

Parameters:

  | pUnkOuter | [in] pointer to the controlling IUnknown interface of the aggregate
  | riid | [in] Reference to the identifier of the node.
  | ppvObject | [out] .

Returns:
  This method supports the standard return values E_INVALIDARG, E_OUTOFMEMORY, and E_UNEXPECTED, as well as the following:

  S_OK The specified object was created.

  E_NOTIMPL This node factory does not support instancing aggregated nodes.

HRESULT IRsCmdFactory::EnumCommandDesc | ( | [out, retval] IRsEnumCmdDesc ** | ppEnumCmdDesc | ) |

Enumerates commands's descriptors available in current factory object.

Returns:
  ppEnumCmdDesc [out,retval] Pointer to an IRsEnumCmdDesc interface.

  S_OK Method succeeded.

  E_NOTIMPL This command factory does not support enumeration of Command's descriptors.

HRESULT IRsCmdFactory::EnumScriptObjects | ( | [out, retval] IRsEnumNamedItem ** | ppEnum | ) |

Enumerates named items objects available in current factory object

Returns:
  ppEnum [out,retval] Pointer to an IRsEnumNamedItem interface.

  S_OK Method succeeded.

  E_NOTIMPL This command factory does not support enumeration of Script object descriptors.