SplReleaseJob

This function releases a held print job.

Syntax
SplReleaseJob(pszComputerName, pszQueueName, ulJob);

Parameters

 * pszComputerName (PSZ) - input
 * Name of computer where job is to be continued.


 * A NULL string specifies the local workstation.


 * pszQueueName (PSZ) - input
 * Queue Name.


 * ulJob (ULONG) - input
 * Job identification number.

Returns

 * rc (SPLERR) - returns
 * Return code.


 * NO_ERROR (0)
 * No errors occurred.
 * ERROR_ACCESS_DENIED (5)
 * Access is denied.
 * ERROR_NOT_SUPPORTED (50)
 * This request is not supported by the network.
 * ERROR_BAD_NETPATH (53)
 * The network path cannot be located.
 * NERR_NetNotStarted (2102)
 * The network program is not started.
 * NERR_JobNotFound (2151)
 * The print job does not exist.
 * NERR_SpoolerNotLoaded (2161)
 * The spooler is not running.
 * NERR_JobInvalidState (2164)
 * This operation cannot be performed on the print job in its current state.
 * NERR_InvalidComputer (2351)
 * The computer name is invalid.

Sample
This sample code will release the job id that is entered at the prompt.


 * 1) define INCL_BASE
 * 2) define INCL_SPL
 * 3) define INCL_SPLERRORS
 * 4) include 
 * 5) include       /* for printf function */
 * 6) include      /* for atoi function   */

INT main (argc, argv) INT argc; CHAR *argv[]; {  SPLERR splerr ; ULONG ulJob ; PSZ   pszComputerName = NULL ; PSZ   pszQueueName = NULL ;

/* Get job id from the input argument */ ulJob = atoi(argv[1]);

/* Call the function to do the release. If an error is returned, print it. */  splerr=SplReleaseJob( pszComputerName, pszQueueName, ulJob); switch (splerr) {  case NO_ERROR: printf("Job %d was released.\n",ulJob); break; case NERR_JobNotFound: printf("Job does not exist.\n"); break; case NERR_JobInvalidState: printf("This operation can't be performed on the print Job.\n"); break; default: printf("Errorcode = %ld\n",splerr); } /* endswitch */ DosExit( EXIT_PROCESS, 0 ) ; argc; return (splerr); }

Call Sequence

 * 1) define INCL_SPL /* Or use INCL_PM, */
 * 2) include 

PSZ      pszComputerName;  /*  Name of computer where job is to be continued. */ PSZ      pszQueueName;     /*  Queue Name. */ ULONG    ulJob;            /*  Job identification number. */ SPLERR   rc;               /*  Return code. */

rc = SplReleaseJob(pszComputerName, pszQueueName, ulJob);

Remarks
Any job can be released by a user with administrator privilege.

A job created locally can be released locally regardless of user privilege level, but it can be released remotely only by a user with administrator privilege.

A remote job can be released by a user without administrator privilege only if the user identification of the person initiating the request is the same as the user identification of the person who created the job.

Related Functions

 * SplEnumJob
 * SplHoldJob
 * SplQueryJob