LDicomPrintSCU::CreateFilmBox
#include "ltdic.h"
L_INT LDicomPrintSCU::CreateFilmBox(pParameters, pszRefPresLUTInstanceUID = NULL)
const pFILMBOXPARAMETERS pParameters; |
/* Film Box parameters */ |
const L_TCHAR * pszRefPresLUTInstanceUID; |
/* Referenced Presentation LUT */ |
Requests the Print SCP to create a Basic Film Box SOP Instance.
Parameter |
Description |
pParameters |
Pointer to a FILMBOXPARAMETERS structure that specifies the parameters of the Film Box to be created. The function will return an error if this parameter is set to NULL or if the Image Display Format is not specified. |
pszRefPresLUTInstanceUID |
Character string that contains the SOP Instance UID of a previously created Presentation LUT SOP Instance to be referenced by the Film Box. If this is set to NULL, the corresponding Attribute will not be included in the request to the Print SCP. For creating Presentation LUTs, refer to the function LDicomPrintSCU::CreatePresentationLUT. |
Returns
0 |
The Basic Film Box SOP Instance was created successfully. |
DICOM_ERROR_PRINTSCU_FAILURE_STATUS |
The response of the Print SCP specifies a Failure status code; no Instance was created. |
DICOM_ERROR_PRINTSCU_CLASS_NOT_SUPPORTED |
Neither the Basic Grayscale Print Management Meta SOP Class nor the Basic Color Print Management Meta SOP Class is supported on the Association. |
> 0 |
An error occurred. Refer to Return Codes. |
Comments
A Film Session must have been created before creating Film Boxes.
The function will not return until it receives the response of the Print SCP, or an error occurs. The function LDicomPrintSCU::GetLastOperationStatus can be used to obtain the status code specified in the response of the Print SCP. When the return value of the function CreateFilmBox is 0, then the Film Box was created successfully, with either a Success or Warning status code in the response of the Print SCP.
Having the Film Box created, the function LDicomPrintSCU::GetFilmBoxInstanceUID can be used to obtain its SOP Instance UID. Also, the functions LDicomPrintSCU::UpdateFilmBox, LDicomPrintSCU::PrintFilmBox, and LDicomPrintSCU::DeleteFilmBox can be used to update, print, and delete the Film Box, respectively.
When a Film Box is created, the Print SCP will also create one or more Image Boxes, based on the Image Display Format specified by the FILMBOXPARAMETERS structure. An array of the SOP Instance UIDs of these Image Boxes is kept internally. The following functions can be used to handle the Image Boxes:
LDicomPrintSCU::GetImageBoxesCount
LDicomPrintSCU::GetImageBoxInstanceUID
LDicomPrintSCU::UpdateImageBox
LDicomPrintSCU::GetDefaultImageBoxParameters
LDicomPrintSCU::FreeImageBoxesInstanceUIDs
Similarly, when a Film Box is created, and if the FILMBOXPARAMETERS structure specifies an Annotation Display Format ID, the Print SCP will also create one or more Annotation Boxes, based on the Value of that Attribute. This is true given that the Basic Annotation Box SOP Class is supported on the Association. An array of the SOP Instance UIDs of these Annotation Boxes is kept internally. The following functions can be used to handle the Annotation Boxes:
LDicomPrintSCU::GetAnnotationBoxesCount
LDicomPrintSCU::GetAnnotationBoxInstanceUID
LDicomPrintSCU::UpdateAnnotationBox
LDicomPrintSCU::FreeAnnotationBoxesInstanceUIDs
The function can be used to create more than one Film Box. However, only the current Film Box (the last one created) can be updated, printed alone, and deleted. Previous Film Boxes can only be printed by printing the whole Film Session.
The parameter pParameters points to a FILMBOXPARAMETERS structure that specifies the parameters to be used when creating the Film Box. In this structure, if a string member is NULL, then the corresponding Attribute will not be included in the request to the Print SCP. Similarly, if a numeric member (that specifies an Attribute) is negative, the corresponding Attribute will not be included in the request. The Display Format ID must be specified in this structure.
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 |
See Also
Example
For an example, refer to LDicomPrintSCU::UpdateImageBox.