#include "Ltdic.h"
L_UINT32 LDicomDS::GetLong64Value(pElement, pValue, nIndex, nCount)
Returns a pointer to a long value, stored in the Value Field, of the specified element.
Pointer to a DICOMELEMENT structure within the Data Set.
Pointer to an array of L_INT64 values.
Index value that indicates which value to retrieve when more than one value is stored in the Value Field. The index is zero-based.
Value that indicates the number of values to retrieve when more than one value is stored in the Value Field. In most instances you will only retrieve one value so this parameter will be one.
Value | Meaning |
---|---|
!NULL | A pointer to a L_INT64 value stored in the Value Field of the specified Data Element. |
NULL | The length of the Value Field is 0, the function was called for the incorrect VR type, or the function was called for a folder (sequence) element. |
If you have more than one value stored in the Value Field of the specified Data Element, you can retrieve one or more of those elements. For example, if the Value Field of the specified Data Element contains three long values, and you are only interested in retrieving the last two long values, set nIndex to 1 and nCount to 2. This tells the function to retrieve the long values starting at position 1 (the index is zero based) and retrieve two values. Therefore you would retrieve the values in positions 1 and 2 in the Value Field.
You are responsible for passing in an array of the proper size for pOutValues. For example, if you want to retrieve three values, you should declare (or allocate) an array of this size to pass as the pOutValues parameter.
This function can be called only if the Value Representation of the Data Element is VR_IS. For more information about Value Representations, refer to Default Value Representation Table.
Required DLLs and Libraries
Win32, x64
This example creates an DICOM dataset, set the instance number, and retrieves the instance number as 64-bit values.
L_INT LDicomDS_GetLong64ValueExample()
{
L_INT nRet = DICOM_SUCCESS;
LDicomDS *ds = new LDicomDS();
if (ds == NULL)
return nRet;
ds->InitDS(CLASS_CT_IMAGE_STORAGE, 0);
pDICOMELEMENT pElement = ds->FindFirstElement(NULL, TAG_INSTANCE_NUMBER, TRUE);
if (pElement == NULL)
return -1;
// Set some values
L_INT32 nValues[] = {123, 234, 345};
ds->SetLongValue(pElement, nValues, 3);
// Retrieve as 64 bit values
L_UINT32 uCount = ds->GetCountValue(pElement);
if (uCount == 0)
return -1;
L_INT64 *n64Values = new L_INT64[uCount];
if (n64Values == NULL)
return -1;
ds->GetLong64Value(pElement, n64Values, 0, uCount);
for (L_UINT32 i=0; i<uCount; i++)
{
CString csMsg;
csMsg.Format(TEXT("%d: %d\n"), i, n64Values[i]);
OutputDebugString(csMsg);
}
// Free the dataset
delete n64Values;
delete ds;
return nRet;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document