LDicomDS::FindSignature

Summary

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.

Syntax

#include "ltdic.h"

pDICOMELEMENT LDicomDS::FindSignature(pszSignatureUID)

Parameters

const L_TCHAR* pszSignatureUID

Character string that contains the Digital Signature UID of the Digital Signature for which to search.

Returns

Value Meaning
!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::VerifySignature

LDicomDS::DeleteSignature

LDicomDS::GetSignatureUID

LDicomDS::GetSignatureDateTime

LDicomDS::GetSignedElementsCount

LDicomDS::GetSignedElement

LDicomDS::GetMacTransferSyntax

LDicomDS::GetMacAlgorithm

LDicomDS::SaveCertificate

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

Platforms

Win32, x64

See Also

Functions

Topics

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; 
} 
Help Version 22.0.2022.12.7
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.