     ActionCode = 1, we're starting a zip operation on a new file
        abort_requested = 1 to abort the current batch operation
        fsize = filesize of file we're going to operate on
        name_or_msg = pathname of file 
     IMPORTANT: The user's function must do the math for the progress
     bar upon getting this call.  See the Delphi sample application.

     ActionCode = 2, increment the progress bar
        These calls will occur after every 32K of input file has been
        processed. One additional call is made at the end of each file, 
        just to make sure the progress bar is max'ed out - this is also
        critical for files less than 32K in size (this last one will be 
        their only one).
        abort_requested = 1 to abort the current batch operation
        fsize = N/A
        name_or_msg = N/A 

     ActionCode = 3, we're done with a batch of files - program flow
     will quickly return to the user's program.
     NOTE: the end of a every file will always be followed by an
           action of 1 or 3, so a separate call for end of one file
           isn't needed.
        abort_requested = 1 to abort the current batch operation
        fsize = N/A 
        name_or_msg = N/A 

     ActionCode = 4, a routine message is being passed
        abort_requested = 1 to abort the current batch operation
        fsize = N/A 
        name_or_msg = text of message
