L_DicomSendCMoveResponse

#include "ltdic.h"

L_LTDIC_API L_INT L_DicomSendCMoveResponse(hNet, nPresentationID, nMessageID, pszClass, nStatus, nRemaining, nCompleted, nFailed, nWarning, hDS)

Sends a C-MOVE-RSP message to a peer member of a connection.

Parameters

HDICOMNET hNet

A DICOM Network handle to the peer member of the connection.

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_UINT16 nStatus

The status of the original request. For a list of possible values, refer to Status Constants.

L_UINT16 nRemaining

Number of remaining instances to search.

L_UINT16 nCompleted

Number of instances searched.

L_UINT16 nFailed

Number of instances that failed the search.

L_UINT16 nWarning

Number of instances in which warnings occurred.

HDICOMDS hDS

Handle to a dataset used for sending additional information about a non-successful C-MOVE sub-operation. This may be NULL.

Returns

Value Meaning
DICOM_SUCCESS The function was successful.
>0 An error occurred. Refer to Return Codes.

Comments

L_DicomSendCMoveResponse is sent by the SCP in response to an L_DicomSendCMoveRequest call placed by an SCU. This generates a call to RECEIVECMOVERESPONSECALLBACK on the SCU.

Required DLLs and Libraries

Platforms

Win32, x64, Linux.

See Also

Functions

Topics

Example

static HWND hList;      /* handle to list box */ 
 
L_VOID EXT_CALLBACK OnReceiveCMoveRequest( 
   HDICOMNET hNet, 
   L_UCHAR nPresentationID, 
   L_UINT16 nMessageID, 
   L_TCHAR* pszClass, 
   L_UINT16 nPriority, 
   L_TCHAR* pszMoveAE, 
   HDICOMDS hDS, 
   L_VOID* pUserData) 
{ 
   UNREFERENCED_PARAMETER(pUserData); 
   L_TCHAR szMsg[800]; 
   L_TCHAR szInstance[200]; 
   L_TCHAR szClassUID[200]; 
   HDICOMPDU hPDU=NULL; 
   HDICOMDS hDSRet=NULL; 
   pDICOMELEMENT pElement=NULL; 
   L_UCHAR nID; 
   L_UINT16 nRet; 
    
   ListBox_AddString(hList, TEXT("Command Set - C-MOVE-REQUEST")); 
   wsprintf(szMsg, TEXT("     Presentation ID: %d"), nPresentationID); 
   ListBox_AddString(hList, szMsg); 
   wsprintf(szMsg, TEXT("     Message ID: %d"), nMessageID); 
   ListBox_AddString(hList, szMsg); 
   wsprintf(szMsg, TEXT("     Affected SOP Class: %s"), pszClass); 
   ListBox_AddString(hList, szMsg); 
   wsprintf(szMsg, TEXT("     Priority: %d"), nPriority); 
   ListBox_AddString(hList, szMsg); 
   wsprintf(szMsg, TEXT("     Move AE Title: %s"), pszMoveAE); 
   ListBox_AddString(hList, szMsg); 
    
   hPDU = L_DicomGetAssociate(hNet); 
    
   /* this sample simply returns a fixed dicom data set. */ 
   hDSRet = L_DicomCreateDS(NULL); 
   nRet = L_DicomLoadDS(hDSRet, MAKE_IMAGE_PATH(TEXT("IMAGE2.dcm")), 0); 
   if (nRet != DICOM_SUCCESS) 
   { 
      L_DicomFreeDS(hDS); 
      return; 
   } 
 
   pElement = L_DicomFindFirstElement(hDS, NULL, TAG_SOP_INSTANCE_UID, FALSE); 
   lstrcpy(szInstance, L_DicomGetStringValue(hDS, pElement, 0, 1)); 
    
   pElement = L_DicomFindFirstElement(hDS, NULL, TAG_SOP_CLASS_UID, FALSE); 
   lstrcpy(szClassUID, L_DicomGetStringValue(hDS, pElement, 0, 1)); 
 
   nID = L_DicomFindAbstract(hPDU, szClassUID); 
   if(nID == 0) 
   { 
      wsprintf(szMsg, TEXT("Abstract Syntax %s Not Supported by Association!"), szClassUID); 
      MessageBox(NULL, szMsg, TEXT("Error"), MB_OK); 
   } 
   else 
   { 
      /* now, send the C-STORE sub operation */ 
      nRet = (L_INT16) L_DicomSendCStoreRequest(hNet, nID, nMessageID + 1, szClassUID, szInstance, nPriority, pszMoveAE, nMessageID, hDSRet); 
      if (nRet != DICOM_SUCCESS) 
      { 
         L_DicomFreeDS(hDS); 
         return; 
      } 
   } 
   /* send a response */ 
   L_DicomSendCMoveResponse(hNet, nPresentationID, nMessageID, pszClass, COMMAND_STATUS_SUCCESS, 0, 1, 0, 0, 0); 
   L_DicomFreeDS(hDS); 
} 
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 API Help