如何设置HTREEITEM hParent参数值不为空呢

小白求助,下面这段代码在程序执行时触发了断点,断点的提示信息是GetItemData的参数不能为空 调试时发现hparent的值果然是空的,我现在要怎么做呢

void CECSClientDlg::SetAllUserState(HTREEITEM hParent, int nState)
{
    DWORD dwData= m_ACList.GetItemData(hParent);
    int ID = HIWORD(dwData);
    int lowID = LOWORD(dwData);
    if(lowID == SEX_MAN || lowID == SEX_WOMAN) { 
            m_ACList.SetItemImage(hParent, 3, 3);
        }
        else {
            if(lowID == SEX_MAN) {
                m_ACList.SetItemImage(hParent, 1, 1);
            }
            else if(lowID == SEX_WOMAN) {
                m_ACList.SetItemImage(hParent, 2, 2);
            }
        }
    }
    else { 
        if(m_ACList.ItemHasChildren(hParent)) {
            HTREEITEM hSubItem = m_ACList.GetChildItem(hParent);
            while(hSubItem != NULL) {
                SetAllUserState(hSubItem, nState);
                hSubItem = m_ACList.GetNextItem(hSubItem, TVGN_NEXT);
            }
        }

        HTREEITEM hNextNode = m_ACList.GetNextItem(hParent, TVGN_NEXT);
        while(hNextNode != NULL) {
            SetAllUserState(hNextNode, nState);
            hNextNode = m_ACList.GetNextItem(hNextNode, TVGN_NEXT);
        }
    }
}