算法调度
static short isfirst = 1;
Status
Call
NR_Create(
Pointer pObj,
PUInt32 pnSize
)
{
PNREngine pEngine;
Size nSize;
PUInt32 pObjCheck;
Assert(Null != pnSize);
if(Null == pnSize)
{
return NR_InvArg;
}
nSize = sizeof(TNREngine) + 32;
if(Null == pObj)
{
*pnSize = nSize;
return NR_CalcSize;
}
if(*pnSize < nSize)
{
return NR_OutOfMemory;
}
pObj = (Pointer)(((Size)pObj + (IV_PTR_GRID - 1)) & (~(IV_PTR_GRID - 1)));
pObjCheck =(PUInt32) pObj;
*pObjCheck = AINR_DW_ENGINE_CHECK;
pEngine = (PNREngine)((PUInt32)pObj + 1);
MemZero(pEngine,sizeof(TNREngine));
return ((Status)Init(pEngine));
}
Status
Call
NR_Process(
Pointer pObj,
PInt16 pInData,
UInt16 nInSa