# IRsDataObjFactory Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | CreateInstance ([in] const IID *piid,[out, retval] IRsDataObject **ppDataObj)
HRESULT | CreateAggInstance ([in] IUnknown *pUnkOuter,[in] REFIID riid,[out] IUnknown **ppvObject)
HRESULT | EnumDataObjDesc ([out, retval] IRsEnumDataObjDesc **ppEnumDataObjDesc)

## Detailed Description

Interface for factory for data objects.

## Member Function Documentation

HRESULT IRsDataObjFactory::CreateInstance | ( | [in] const IID * | piid,
|  | [out, retval] IRsDataObject ** | ppDataObj |
| ) |  |  |

Creates an uninitialized data object.

Parameters:

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

Returns:
  ppDataObj [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 data object factory does not support instancing data object.

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

Creates an uninitialized data 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 data objects.

HRESULT IRsDataObjFactory::EnumDataObjDesc | ( | [out, retval] IRsEnumDataObjDesc ** | ppEnumDataObjDesc | ) |

Enumerates data object's descriptors of current factory object

Returns:
  ppEnumDataObjDesc [out,retval] Pointer to an IRsEnumDataObjDesc interface.

  S_OK Method succeeded.

  E_NOTIMPL This data object factory does not support enumeration of Data object's descriptors.