LDicomNet::SendNDeleteRequest

#include "ltdic.h"

L_INT LDicomNet::SendNDeleteRequest(nPresentationID, nMessageID, pszClass, pszInstance)

Sends an N-DELETE-REQ message to a peer member of a connection. This function is available in the PACS Imaging Toolkit.

Parameters

L_UCHAR nPresentationID

Presentation ID. The presentation ID provides information about both the class type of the data and the transfer syntax to use when transferring the data.

L_UINT16 nMessageID

Message ID. Each message sent by a member of a connection should have a unique ID. Since a member of a connection may send several messages, this ID allows that member to identify when a specific request has been completed.

L_TCHAR * pszClass

Class affected by the request. This will be an SOP Class or an SOP MetaClass.

L_TCHAR * pszInstance

The instance of the class. A server may, for example, have three instances of the Nuclear Medicine Class. This value specifies an instance.

Returns

Value Meaning
0 SUCCESS
>0 An error occurred. Refer to Return Codes.

Comments

Calling this function generates a call to LDicomNet::OnReceiveNDeleteRequest on the SCP. The SCP should respond by calling LDicomNet::SendNDeleteResponse which will generate a call to LDicomNet::OnReceiveNDeleteResponse.

This function requests that the SCP delete the specified SOP Instance.

Required DLLs and Libraries

Platforms

Win32, x64

See Also

Functions

Topics

Example

This example sends an N-Delete Request to a server In this example:

  1. LMyDicomNet is a class derived from LDicomNet

  2. LMyDicomNet has the following member variables: m_nClientOrServer: can be (STATUS_NONE, STATUS_SERVER, STATUS_CLIENT) identifies the LMyDicomNet object as a server or a client m_nDataCommand: can be (COMMAND_C_MOVE,COMMAND_C_GET) set so the server knows how a C-Store Response was generated

  3. m_pDicomNet points to a valid LMyDicomNet object LMyDicomNet *m_pDicomNet

  4. A connection exists between client and server

  5. An association exists between the client and server

    L_INT LDicomNet__SendNDeleteRequestExample(LMyDicomNet *m_pDicomNet) 
    { 
       CString strMsg = TEXT("N-Delete\n"); 
       L_INT nRet; 
     
       //Choose an SOP Class to delete--in this example, choose UID_SC_IMAGE_STORAGE 
       
       CString strClassUID = UID_SC_IMAGE_STORAGE; 
     
       //Choose an SOP Instance to delete 
       CString strInstanceUID = TEXT("1.2.840.113619.2.30.1.1762288927.1489.906240296.255"); 
     
       //Get the associate object 
       LDicomAssociate *pDicomAssociate = m_pDicomNet->GetAssociate(); 
     
       //Is class supported in the assocation? 
       L_UCHAR nPresentationID = pDicomAssociate->FindAbstract((L_TCHAR *)(LPCTSTR)strClassUID); 
     
       //nPresentationID must be odd--0 indicates failure 
       if (nPresentationID==0) 
       { 
          CString strTmp; 
          strTmp.Format(TEXT("Abstract Syntax[%s] Not Included in the Association"), strClassUID); 
          strMsg = strMsg + strTmp; 
       } 
       else  
       //success 
       { 
          L_UINT16 uUniqueID = 99; 
          nRet =m_pDicomNet->SendNDeleteRequest( nPresentationID,  
                                               uUniqueID,  
                                               (L_TCHAR *)(LPCTSTR)strClassUID,  
                                               (L_TCHAR *)(LPCTSTR)strInstanceUID); 
          if(nRet > 0) 
             return nRet; 
       } 
     
       AfxMessageBox(strMsg); 
       return DICOM_SUCCESS; 
    } 

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C++ Class Library Help