Returns a native device context handle, and other information that can be used to enhance the printing of a document by calling
                  native graphics functions directly. 
                  	  
               
            
 
            	  
            	 
            
               Syntax:
 
               		 
               		call "PC_PRINTER_INFO using     cblt-pi-printer-handle
                                cblt-pi-printer-info-struct
                      returning status-code 
               	   
            	 
            
               Parameters:
 
               		 
               		
                
                  		   
                  			 
                  -  
                     				cblt-pi-printer-handle 
                     			 
                  
- Using call prototype (see Library Routines - Key) : cblt-x4-comp5 
                     			 
                  
- Picture: pic x(4) comp-5. 
                     			 
                  
-  
                     				cblt-pi-printer-info-struct 
                     			 
                  
- Group containing 
                     				01 print-info-struct  
  03 cblt-pi-struct-size               cblt-os-size   *> pic x(4) comp-5 or pic x(8) comp-5 (64-bit native only). 
  03 cblt-pi-printer-hdc               cblt-pointer   *> pointer. 
  03 cblt-pi-printer-hps               cblt-os-size   *> pic x(4) comp-5 or pic x(8) comp-5 (64-bit native only). 
  03 cblt-pi-printer-orientation       cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-rows              cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-cols              cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-rows-left         cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-max-horiz         cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-max-vert          cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-min-horiz         cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-min-vert          cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-curr-horiz        cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-curr-vert         cblt-x4-comp5  *> pic x(4) comp-5. 
  03 cblt-pi-printer-copies            cblt-x2-comp5  *> pic 9(4) comp-5. 
  03 cblt-pi-printer-quality           cblt-x2-comp5  *> pic 9(4) comp-5. 
  03 cblt-pi-printer-color             cblt-x1-comp5  *> pic 99 comp-5. 
  03 cblt-pi-reserved-item1            cblt-x1-comp5  *> pic 99 comp-5. 
  03 cblt-pi-printer-device-ver        cblt-x2-comp5  *> pic 9(4) comp-5. 
  03 cblt-pi-printer-name 
    05 cblt-pi-printer-pname-size      cblt-os-size   *> pic x(4) comp-5 or pic x(8) comp-5 (64-bit native only).  
    05 cblt-pi-printer-pname           cblt-pointer   *> pointer. 
  03 cblt-pi-printer-type  
    05 cblt-pi-printer-ptype-size      cblt-os-size   *> pic x(4) comp-5 or pic x(8) comp-5 (64-bit native only). 
    05 cblt-pi-printer-ptype           cblt-pointer   *> pointer. 
  03 cblt-pi-printer-device   
    05 cblt-pi-printer-pdevice-size    cblt-os-size   *> pic x(4) comp-5 or pic x(8) comp-5 (64-bit native only).  
    05 cblt-pi-printer-pdevice         cblt-pointer   *> pointer. 
  03 cblt-pi-printer-location    
    05 cblt-pi-printer-plocation-size  cblt-os-size   *> pic x(4) comp-5 or	pic x(8) comp-5 (64-bit native only). 
    05 cblt-pi-printer-plocation       cblt-pointer   *> pointer. 
  03 p-comment
    05 cblt-pi-printer-pcomment-size   cblt-os-size   *> pic x(4) comp-5 or pic x(8) comp-5 (64-bit native only).  
    05 cblt-pi-printer-pcomment        cblt-pointer   *> pointer. 
  03 cblt-pi-printer-type   
    05 cblt-pi-printer-papersize-size  cblt-os-size   *> pic x(4) comp-5 or pic x(8) comp-5 (64-bit native only). 
    05 cblt-pi-printer-papersize       cblt-pointer   *> pointer. 
-  
                     				status-code 
                     			 
                  
- See 
                     				Library Routines - Key 
                     			 
                  
  
            	 
            
               On Entry:
 
               		 
               		
                
                  		   
                  			 
                  -  
                     				printer-handle 
                     			 
                  
