# IRsNodeFactory Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | CreateInstance ([in] const IID *riid,[out, retval] IRsNode **ppNode)
HRESULT | CreateAggInstance ([in] IUnknown *pUnkOuter,[in] REFIID riid,[out] IUnknown **ppvObject)
HRESULT | EnumNodeDesc ([out, retval] IRsEnumNodeDesc **ppEnumNodeDesc)
HRESULT | EnumConDesc ([out, retval] IRsEnumConDesc **ppEnumConDesc)

## Detailed Description

Interface for node factory.

## Member Function Documentation

HRESULT IRsNodeFactory::CreateInstance | ( | [in] const IID * | riid,
|  | [out, retval] IRsNode ** | ppNode |
| ) |  |  |

Creates an uninitialized node object.

Parameters:

  | riid | [in] Reference to the identifier of the node.

Returns:
  ppNode [out,retval] Address of Node Interface variable that receives the interface pointer to newly created object.

  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 nodes.

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

Creates an uninitialized node 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.
  | ppNode | [out] Address of Node Interface variable that receives the interface pointer to newly created object.

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 IRsNodeFactory::EnumNodeDesc | ( | [out, retval] IRsEnumNodeDesc ** | ppEnumNodeDesc | ) |

Enumerates node's descriptors of current factory object.

Returns:
  ppEnumNodeDesc [out,retval] Pointer to an IRsEnumNodeDesc interface.

  S_OK Method succeeded.

  E_NOTIMPL This node factory does not support enumeration of Node's descriptors.

HRESULT IRsNodeFactory::EnumConDesc | ( | [out, retval] IRsEnumConDesc ** | ppEnumConDesc | ) |

Enumerates connectors(attributes) used by nodes.

Returns:
  ppEnumConDesc [out,retval] Pointer to an IRsEnumConDesc interface.

  S_OK Method succeeded.

  E_NOTIMPL This node factory does not support enumeration of connector descriptors.