#include "ltdic.h"
L_VOID pEXT_CALLBACK Your Function(hCU, uStatus, uOperationStatus, pUserData)
Called to indicate the status of the Print SCU.
Handle to the DICOM Print SCU.
Specifies the status of the Print SCU. The following values are possible:
Value | Meaning |
---|---|
PRINTSCU_STATUS_CONNECT | [1] The Print SCU is connecting to the Print SCP. |
PRINTSCU_STATUS_SEND_ASSOCIATE_RQ | [2] An A-ASSOCIATE-RQ was sent to the Print SCP. |
PRINTSCU_STATUS_RECEIVE_ASSOCIATE_RJ | [3] An A-ASSOCIATE-RJ was received from the Print SCP. |
PRINTSCU_STATUS_RECEIVE_ASSOCIATE_AC | [4] An A-ASSOCIATE-AC was received from the Print SCP. |
PRINTSCU_STATUS_SEND_RELEASE_RQ | [5] An A-RELEASE-RQ was sent to the Print SCP. |
PRINTSCU_STATUS_CLOSE | [6] The Print SCU closed the connection. |
PRINTSCU_STATUS_RECEIVE_RELEASE_RP | [7] An A-RELEASE-RP was received from the Print SCP. |
PRINTSCU_STATUS_RECEIVE_RELEASE_RQ | [8] An A-RELEASE-RQ was received from the Print SCP. |
PRINTSCU_STATUS_SEND_RELEASE_RP | [9] An A-RELEASE-RP was sent to the Print SCP. |
PRINTSCU_STATUS_RECEIVE_ABORT | [10] An A-ABORT was received from the Print SCP. |
PRINTSCU_STATUS_SEND_CREATE_FILM_SESSION_RQ | [11] An N-CREATE-RQ was sent to the Print SCP (Basic Film Session SOP Class). |
PRINTSCU_STATUS_RECEIVE_CREATE_FILM_SESSION_RSP | [12] An N-CREATE-RSP was received from the Print SCP (Basic Film Session SOP Class). |
PRINTSCU_STATUS_SEND_UPDATE_FILM_SESSION_RQ | [13] An N-SET-RQ was sent to the Print SCP (Basic Film Session SOP Class). |
PRINTSCU_STATUS_RECEIVE_UPDATE_FILM_SESSION_RSP | [14] An N-SET-RSP was received from the Print SCP (Basic Film Session SOP Class). |
PRINTSCU_STATUS_SEND_PRINT_FILM_SESSION_RQ | [15] An N-ACTION-RQ was sent to the Print SCP (Basic Film Session SOP Class). |
PRINTSCU_STATUS_RECEIVE_PRINT_FILM_SESSION_RSP | [16] An N-ACTION-RSP was received from the Print SCP (Basic Film Session SOP Class). |
PRINTSCU_STATUS_SEND_DELETE_FILM_SESSION_RQ | [17] An N-DELETE-RQ was sent to the Print SCP (Basic Film Session SOP Class). |
PRINTSCU_STATUS_RECEIVE_DELETE_FILM_SESSION_RSP | [18] An N-DELETE-RSP was received from the Print SCP (Basic Film Session SOP Class). |
PRINTSCU_STATUS_SEND_CREATE_FILM_BOX_RQ | [19] An N-CREATE-RQ was sent to the Print SCP (Basic Film Box SOP Class). |
PRINTSCU_STATUS_RECEIVE_CREATE_FILM_BOX_RSP | [20] An N-CREATE-RSP was received from the Print SCP (Basic Film Box SOP Class). |
PRINTSCU_STATUS_SEND_UPDATE_FILM_BOX_RQ | [21] An N-SET-RQ was sent to the Print SCP (Basic Film Box SOP Class). |
PRINTSCU_STATUS_RECEIVE_UPDATE_FILM_BOX_RSP | [22] An N-SET-RSP was received from the Print SCP (Basic Film Box SOP Class). |
PRINTSCU_STATUS_SEND_PRINT_FILM_BOX_RQ | [23] An N-ACTION-RQ was sent to the Print SCP (Basic Film Box SOP Class). |
PRINTSCU_STATUS_RECEIVE_PRINT_FILM_BOX_RSP | [24] An N-ACTION-RSP was received from the Print SCP (Basic Film Box SOP Class). |
PRINTSCU_STATUS_SEND_DELETE_FILM_BOX_RQ | [25] An N-DELETE-RQ was sent to the Print SCP (Basic Film Box SOP Class). |
PRINTSCU_STATUS_RECEIVE_DELETE_FILM_BOX_RSP | [26] An N-DELETE-RSP was received from the Print SCP (Basic Film Box SOP Class). |
PRINTSCU_STATUS_SEND_UPDATE_IMAGE_BOX_RQ | [27] An N-SET-RQ was sent to the Print SCP (Basic Grayscale/Color Image Box SOP Class). |
PRINTSCU_STATUS_RECEIVE_UPDATE_IMAGE_BOX_RSP | [28] An N-SET-RSP was received from the Print SCP (Basic Grayscale/Color Image Box SOP Class). |
PRINTSCU_STATUS_SEND_UPDATE_ANNOTATION_BOX_RQ | [29] An N-SET-RQ was sent to the Print SCP (Basic Annotation Box SOP Class). |
PRINTSCU_STATUS_RECEIVE_UPDATE_ANNOTATION_BOX_RSP | [30] An N-SET-RSP was received from the Print SCP (Basic Annotation Box SOP Class). |
PRINTSCU_STATUS_SEND_GET_PRINTER_INFO_RQ | [31] An N-GET-RQ was sent to the Print SCP (Printer SOP Class). |
PRINTSCU_STATUS_RECEIVE_GET_PRINTER_INFO_RSP | [32] An N-GET-RSP was received from the Print SCP (Printer SOP Class). |
PRINTSCU_STATUS_SEND_GET_PRINT_JOB_INFO_RQ | [33] An N-GET-RQ was sent to the Print SCP (Print Job SOP Class). |
PRINTSCU_STATUS_RECEIVE_GET_PRINT_JOB_INFO_RSP | [34] An N-GET-RSP was received from the Print SCP (Print Job SOP Class). |
PRINTSCU_STATUS_SEND_GET_PRINTER_CONFIG_RQ | [35] An N-GET-RQ was sent to the Print SCP (Printer Configuration Retrieval SOP Class). |
PRINTSCU_STATUS_RECEIVE_GET_PRINTER_CONFIG_RSP | [36] An N-GET-RSP was received from the Print SCP (Printer Configuration Retrieval SOP Class). |
PRINTSCU_STATUS_SEND_CREATE_PRESENTATION_LUT_RQ | [37] An N-CREATE-RQ was sent to the Print SCP (Presentation LUT SOP Class). |
PRINTSCU_STATUS_RECEIVE_CREATE_PRESENTATION_LUT_RSP | [38] An N-CREATE-RSP was received from the Print SCP (Presentation LUT SOP Class). |
PRINTSCU_STATUS_SEND_DELETE_PRESENTATION_LUT_RQ | [39] An N-DELETE-RQ was sent to the Print SCP (Presentation LUT SOP Class). |
PRINTSCU_STATUS_RECEIVE_DELETE_PRESENTATION_LUT_RSP | [40] An N-DELETE-RSP was received from the Print SCP (Presentation LUT SOP Class). |
PRINTSCU_STATUS_SEND_CREATE_OVERLAY_BOX_RQ | [41] An N-CREATE-RQ was sent to the Print SCP (Basic Print Image Overlay Box SOP Class). |
PRINTSCU_STATUS_RECEIVE_CREATE_OVERLAY_BOX_RSP | [42] An N-CREATE-RSP was received from the Print SCP (Basic Print Image Overlay Box SOP Class). |
PRINTSCU_STATUS_SEND_UPDATE_OVERLAY_BOX_RQ | [43] An N-SET-RQ was sent to the Print SCP (Basic Print Image Overlay Box SOP Class). |
PRINTSCU_STATUS_RECEIVE_UPDATE_OVERLAY_BOX_RSP | [44] An N-SET-RSP was received from the Print SCP (Basic Print Image Overlay Box SOP Class). |
PRINTSCU_STATUS_SEND_DELETE_OVERLAY_BOX_RQ | [45] An N-DELETE-RQ was sent to the Print SCP (Basic Print Image Overlay Box SOP Class). |
PRINTSCU_STATUS_RECEIVE_DELETE_OVERLAY_BOX_RSP | [46] An N-DELETE-RSP was received from the Print SCP (Basic Print Image Overlay Box SOP Class). |
PRINTSCU_STATUS_SEND_CREATE_PULL_PRINT_REQUEST_RQ | [47] An N-CREATE-RQ was sent to the Print SCP (Pull Print Request SOP Class). |
PRINTSCU_STATUS_RECEIVE_CREATE_PULL_PRINT_REQUEST_RSP | [48] An N-CREATE-RSP was received from the Print SCP (Pull Print Request SOP Class). |
PRINTSCU_STATUS_SEND_PRINT_PULL_PRINT_REQUEST_RQ | [49] An N-ACTION-RQ was sent to the Print SCP (Pull Print Request SOP Class). |
PRINTSCU_STATUS_RECEIVE_PRINT_PULL_PRINT_REQUEST_RSP | [50] An N-ACTION-RSP was received from the Print SCP (Pull Print Request SOP Class). |
PRINTSCU_STATUS_SEND_DELETE_PULL_PRINT_REQUEST_RQ | [51] An N-DELETE-RQ was sent to the Print SCP (Pull Print Request SOP Class). |
PRINTSCU_STATUS_RECEIVE_DELETE_PULL_PRINT_REQUEST_RSP | [52] An N-DELETE-RSP was received from the Print SCP (Pull Print Request SOP Class). |
When the uStatus parameter is one of the PRINTSCU_STATUS_xxx_RSP status values, uOperationStatus will be either COMMAND_STATUS_SUCCESS (if a Success or Warning status code is specified in the response of the Print SCP) or the Failure status code specified in the response.
If the uStatus parameter is any other value (it is not a PRINTSCU_STATUS_xxx_RSP status value), uOperationStatus is meaningless and is always set to 0.
Pointer to user-defined data.
None.
When the function L_DicomPrintSCUCreateFilmSession is called to create a Film Session (assuming that the function succeeds), the callback function OnStatus will be called twice: The first time with uStatus set to PRINTSCU_STATUS_SEND_CREATE_FILM_SESSION_RQ and uOperationStatus set to 0, and the second time with uStatus set to PRINTSCU_STATUS_RECEIVE_CREATE_FILM_SESSION_RSP and uOperationStatus set to COMMAND_STATUS_SUCCESS.
When the parameter uStatus is one of the PRINTSCU_STATUS_xxx_RSP status values, the uOperationStatus parameter is determined as follows:
If the status code specified in the response of the Print SCP is either a Success or Warning status code, uOperationStatus will be set to COMMAND_STATUS_SUCCESS. Use the L_DicomPrintSCUGetLastOperationStatus function to obtain the actual status code. If it really is a Success status code, the function will return COMMAND_STATUS_SUCCESS; otherwise, it will return the Warning status code.
If a Failure status code is specified in the response of the Print SCP, uOperationStatus will be set to that particular Failure status code. The same status code would be returned if L_DicomPrintSCUGetLastOperationStatus were called.
Required DLLs and Libraries
Win32, x64
L_VOID WINAPI MyPRINTSCUSTATUSCALLBACK (HDICOMPRINTSCU hCU, L_UINT16 uStatus, L_UINT16 uOperationStatus, L_VOID* pUserData)
{
L_TCHAR szMsg[32];
L_UCHAR nSource, nReason;
L_UINT16 uOpStatus;
L_TCHAR * pszStatusCodeType;
switch (uStatus)
{
case PRINTSCU_STATUS_RECEIVE_ABORT:
L_DicomPrintSCUGetAbortInfo (hCU, &nSource, &nReason);
wsprintf(szMsg, TEXT("Source = %i, Reason = %i"), nSource, nReason);
MessageBox(NULL, szMsg, TEXT("Print SCP Aborted the Association"), MB_OK);
break;
case PRINTSCU_STATUS_RECEIVE_PRINT_FILM_SESSION_RSP:
uOpStatus = L_DicomPrintSCUGetLastOperationStatus (hCU);
if (uOperationStatus == COMMAND_STATUS_SUCCESS)
{
if (uOpStatus == COMMAND_STATUS_SUCCESS)
{
pszStatusCodeType = TEXT("Success");
}
else
{
pszStatusCodeType = TEXT("Warning");
}
}
else
{
pszStatusCodeType = TEXT("Failure");
}
wsprintf(szMsg, TEXT("Status: 0x%04X (%s)"), uOpStatus, pszStatusCodeType);
MessageBox(NULL, szMsg,
TEXT("Received N-ACTION-RSP (Basic Film Session SOP Class)"),
MB_OK);
break;
}
}