# NNS_G2dGetOamManExInstance

## C Specification

      #include <nnsys/g2d/g2d_OAMEx.h>

      BOOL NNS_G2dGetOamManExInstance(
      NNSG2dOamManagerInstanceEx* pOam,
      NNSG2dOamChunkList*             pOamOrderingTbl,
      u8                              lengthOfOrderingTbl,
      u16                             numPooledOam,
      NNSG2dOamChunk*                 pPooledOam,
      u16                             lengthAffineBuffer,
      NNSG2dAffineParamProxy*         pAffineBuffer );

## Arguments

pOam | [OUT] Extended OAM manager entity
pOamOrderingTbl | [IN] Starting address of the ordering table
lengthOfOrderingTbl | [IN] Length of the ordering table (must be at least 1)
numPooledOam | [IN] The number of OBJChunk (must be at least 1)
pPooledOam | [IN] Pointer to the OBJChunk array (must be non-NULL and have the length of OBJChunk)
lengthAffineBuffer | [IN] Length of the affine parameter buffer array (if not used, set to zero)
pAffineBuffer | [IN] Pointer to the affine parameter buffer array (if not used, set to NULL)

## Return Values

TRUE if initialization succeeds.

## Description

This function initializes the extended OAM Manager. The Ordering table length becomes the maximum depth that can be specified when OBJs are registered. The longer the Ordering table is, the greater the amount of overhead that is generated during drawing.
`numPooledOam` is the maximum number of OBJs that can be registered in the manager.
It must be at least one.
`numPooledOam` can be larger than the number of OBJ attributes actually used by the manager. (In this case, the manager displays the OBJs using time-sharing over several frames.) The number of OBJ attributes actually used by the manager is determined by the return value of the OBJ registration function that is set by `NNSG2dOamExEntryFunctions`.
`lengthAffineBuffer` is the maximum number of affine parameters that can be registered in the manager.
When affine transformation is not used, set it to zero and set `pAffineBuffer` to NULL.
The name of this function has been changed from `NNS_G2dGetNewOamInstanceEx`. The previous function remains under a different name in order to maintain compatibility.

## See Also

`NNS_G2dGetNewOamInstanceEx`, `NNS_G2dInitAffineManagerEx`, `NNS_G2dSetOamManExEntryFunctions`, `NNSG2dOamExEntryFunctions`

## Revision History

06/06/2005 Added link to `NNSG2dOamExEntryFunctions`.

06/06/2005 Added description.

08/02/2004 Renamed function

06/22/2004 Initial version.