LDicomNet::OnReceive

#include "ltdic.h"

virtual L_VOID LDicomNet::OnReceive(nError, nType, pBuffer, nBytes)

L_INT nError;

/* error code */

L_UCHAR nType;

/* type of message/data received */

L_UCHAR * pBuffer;

/* buffer */

L_UINT32 nBytes;

/* number of bytes in pBuffer */

Notifies a connection that data was received. This function is available in the PACS Imaging Toolkit.

Parameter

Description

nError

Error code. Refer to Return Codes.

nType

The type of data that was sent. Possible values are:

 

Value

Meaning

 

PDU_UNKNOWN

[0x00] Unknown data sent.

 

PDU_ASSOCIATE_REQUEST

[0x01] Associate Request message sent

 

PDU_ASSOCIATE_ACCEPT

[0x02] Associate Accept message sent

 

PDU_ASSOCIATE_REJECT

[0x03] Associate Reject message sent

 

PDU_DATA_TRANSFER

[0x04] Data transfer made.

 

PDU_RELEASE_REQUEST

[0x05] Release Request message sent

 

PDU_RELEASE_RESPONSE

[0x06] Release Response message sent

 

PDU_ABORT

[0x07] Abort message sent.

pBuffer

Buffer that contains all the data that was sent. This includes the command set and any associated data set.

nBytes

Number of bytes of data in pBuffer.

Returns

None.

Comments

This is a low level means of receiving DICOM messages and data. It allows you to process messages yourself, instead of using the high level message processing functions provided.

This function is generated for each LDicomNet::SendXXX function provided by LEADTOOLS.

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

Platforms

Win32, x64

See Also

Topics:

Receiving Messages

Example

//LMyDicomNet is a class derived from LDicomNet

//In class LMyDicomNet, all events (virtual functions OnXXX()) have been

//overridden so that they can be processed. Each event displays a MessageBox

//identifying the event, the IP that generated the event, the IP that received the event and

//any other relevant data.

//For the entire derived class, see (hyperlink)LMyDicomNet class

//OnReceive()

L_VOID   LMyDicomNet::OnReceive2(L_INT nError, L_UCHAR nType, L_UCHAR *pBuffer, L_UINT32 nBytes)
{
   UNREFERENCED_PARAMETER(pBuffer);
   CString strMsg, strTmp, strType;
   
   strMsg = TEXT("*** OnReceive ***\n");
   if (nError == DICOM_SUCCESS)
   {
      switch(nType)
      {         
      case PDU_ASSOCIATE_REQUEST:    
         strType = TEXT("PDU_ASSOCIATE_REQUEST");
         break;
         
      case PDU_ASSOCIATE_ACCEPT:                  
         strType = TEXT("PDU_ASSOCIATE_ACCEPT");
         break;
         
      case PDU_ASSOCIATE_REJECT:
         strType = TEXT("PDU_ASSOCIATE_REJECT");
         break;
         
      case PDU_DATA_TRANSFER:  
         strType = TEXT("PDU_DATA_TRANSFER");
         break;
        
 
      case PDU_RELEASE_REQUEST:  
         strType = TEXT("PDU_RELEASE_REQUEST");
         break;
         
      case PDU_RELEASE_RESPONSE: 
         strType = TEXT("PDU_RELEASE_RESPONSE");
         break;
         
      case PDU_ABORT:
         strType = TEXT("PDU_ABORT");
         break;
      }
      strTmp.Format(TEXT("\nType[%s]\nlSize[%d]"), strType, nBytes);
   }
   else
   {
      strTmp.Format(TEXT("Error[%d]\n"),nError);
   }
   
   strMsg = strMsg + strTmp;
   AfxMessageBox(strMsg);
}