- The printer handle returned when the printer was opened 
                     			 
                  
-  
                     				cblt-pi-struct-size 
                     			 
                  
- The size of the structure 
                     			 
                  
-  
                     				cblt-pi-printer-papersize 
                     			 
                  
- The size of the associated buffers 
                     			 
                  
-  
                     				cblt-pi-printer-pcomment 
                     			 
                  
- The address of the buffer 
                     			 
                  
  
            	 
            
               On Exit:
 
               		 
               		
                
                  		   
                  			 
                  -  
                     				cblt-pi-printer-hdc 
                     			 
                  
- Handle to the printer device context 
                     			 
                  
-  
                     				cblt-pi-printer-hps 
                     			 
                  
- Reserved 
                     			 
                  
-  
                     				cblt-pi-printer-orientation 
                     			 
                  
- Orientation of the printed output: 
                     				
                      
                     			 
                  
-  
                     				cblt-pi-printer-cols 
                     			 
                  
- Total number of columns on a page in the current font 
                     			 
                  
-  
                     				cblt-pi-printer-rows_left 
                     			 
                  
- Number of rows left on the current page in the current font 
                     			 
                  
-  
                     				cblt-pi-printer-max-horiz 
                     			 
                  
- Maximum value of graphics coordinate available in the horizontal axis 
                     			 
                  
-  
                     				cblt-pi-printer-max-vert 
                     			 
                  
- Maximum value of graphics coordinate available in the vertical axis 
                     			 
                  
-  
                     				cblt-pi-printer-min-horiz 
                     			 
                  
- Minimum value of graphics coordinate available in the horizontal axis 
                     			 
                  
-  
                     				cblt-pi-printer-min-vert 
                     			 
                  
- Minimum value of graphics coordinate available in the vertical axis 
                     			 
                  
-  
                     				cblt-pi-printer-curr-horiz 
                     			 
                  
- Current graphics X coordinate 
                     			 
                  
-  
                     				cblt-pi-printer-curr-vert 
                     			 
                  
- Current graphics Y coordinate 
                     			 
                  
-  
                     				cblt-pi-printer-copies 
                     			 
                  
- Number of copies 
                     			 
                  
-  
                     				cblt-pi-printer-quality 
                     			 
                  
- The quality the printer is set to. Can be one of: 
                     				
                     
                         
                           					  
                           					  
                           					 
                            
                              						
                               
                                 						  
                                 | 0 | Draft |   
                                 						  
                                 | 1 | Low |   
                                 						  
                                 | 2 | Medium |   
                                 						  
                                 | 3 | High |   
                                 						  
                                 | 4 | Printer's default |  
 
 Otherwise the DPI is returned.
-  
                     				cblt-pi-printer-color 
                     			 
                  
- Color capabilities of the printer: 
                     				
                      
                     			 
                  
-  
                     				cblt-pi-printer-version 
                     			 
                  
- Version number of the printer driver 
                     			 
                  
-  
                     				cblt-pi-printer-pname-size 
                     			 
                  
- Size of the printer name 
                     			 
                  
-  
                     				cblt-pi-printer-pname 
                     			 
                  
- Pointer to the name of the printer 
                     			 
                  
-  
                     				cblt-pi-printer-ptype-size 
                     			 
                  
- Size of the printer type 
                     			 
                  
-  
                     				cblt-pi-printer-ptype 
                     			 
                  
- Pointer to the cblt-pi-printer-type 
                     			 
                  
-  
                     				cblt-pi-printer-pdevice-size 
                     			 
                  
- Size of the printer device 
                     			 
                  
-  
                     				cblt-pi-printer-pdevice 
                     			 
                  
- Pointer to the printer device 
                     			 
                  
-  
                     				cblt-pi-printer-plocation-size 
                     			 
                  
- Size of the printer's location 
                     			 
                  
-  
                     				cblt-pi-printer-plocation 
                     			 
                  
