DICOMPRINTSCUCALLBACK

Summary

The DICOMPRINTSCUCALLBACK defines a set of callback functions related to the DICOM Print SCU.

Syntax

typedef struct _DICOMPRINTSCUCALLBACK 
{ 
   PRINTSCUSTATUSCALLBACK pfnStatus; 
   PRINTSCUPRINTERREPORTCALLBACK pfnPrinterReport; 
   PRINTSCUPRINTJOBREPORT pfnPrintJobReport; 
   L_VOID * pUserData; 
} DICOMPRINTSCUCALLBACK, * pDICOMPRINTSCUCALLBACK; 

Members

pfnStatus

Called to indicate the status of the Print SCU.

pfnPrinterReport

Called when a printer status report is received from the Print SCP.

pfnPrintJobReport

Called when a Print Job status report is received from the Print SCP.

pUserData

Sets the user-defined data which will be passed back in the callbacks.

Comments

pfnStatus

When the function LDicomPrintSCU::CreateFilmSession is called to create a Film Session (and assuming that the function succeeds), the callback function pfnStatus 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 parameter uOperationStatus 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. The function LDicomPrintSCU::GetLastOperationStatus can be used to obtain the actual status code. If it is really 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 Failure status code. The same status code would be returned by the function LDicomPrintSCU::GetLastOperationStatus.

The implementation of the LDicomPrintSCU class for this function simply does nothing. In order to make use of this callback function, create a new class derived from the LDicomPrintSCU and override the function providing the desired implementation.

pfnPrinterReport

This callback function is called whenever the Print SCU receives a report from the Print SCP about the changes of the printer status. If any of the three Meta SOP Classes (the Basic Grayscale Print Management Meta SOP Class, the Basic Color Print Management Meta SOP Class, or the Pull Stored Print Management Meta SOP Class) is supported on the Association, the Printer SOP Class is also supported and hence the function is expected to be called. If none of the three Meta SOP Classes is supported, the function will never be called.

In warning and failure conditions, the Print SCP is supposed to supply additional information about the printer status in the Attribute Printer Status Info (the member pszPrinterStatusInfo of the PRINTERREPORTINFO structure).

The implementation of the LDicomPrintSCU class for this function simply does nothing. In order to make use of this callback function, you should create a new class derived from the LDicomPrintSCU and override the function providing the desired implementation.

pfnPrinterJobReport

This callback function is called whenever the Print SCU receives a report from the Print SCP about the changes in the status of a Print Job. The intended Print Job is specified by its SOP Instance UID. If the Print Job SOP Class is supported on the Association, this function is expected to be called. Otherwise, it will never be called.

If the status of the Print Job is Pending or Failure, the Print SCP is supposed to supply additional information about the pending/error condition in the Attribute Execution Status Info (the pszExecutionStatusInfo member of the PRINTJOBREPORTINFO structure).

The implementation of the LDicomPrintSCU class for this function simply does nothing. In order to make use of this callback function, you should create a new class derived from the LDicomPrintSCU and override the function providing the desired implementation.

Usage

See Also

Functions

Topics

Help Version 23.0.2024.7.1
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.