The DICOMPRINTSCUCALLBACK defines a set of callback functions related to the DICOM Print SCU.
typedef struct _DICOMPRINTSCUCALLBACK
{
PRINTSCUSTATUSCALLBACK pfnStatus;
PRINTSCUPRINTERREPORTCALLBACK pfnPrinterReport;
PRINTSCUPRINTJOBREPORT pfnPrintJobReport;
L_VOID * pUserData;
} DICOMPRINTSCUCALLBACK, * pDICOMPRINTSCUCALLBACK;
Called when a printer status report is received from the Print SCP.
Called when a Print Job status report is received from the Print SCP.
Sets the user-defined data which will be passed back in the callbacks.
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.
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.
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.
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document