Available in LEADTOOLS Medical Imaging toolkits. |
L_DicomFindSignature
#include "ltdic.h"
L_LTDIC_API pDICOMELEMENT L_DicomFindSignature(hDS,pszSignatureUID)
HDICOMDS hDS; |
/* a DICOM handle */ |
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 |
hDS |
A DICOM handle. |
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:
You can also use the L_DicomGetSignaturesCount and L_DicomGetSignature 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 |
Win32, x64
See Also
Example
L_INT DicomFindSignatureExample(HDICOMDS hDS, L_PCTSTR pszSignatureUID) { L_INT nRet; // Search the whole Data Set for the Digital Signature with the // specified Digital Signature UID pDICOMELEMENT pSignatureItem = L_DicomFindSignature(hDS,pszSignatureUID); if (pSignatureItem) { L_TCHAR* pszMsg = TEXT("The Digital Signature was found.\nPress Yes to examine it or No to delete it."); switch (MessageBox(NULL, pszMsg, TEXT("Sample"), MB_YESNOCANCEL)) { case IDYES: // Refer to the example of L_DicomVerifySignature for the // function DicomVerifySignatureExample nRet = DicomVerifySignatureExample(hDS, pSignatureItem); if (nRet != SUCCESS) return nRet; break; case IDNO: // Delete the Digital Signature L_DicomDeleteSignature(hDS,pSignatureItem); break; } } else { MessageBox(NULL, TEXT("The Digital Signature was not found."), TEXT("Sample"), MB_OK); } return DICOM_SUCCESS; }