L_DicomSendCFindResponse

#include "ltdic.h"

L_LTDIC_API L_INT L_DicomSendCFindResponse(hNet, nPresentationID, nMessageID, pszClass, nStatus, hDS)

Sends a C-FIND-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.

HDICOMDS hDS

Pointer to the data set that contains the information found as a result of the call to L_DicomSendCFindRequest.

Returns

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

Comments

L_DicomSendCFindResponse is sent by the SCP in response to an L_DicomSendCFindRequest call placed by an SCU. This generates a call to RECEIVECFINDRESPONSECALLBACK on the SCU.

Required DLLs and Libraries

Platforms

Win32, x64, Linux.

See Also

Functions

Topics

Example

#include <windowsx.h> 
 
static HWND hList; /* handle to list box */ 
 
L_VOID EXT_CALLBACK OnReceiveCFindRequest( 
   HDICOMNET hNet, 
   L_UCHAR nPresentationID, 
   L_UINT16 nMessageID, 
   L_TCHAR *pszClass, 
   L_UINT16 nPriority, 
   HDICOMDS hDS, 
   L_VOID *pUserData) 
{ 
   UNREFERENCED_PARAMETER(pUserData); 
   UNREFERENCED_PARAMETER(hDS); 
    
   HDICOMPDU hPDU=NULL; 
   L_TCHAR szAE[200]; 
   L_INT nRet; 
   L_TCHAR szFile[L_MAXPATH]; 
   L_TCHAR szMsg[800]; 
   HDICOMDS hDSRet=NULL; 
    
   /* 
       this sample simply returns all the data sets that it is managing. 
       in a real-life scenario, this should perform an actual query based 
       on the attribute values supplied in hDS 
   */ 
    
   hPDU = L_DicomGetAssociate(hNet); 
   L_DicomGetCalling(hPDU, szAE, 200); 
    
   ListBox_AddString(hList, TEXT("Command Set - C-FIND-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); 
    
   /* this sample only manages 1 file */ 
   lstrcpy(szFile, MAKE_IMAGE_PATH(TEXT("IMAGE1.dcm"))); 
   hDSRet = L_DicomCreateDS(NULL); 
   nRet = L_DicomLoadDS(hDSRet, szFile, 0); 
   if (nRet != DICOM_SUCCESS) 
   { 
      MessageBox(NULL, TEXT("Error Inside Callback Function"), TEXT("OnReceiveCFindRequest"), MB_OK); 
      L_DicomFreeDS(hDS); 
      return; 
   } 
 
   /* now, send a Find Response - PENDING */ 
   nRet = L_DicomSendCFindResponse(hNet, nPresentationID, nMessageID, pszClass, COMMAND_STATUS_PENDING, hDSRet); 
   if (nRet != DICOM_SUCCESS) 
   { 
      MessageBox(NULL, TEXT("Error Inside Callback Function"), TEXT("OnReceiveCFindRequest"), MB_OK); 
      L_DicomFreeDS(hDS); 
      return; 
   } 
    
   /* now, send a Find Response - SUCCESS */ 
   nRet = L_DicomSendCFindResponse(hNet, nPresentationID, nMessageID, pszClass, COMMAND_STATUS_SUCCESS, 0); 
   if (nRet != DICOM_SUCCESS) 
   { 
      MessageBox(NULL, TEXT("Error Inside Callback Function"), TEXT("OnReceiveCFindRequest"), MB_OK); 
      L_DicomFreeDS(hDS); 
      return; 
   } 
 
   L_DicomFreeDS(hDSRet); 
} 
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