- Pointer to the location of the printer 
                     			 
                  
-  
                     				cblt-pi-printer-pcomment-size 
                     			 
                  
- Size of the printer's comment 
                     			 
                  
-  
                     				cblt-pi-printer-pcomment 
                     			 
                  
- Pointer to the printer's comment 
                     			 
                  
-  
                     				cblt-pi-printer-papersize-size 
                     			 
                  
- Size of the printer's paper size 
                     			 
                  
-  
                     				cblt-pi-printer-papersize 
                     			 
                  
- Pointer to the printer's paper size 
                     			 
                  
-  
                     				status-code 
                     			 
                  
-  
                     				Printer Handling Routines Return Codes 
                     			 
                  
  
            	 
             
            	 
            
               Example:
 
               		 
               		$set remove(control)
working-storage section.
copy "cbltypes.cpy".
01 PRT-INFO-1 is typedef.
  03 pi-struct-size      cblt-os-size.
  03 hdc                 cblt-pointer.
  03 hps                 cblt-os-size.
  03 orientation         pic x(4) comp-5.
  03 rows                pic x(4) comp-5.
  03 cols                pic x(4) comp-5.
  03 rows-left           pic x(4) comp-5.
  03 max-horiz           pic x(4) comp-5.
  03 max-vert            pic x(4) comp-5.
 03 min-horiz           pic x(4) comp-5.
  03 min-vert            pic x(4) comp-5.
  03 curr-horiz          pic x(4) comp-5.
  03 curr-vert           pic x(4) comp-5.
  03 copies              pic 9(4) comp-5.
  03 quality             pic 9(4) comp-5.
  03 color               pic 99 comp-5.
  03 reserved1           pic x comp-5.
  03 driver-ver          pic 9(4) comp-5.
  03 pname.
    05 cbsize            cblt-os-size.
    05 buffer            pointer.
  03 ptype.
    05 cbsize            cblt-os-size.
    05 buffer            pointer.
  03 pdevice.
    05 cbsize            cblt-os-size.
    05 buffer            pointer.
  03 plocation.
    05 cbsize            cblt-os-size.
    05 buffer            pointer.
  03 pcomment.
    05 cbsize            cblt-os-size.
    05 buffer            pointer.
  03 ppapersize.
    05 cbsize            cblt-os-size.
    05 buffer            pointer.
01.
  03 document-title.
    05 title-len         pic x(2) comp-5.
    05 title-text        pic x(20).
      03  font-family.
    05 font-family-namelen  pic x(2) comp-5 value 80.
    05 font-family-name     pic x(80).
  03 print-info          PRT-INFO-1.
  03 abort               pic x(4) comp-5 value 1.
  03 control             pic x(4) comp-5 value 2.
  03 flags               pic x(4) comp-5 value 3.
  03 handle              pic x(4) comp-5.
