 
 
 
call "PC_PRINTER_SET_DEFAULT" using by value default-option
                              by reference   default-struct
                              returning      status-code
 
    
01 cblt-printer-default                typedef.
  03 cblte-pd-printer-name.
    05 cblte-pd-printer-name-length    cblt-x2-comp5.	*> pic x(4) comp-5.
    05 cblte-pd-printer-name           cblt-x1.       *> Occurs depending on
                                                      *> cblte-pd-printer-name-length.
                                                      *> pic x (printer name length)
  03 cblte-pd-printer-browse REDEFINES cblte-pd-printer-name.
    05 cblte-pd-printer-browse-hwnd    cblt-HWND.
    05 cblte-pd-printer-browse-namelen cblt-x2-comp5. *> pic x(4) comp-5.
    05 cblte-pd-reserved               cblt-x2-comp5. *> pic x(4) comp-5.
    05 cblte-pd-printer-browse-name    cblt-x1.       *> Occurs depending on
                                                      *> cblte-pd-printer-browse-namelen.
                                                      *> pic x (printer name length)
 
          Example 1:
The following example shows how to use PC_PRINTER_SET_DEFAULT to set the default printer.
 working-storage section.
 01 MyDocumentInfo.
   03 filename.
     05 len              pic x(2) comp-5.
     05 body             pic x(128).
   03 document.
     05 len              pic x(2) comp-5.
     05 body             pic x(128).
   03 document-flags     pic x(4) comp-5.
   03 window-hwnd        pic x(4) comp-5.
 01 Printer-RetCode pic  9(4) comp-5.
 78 USE-OPEN-DIALOG      value 1.
 78 USE-FONT-DIALOG      value 2.
 78 USE-FORCE-PORTRAIT   value 4.
 78 USE-FORCE-LANDSCAPE  value 8.
 78 USE-PROGRESS-DIALOG  value 16.
 01 default-info.
   03 option             pic x(4) comp-5.
   03 ourprinter.
     05 len              pic x(2) comp-5.
     05 body             pic x(128).
 78 SET-DEFAULT-PRINTER  value h"0001".
 procedure division.
     move "My Color PS" 
       to body of ourprinter of default-info
     move 11 to len of ourprinter of default-info
     move SET-DEFAULT-PRINTER to option of default-info
     call "PC_PRINTER_SET_DEFAULT" using 
                     by value option of default-info,
                     by reference ourprinter of default-info
           returning Printer-RetCode
     end-call
     if Printer-RetCode not equal zero
         display "Unable to setup a default printer"
         display " + Retcode = " Printer-RetCode
         stop run
     end-if
     move "c:\config.sys" to body of filename
     move 13 to len of filename
 
     move "My Config.sys" to body of document
     move 13 to len of document
     move USE-PROGRESS-DIALOG to document-flags
     move zero to window-hwnd
     call "PC_PRINT_FILE" using by reference filename
                                by reference document
                                by value document-flags
                                by value window-hwnd
                                returning Printer-RetCode
     end-call
     if Printer-RetCode not equal zero
         display "PC_PRINT_FILE failed.. " Printer-RetCode
     else
         display "PC_PRINT_FILE: OK"
     end-if
     .
 
      Example 2:
The following example shows how to use PC_PRINTER_SET_DEFAULT to browse for a printer.
 working-storage section.
 01 MyDocumentInfo.
   03 filename.
     05 len                 pic x(2) comp-5.
     05 body                pic x(128).
   03 document.
     05 len                 pic x(2) comp-5.
     05 body                pic x(128).
   03 document-flags        pic x(4) comp-5.
   03 window-handle         pic x(4) comp-5.
 01 MyDefaultPrinter.
   03 hwnd                  pic x(4) comp-5.
   03 len                   pic x(2) comp-5.
   03 reserved              pic x(2) comp-5.
   03 body                  pic x(128).
 01 Printer-RetCode         pic 9(4) comp-5.
 78 USE-OPEN-DIALOG         value 1.
 78 USE-FONT-DIALOG         value 2.
 78 USE-FORCE-PORTRAIT      value 4.
 78 USE-FORCE-LANDSCAPE     value 8.
 78 USE-PROGRESS-DIALOG     value 16.
 01 default-info.
   03 option                pic x(4) comp-5.
   03 ourprinter.
     05 len                 pic x(2) comp-5.
     05 body                pic x(128).
 78 SET-DEFAULT-PRINTER     value h"0001".
 78 BROWSE-DEFAULT-PRINTER  value h"0002".
 linkage section.
 01 lnk-hwnd                 pic x(4) comp-5.
 procedure division using by value lnk-hwnd.
     move BROWSE-DEFAULT-PRINTER to option of default-info
     move lnk-hwnd to hwnd of MyDefaultPrinter
     move 127 to len of MyDefaultPrinter
     call "PC_PRINTER_SET_DEFAULT" using
                             by value option of default-info
                             by reference hwnd
                   returning Printer-RetCode
     end-call
     if Printer-RetCode not equal zero
         display "Unable to browse for a default printer"
         display " + Retcode = " Printer-RetCode
         stop run
     end-if
     display "Browse Printer : "
         body of MyDefaultPrinter(1:len of MyDefaultPrinter)
     move SET-DEFAULT-PRINTER to option of default-info
     move len of MyDefaultPrinter to len of ourprinter
     move body of MyDefaultPrinter(1:len of MyDefaultPrinter)
         to body of ourprinter
     call "PC_PRINTER_SET_DEFAULT" using
                     by value option of default-info
                     by reference ourprinter of default-info
                     returning Printer-RetCode
     end-call
     if Printer-RetCode not equal zero
         display "Unable to set a default printer"
         display " + Retcode = " Printer-RetCode
         stop run
     end-if
     move "c:\config.sys" to body of filename
     move 13 to len of filename
 
     move "My Config.sys" to body of document
     move 13 to len of document
     move USE-PROGRESS-DIALOG to document-flags
     move zero to window-handle
     call "PC_PRINT_FILE" using by reference filename
                                by reference document
                                by value document-flags
                                by value window-handle
                          returning Printer-RetCode
     end-call
     if Printer-RetCode not equal zero
         display "PC_PRINT_FILE failed.. " Printer-RetCode
     else
         display "PC_PRINT_FILE: OK"
     end-if
     .
 
     
 
 
Comments:
If you set default-option to 2, this function returns the user-selected printer but does not set it as the default printer.
The printer name must be entered as UNC format (that is, the device's full name as it appears on the network).