你让别人怎么和你解释..?
---
MSDN

解决方案 »

  1.   

    只要告诉我这段程序是在干吗,各函数有什么用就行了
    另外,最后一个函数ReadNodeData()贴错了,应该用下面的替代
    bool APIENTRY AddtoNodeData(NodeData* pNodeData)
    {
    ::WaitForSingleObject(ghDataLock, INFINITE);
    bool bRet = false;
    if(gpSharedBlock != NULL )
    {
    if( gpSharedBlock->nNodeCount < 1024 )
    {
    char *lpDataBuffer = (char*)gpSharedBlock + sizeof(SharedBlock) + 
    gpSharedBlock->nNodeCount * sizeof(NodeData);
    memcpy(lpDataBuffer, pNodeData, sizeof(NodeData));
    gpSharedBlock->pNode[gpSharedBlock->nNodeCount] = (char _based(gpSharedBlock) *)lpDataBuffer;
    (gpSharedBlock->nNodeCount)++;
    if(pNodeData->nType == 1)
    {
    (gpSharedBlock->nPQNodeCount)++;
    }
    else if(pNodeData->nType == 2)
    {
    (gpSharedBlock->nPVNodeCount)++;
    }
    bRet = true;
    }
    }
    ::ReleaseMutex(ghDataLock);
    return bRet;
    }