#include "ltdic.h"
pDICOMELEMENT LDicomDS::GetSignature(pItem, uIndex)
pDICOMELEMENT pItem; |
pointer to an Item in a Sequence of Items |
L_UINT32 uIndex; |
index of the Digital Signature |
Returns a pointer to the Digital Signatures Sequence Item that corresponds to the Digital Signature at the specified index.
Parameter |
Description |
pItem |
Pointer to a DICOMELEMENT structure that specifies the Item in which the required Digital Signature is located. Set this parameter to NULL if the Digital Signature is located in the main Data Set. |
uIndex |
The index of the required Digital Signature. This should be a number from 0 to LDicomDS::GetSignaturesCount(pItem) minus 1. |
!NULL |
Pointer to the DICOMELEMENT structure that specifies the Digital Signatures Sequence Item which corresponds to the required Digital Signature. |
NULL |
The specified index is invalid. |
For each Digital Signature in the main Data Set or in an Item of a Sequence of Items, there should be a corresponding Item under the Digital Signatures Sequence (FFFA,FFFA) located in the main Data Set or in the Item. This function can be used to obtain a pointer to that Digital Signatures Sequence Item.
Along with this function, the function LDicomDS::GetSignaturesCount can be used to enumerate the Digital Signatures in the main Data Set or in an Item of a Sequence of Items. Once a pointer to the Digital Signatures Sequence Item is obtained, the following functions can be used to verify, delete, or get information about the Digital Signature:
LDicomDS::GetSignatureDateTime
LDicomDS::GetSignedElementsCount
LDicomDS::GetMacTransferSyntax
You can also use the function LDicomDS::FindSignature to search the whole Data Set for a specific Digital Signature.
Required DLLs and Libraries
LTDIC For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application |
Win32, x64
L_INT LDicomDS_GetSignatureExample(LDicomDS& DataSet)
{
// We will enumerate the Digital Signatures in the main Data Set
L_UINT32 uSignaturesCount = DataSet.GetSignaturesCount(NULL);
if (uSignaturesCount == 0)
{
::MessageBox(NULL,
TEXT("No Digital Signatures in the main Data Set."),
TEXT("Sample"),
MB_OK);
return DICOM_SUCCESS;
}
L_TCHAR szMsg[128];
if (uSignaturesCount == 1)
{
lstrcpy(szMsg, TEXT("There is 1 Digital Signature in the main Data Set. Do you want to examine it?"));
}
else
{
wsprintf(szMsg,
TEXT("There are %lu Digital Signatures in the main Data Set. Do you want to examine them?"),
uSignaturesCount);
}
if (::MessageBox(NULL, szMsg, TEXT("Sample"), MB_YESNO) != IDYES)
{
return DICOM_SUCCESS;
}
for (L_UINT32 i = 0; i < uSignaturesCount; i++)
{
// Refer to the example of LDicomDS::VerifySignature for the
// function ExamineSignature
ExamineSignature(DataSet, DataSet.GetSignature(NULL, i));
}
return DICOM_SUCCESS;
}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET