L_DicomGetUserInfoCount

# include“ltdic.h”

L_LTDIC_APIL_INTL_DicomGetUserInfoCount (hPDU)

返回指定DICOM关联中用户定义项的数量。

参数

HDICOMPDUhPDU

一个DICOM关联句柄。

返回

指定DICOM关联中用户定义项的数量。

评论

有关自定义项的更多信息,请参见L_DicomAddUserInfo

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

# include < windowsx.h >L_INT DicomGetUserInfoCountExample(HDICOMPDU hPDU)L_UCHAR我;L_UCHAR nType;L_UINT16 nLen;L_TCHAR szMsg [8000];L_UCHAR * pData =零;L_TCHAR * pTemp =零;L_TCHAR szTest1[] ={文本(“只是测试\0”)};L_TCHAR szTest2[] ={文本(“第二次测试\0”)};L_INT nRet;获取当前用户信息类型,长度和数据,然后显示它们*/lstrcpy (szMsg文本(“当前用户类型、长度、数据:”));如果(L_DicomGetUserInfoCount(hPDU) > 0)(i = 0;我< L_DicomGetUserInfoCount (hPDU);我+ +)nType = L_DicomGetTypeUserInfo(hPDU, i);nLen = L_DicomGetLengthUserInfo(hPDU, i);pData = L_DicomGetDataUserInfo(hPDU, i);//假设数据是unicode文本pTemp = (L_TCHAR *)GlobalAllocPtr(GMEM_MOVEABLE, nLen);如果(pTemp == NULL)返回ERROR_NOT_ENOUGH_MEMORY;memcpy(pTemp, pData, nLen);wsprintf (szMsg文本("Type =%d\tLength=%d\nData = "), nType, nLen);lstrcat (szMsg文本(“\ n”));lstrcat (szMsg pTemp);GlobalFreePtr (pTemp);pTemp = NULL;其他的lstrcat (szMsg文本(“\ nNone”));消息框(NULL, szMsg, TEXT(“测试”), MB_OK);/*添加用户信息项*/lstrcpy (szMsg文本(“添加用户信息项”));nRet = L_DicomAddUserInfo(hPDU, 99, (L_UCHAR *)szTest1, (L_UCHAR *)lstrlen(szTest1) *运算符(L_TCHAR));如果(nRet != DICOM_SUCCESS)返回nRet;如果(L_DicomGetUserInfoCount(hPDU) > 0)(i = 0;我< L_DicomGetUserInfoCount (hPDU);我+ +)nType = L_DicomGetTypeUserInfo(hPDU, i);nLen = L_DicomGetLengthUserInfo(hPDU, i);pData = L_DicomGetDataUserInfo(hPDU, i);pTemp = (L_TCHAR *)GlobalAllocPtr(GMEM_MOVEABLE, nLen+2);如果(pTemp == NULL)返回ERROR_NOT_ENOUGH_MEMORY;memset(pTemp, 0, nLen +2);memcpy(pTemp, pData, nLen);lstrcat (szMsg文本(“\ n”));wsprintf (szMsg文本("Type =%d\tLength=%d\nData = "), nType, nLen);lstrcat (szMsg pTemp);GlobalFreePtr (pTemp);pTemp = NULL;其他的lstrcat (szMsg文本(“\ nNone”));消息框(NULL, szMsg, TEXT(“测试”), MB_OK);/ *每一个用户信息项,更改数据*/(i = 0;我< L_DicomGetUserInfoCount (hPDU);我+ +)nType = L_DicomGetTypeUserInfo(hPDU, i);nRet = L_DicomSetUserInfo(hPDU, i, nType, (L_UCHAR *)szTest2, (L_UINT16)lstrlen(szTest2) *运算符(L_TCHAR));如果(nRet != DICOM_SUCCESS)返回nRet;lstrcpy (szMsg文本(“更改用户数据”));如果(L_DicomGetUserInfoCount(hPDU) > 0)(i = 0;我< L_DicomGetUserInfoCount (hPDU);我+ +)nType = L_DicomGetTypeUserInfo(hPDU, i);nLen = L_DicomGetLengthUserInfo(hPDU, i);pData = L_DicomGetDataUserInfo(hPDU, i);pTemp = (L_TCHAR *)GlobalAllocPtr(GMEM_MOVEABLE, nLen+2);如果(pTemp == NULL)返回ERROR_NOT_ENOUGH_MEMORY;memset(pTemp, 0, nLen +2);memcpy(pTemp, pData, nLen);lstrcat (szMsg文本(“\ n”));wsprintf (szMsg文本("Type =%d\tLength=%d\nData = "), nType, nLen);lstrcat (szMsg pTemp);GlobalFreePtr (pTemp);pTemp = NULL;其他的lstrcat (szMsg文本(“\ nNone”));消息框(NULL, szMsg, TEXT(“测试”), MB_OK);/ *删除我们加了*/L_DicomDelUserInfo(hPDU, L_DicomGetUserInfoCount(hPDU) - 1);lstrcpy (szMsg文本(“删除已添加用户”));如果(L_DicomGetUserInfoCount(hPDU) > 0)(i = 0;我< L_DicomGetUserInfoCount (hPDU);我+ +)nType = L_DicomGetTypeUserInfo(hPDU, i);nLen = L_DicomGetLengthUserInfo(hPDU, i);pData = L_DicomGetDataUserInfo(hPDU, i);pTemp = (L_TCHAR *)GlobalAllocPtr(GMEM_MOVEABLE, nLen+2);如果(pTemp == NULL)返回ERROR_NOT_ENOUGH_MEMORY;memset(pTemp, 0, nLen +2);memcpy(pTemp, pData, nLen);lstrcat (szMsg文本(“\ n”));wsprintf (szMsg文本("Type =%d\tLength=%d\nData = "), nType, nLen);lstrcat (szMsg pTemp);GlobalFreePtr (pTemp);pTemp = NULL;其他的lstrcat (szMsg文本(“\ nNone”));消息框(NULL, szMsg, TEXT(“测试”), MB_OK);返回DICOM_SUCCESS;
LEADTOOLS DICOM C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。