01 cblt-pi-printer-name          pic x(255).
01 cblt-pi-printer-type          pic x(255).
01 cblt-pi-printer-device        pic x(255).
01 cblt-pi-printer-location      pic x(255).
01 cblt-pi-printer-comment       pic x(255).
01 cblt-pi-printer-papersize     pic x(255).
procedure division.
    move 17 to title-len
    move "Printer Info Test" to title-text
    call "PC_PRINTER_OPEN" using by reference handle
                                 by reference document-title
                                 by value flags
                                 by value 0
    end-call
    if return-code = zero
        move all x"0" to print-info
        move length of print-info to pi-struct-size
        set buffer of pname of print-info
            to address of cblt-pi-printer-name
        move 255 to cbsize of pname of print-info
        set buffer of ptype of print-info
            to address of cblt-pi-printer-type
        move 255 to cbsize of ptype of print-info
        set buffer of pdevice of print-info
             to address of cblt-pi-printer-device
        move 255 to cbsize of pdevice of print-info
        set buffer of plocation of print-info
            to address of cblt-pi-printer-location
        move 255 to cbsize of plocation of print-info
        set buffer of pcomment of print-info
            to address of cblt-pi-printer-comment
        move 255 to cbsize of pcomment of print-info
        set buffer of ppapersize of print-info
            to address of cblt-pi-printer-papersize
        move 255 to cbsize of ppapersize of print-info
        call "PC_PRINTER_INFO" using by reference handle
                                     by reference print-info
        end-call
        display return-code
        if return-code not equal zero
            display "PC_PRINTER_INFO failed (return-code)"
            display "   === " return-code
            perform close-down-printer
            stop run
        end-if
        display "Orientation   : " orientation of print-info
        display "Rows          : " rows of print-info
        display "Cols          : " cols of print-info
        display "Rows Left     : " rows-left of print-info
        display "Max horz      : " max-horiz of print-info
        display "Max vert      : " max-vert of print-info
        display "Min horz      : " min-horiz of print-info
        display "Min vert      : " min-vert of print-info
        display "Current horz  : " curr-horiz of print-info
        display "Current vert  : " min-vert of print-info
        display "Copies        : " copies of print-info
        display "Quality       : " no advancing
        evaluate quality of print-info
         when 0 display "Draft"
         when 1 display "Low"
         when 2 display "Medium"
         when 3 display "High"
         when 4 display "printers default used"
         when other display quality of print-info " DPI"
        end-evaluate
        display "Color         : " no advancing
        if color of print-info equals 0
            display "Mono Chrome"
        else
            display "Color"
        end-if
        if cbsize of pname of print-info equal 0
            display "Printer name  : not available"
        else
            display "Printer name  : "
                    cblt-pi-printer-name(1:
                         cbsize of pname of print-info)
           display "Printer name  size : "
                   cbsize of pname of print-info
        end-if
        if cbsize of ptype of print-info equal 0
           display "Printer type  : not available"
        else
            display "Printer type  : "
                    cblt-pi-printer-type(1:
                         cbsize of ptype of print-info)
            display "Printer type size : "
                    cbsize of ptype of print-info
        end-if
        if cbsize of pdevice of print-info equal 0
            display "Printer device: not available"
        else
            display "Printer device(s): "
                    cblt-pi-printer-device(1:
                         cbsize of pdevice of print-info)
            display "Printer device size : "
                    cbsize of pdevice of print-info
        end-if
        if cbsize of plocation of print-info equal 0
            display "Printer location: not available"
        else
            display "Printer location: "
                    cblt-pi-printer-location(1:
                         cbsize of plocation of print-info)
            display "Printer location size : "
                    cbsize of plocation of print-info
        end-if
        if cbsize of pcomment of print-info equal 0
            display "Printer comment: not available"
        else
            display "Printer comment: "
                    cblt-pi-printer-comment(1:
                         cbsize of pcomment of print-info)
            display "Printer comment size : "
                    cbsize of pcomment of print-info
        end-if
        if cbsize of ppapersize of print-info equal 0
            display "Printer papersize: not available"
        else
            display "Printer papersize: "
                    cblt-pi-printer-papersize(1:
                         cbsize of ppapersize of print-info)
            display "Printer papersize size : "
                    cbsize of ppapersize of print-info
        end-if
        display "Driver version : "driver-ver of print-info
    end-if
    perform close-down-printer
    .
close-down-printer section.
    call "PC_PRINTER_CONTROL" using by reference handle
                                    by value abort
    end-call
    call "PC_PRINTER_CLOSE" using by reference handle
    end-call
    .
 
               	   
            
           
         
         
Comments:
cblt-pi-printer-type specifies the type of printer; for example, HP or Canon.
cblt-pi-printer-device specifies the printer device; for example, lpt1:, :file or :com1. This parameter can be set to multiple devices; each device is separated by a comma (for example, lpt1:,lpt2:).
cblt-pi-printer-comment specifies any comment associated with the printer (for example, the printer might have the comment "Printer for accounts" defined for it).
paper-size defines the paper-size; for example, A4, or Letter.