LDicomNet::SendAbort

#include "ltdic.h"

L_INT LDicomNet::SendAbort(nSource, nReason)

L_UCHAR nSource;

/* source of the abort */

L_UCHAR nReason;

/* reason for the abort */

Sends an Abort message to a connection. This function is available in the Medical Suite Toolkit.

Parameter

Description

nSource

The source of the abort. Possible values are:

 

Value

Meaning

 

PDU_ABORT_SOURCE_USER

[0] Service user. (SCU)

 

PDU_ABORT_SOURCE_PROVIDER

[2] Service provider. (SCP)

nReason

The reason for the abort. If the source of the abort is PDU_ABORT_SOURCE_USER, the reasons for the abort are not significant. If the source of the abort is PDU_ABORT_SOURCE_PROVIDER, the possible values are:

 

Value

Meaning

 

PDU_ABORT_REASON_UNKNOWN

[0] Unknown

 

PDU_ABORT_REASON_UNRECOGNIZED

[1] Unrecognized PDU

 

PDU_ABORT_REASON_UNEXPECTED

[2] Unexpected PDU

 

PDU_ABORT_REASON_UNRECOGNIZED_PARAM

[4] Unrecognized PDU parameter

 

PDU_ABORT_REASON_UNEXPECTED_PARAM

[5] Unexpected PDU parameter

 

PDU_ABORT_REASON_INVALID_PARAM

[6] Invalid PDU parameter value

Returns

0

SUCCESS

>0

An error occurred. Refer to Return Codes.

Comments

Calling LDicomNet::SendAbort generates a call to LDicomNet::OnReceiveAbort. At this time the DICOM Association is closed.

Please note that it is preferable to close a DICOM Association using the LDicomNet::SendReleaseRequest and LDicomNet::SendReleaseResponse. For more information on closing a DICOM Association, refer to Closing a DICOM Associate Connection.

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

Functions:

LDicomNet::SendReleaseResponse, LDicomNet::SendReleaseRequest

Topics:

Working with DICOM Network Connections

 

Working with DICOM Associate Connections

 

Closing a DICOM Associate Connection

 

Creating a DICOM Associate Connection

 

Sending Messages

Example

#define STATUS_SERVER 0x0001
L_INT LDicomNet__SendAbortExample(LMyDicomNet *m_pDicomNet,L_INT m_nStatus)
{
   //In this example, the m_pDicomNet object sends an abort message to the peer.
   //The m_pDicomNet can point to an object that is a server or a client
   //
   //LMyDicomNet is a class derived from LDicomNet
   //m_pDicomNet is a member variable declared as:
   //    LMyDicomNet *m_pDicomNet;
   //m_nStatus is member variable that identifies whether LDicomNet object is a server or client
   //m_nStatus can be (STATUS_NONE, STATUS_SERVER, STATUS_CLIENT)
   //    int m_nStatus;
   //
   //
   //In this example, assume
   //1. m_pDicomNet points to a valid object
   //2. A connection exists between client and server
   //3. An associate request has been sent and accepted
   //4. m_nStatus is either STATUS_SERVER or STATUS_CLIENT
   L_UINT32 lClients;
   LDicomNet *pDicomNet;
   L_INT nRet;
   
   if (m_nStatus == STATUS_SERVER)
   {
      //get the latest client
      lClients = m_pDicomNet->GetClientCount();
      pDicomNet = m_pDicomNet->GetClient(lClients - 1);
   }
   else //STATUS_CLIENT
   {
      pDicomNet = m_pDicomNet;
   }
  //send Abort message
  nRet =pDicomNet->SendAbort(PDU_ABORT_SOURCE_USER, 0);
  if(nRet > 0)
     return nRet;
  return DICOM_SUCCESS;
}