LDicomDS::FindSignature
#include "ltdic.h"
pDICOMELEMENT LDicomDS::FindSignature(pszSignatureUID)
const L_TCHAR* pszSignatureUID; |
/* character string containing the Digital Signature UID */ |
Returns a pointer to the Digital Signatures Sequence Item that corresponds to the Digital Signature which has the specified Digital Signature UID, if found in the Data Set.
Parameter |
Description |
pszSignatureUID |
Character string that contains the Digital Signature UID of the Digital Signature for which to search. |
Returns
!NULL |
Pointer to the DICOMELEMENT structure that specifies the Digital Signatures Sequence Item which corresponds to the Digital Signature with the specified Digital Signature UID. |
NULL |
No Digital Signature with the specified Digital Signature UID was found in the Data Set. |
Comments
Each Digital Signature should be uniquely identified by a UID specified by the Digital Signature UID (0400,0100) under the corresponding Digital Signatures Sequence Item. Use this function to search the whole Data Set for a Digital Signature by its Digital Signature UID.
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 LDicomDS::GetSignaturesCount and LDicomDS::GetSignature functions to enumerate the Digital Signatures in the main Data Set or in an Item of a Sequence of Items.
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 |
See Also
Example
L_INT LDicomDS_FindSignatureExample(LDicomDS& DataSet, const L_TCHAR* pszSignatureUID) { // Search the whole Data Set for the Digital Signature with the // specified Digital Signature UID pDICOMELEMENT pSignatureItem = DataSet.FindSignature(pszSignatureUID); if (pSignatureItem) { L_TCHAR* pszMsg = TEXT("The Digital Signature was found.\n Press Yes to examine it or No to delete it."); switch (::MessageBox(NULL, pszMsg, TEXT("Sample"), MB_YESNOCANCEL)) { case IDYES: // Refer to the example of LDicomDS::VerifySignature for the // function ExamineSignature ExamineSignature(DataSet, pSignatureItem); break; case IDNO: // Delete the Digital Signature DataSet.DeleteSignature(pSignatureItem); break; } } else { ::MessageBox(NULL, TEXT("The Digital Signature was not found."), TEXT("Sample"), MB_OK); } return DICOM_SUCCESS; }