LEADTOOLS DICOM C++ Class Library Help > Classes and Member Functions > LDicomNet > LDicomNet Class Members > 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 |
Win32, x64
See Also
Topics: |
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); }