SplDeleteJob: Difference between revisions
mNo edit summary |
|||
| Line 1: | Line 1: | ||
This function deletes a job from a print queue. | This function deletes a job from a print queue. | ||
== Syntax == | == Syntax == | ||
SplDeleteJob(pszComputerName, pszQueueName, ulJob) | SplDeleteJob(pszComputerName, pszQueueName, ulJob) | ||
== Parameters == | == Parameters == | ||
;pszComputerName (PSZ) - input | ;pszComputerName (PSZ) - input:Name of computer where job is to be deleted. | ||
:Name of computer where job is to be deleted. | :A NULL string specifies the local workstation. | ||
;pszQueueName (PSZ) - input:Queue Name. | |||
:A NULL string specifies the local workstation. | ;ulJob (ULONG) - input:Job identification number. | ||
;pszQueueName (PSZ) - input | |||
:Queue Name. | |||
;ulJob (ULONG) - input | |||
:Job identification number. | |||
== Returns == | == Returns == | ||
;rc (SPLERR) - returns | ;rc (SPLERR) - returns:Return code. | ||
:Return code. | :;NO_ERROR (0):No errors occurred. | ||
:;ERROR_ACCESS_DENIED (5):Access is denied. | |||
:;NO_ERROR (0) | :;ERROR_NOT_SUPPORTED (50):This request is not supported by the network. | ||
:;ERROR_BAD_NETPATH (53):The network path cannot be located. | |||
:;ERROR_ACCESS_DENIED (5) | :;NERR_NetNotStarted (2102):The network program is not started. | ||
:;NERR_JobNotFound (2151):The print job does not exist. | |||
:;ERROR_NOT_SUPPORTED (50) | :;NERR_ProcNoRespond (2160):The queue processor is not responding. | ||
:;NERR_SpoolerNotLoaded (2161):The spooler is not running. | |||
:;ERROR_BAD_NETPATH (53) | :;NERR_InvalidComputer (2351):The computer name is invalid. | ||
:;NERR_NetNotStarted (2102) | |||
:;NERR_JobNotFound (2151) | |||
:;NERR_ProcNoRespond (2160) | |||
:;NERR_SpoolerNotLoaded (2161) | |||
:;NERR_InvalidComputer (2351) | |||
== Sample == | == Sample == | ||
This sample code will delete the job id that is entered at the prompt. | This sample code will delete the job id that is entered at the prompt. | ||
<pre> | <pre> | ||
#define INCL_BASE | #define INCL_BASE | ||
| Line 98: | Line 81: | ||
SPLERR rc; /* Return code. */ | SPLERR rc; /* Return code. */ | ||
rc = SplDeleteJob(pszComputerName, pszQueueName, | rc = SplDeleteJob(pszComputerName, pszQueueName, ulJob); | ||
</pre> | </pre> | ||
== Remarks == | == Remarks == | ||
It is possible to delete a job that is currently printing. | It is possible to delete a job that is currently printing. | ||
If the print queue on which the print job is submitted is pending deletion (following a SplDeleteQueue call), and the print job is the last in the queue, this function has the additional effect of deleting the queue. | If the print queue on which the print job is submitted is pending deletion (following a SplDeleteQueue call), and the print job is the last in the queue, this function has the additional effect of deleting the queue. | ||
A user with administrator privilege can delete any job. | A user with administrator privilege can delete any job. | ||
A job created locally can be deleted locally regardless of user privilege level, but can be deleted remotely only by an administrator. | A job created locally can be deleted locally regardless of user privilege level, but can be deleted remotely only by an administrator. | ||
A remote job can be deleted by a user without administrator privilege only if the username of the person initiating the request is the same as the username of the person who created the job. | A remote job can be deleted by a user without administrator privilege only if the username of the person initiating the request is the same as the username of the person who created the job. | ||
== Related Functions == | == Related Functions == | ||
Revision as of 11:41, 2 July 2023
This function deletes a job from a print queue.
Syntax
SplDeleteJob(pszComputerName, pszQueueName, ulJob)
Parameters
- pszComputerName (PSZ) - input
- Name of computer where job is to be deleted.
- 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_ProcNoRespond (2160)
- The queue processor is not responding.
- NERR_SpoolerNotLoaded (2161)
- The spooler is not running.
- NERR_InvalidComputer (2351)
- The computer name is invalid.
Sample
This sample code will delete the job id that is entered at the prompt.
#define INCL_BASE
#define INCL_SPL
#define INCL_SPLERRORS
#include <os2.h>
#include <stdio.h> /* for printf function */
#include <stdlib.h> /* 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 delete. If an error is */
/* returned, print it. */
splerr = SplDeleteJob( pszComputerName, pszQueueName, ulJob);
if (splerr != NO_ERROR)
{
switch (splerr)
{
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 */
}
else
{
printf("Job %d was deleted.\n",ulJob);
} /* endif */
DosExit( EXIT_PROCESS , 0 ) ;
return (splerr);
}
Call Sequence
#define INCL_SPL /* Or use INCL_PM, */ #include <os2.h> PSZ pszComputerName; /* Name of computer where job is to be deleted. */ PSZ pszQueueName; /* Queue Name. */ ULONG ulJob; /* Job identification number. */ SPLERR rc; /* Return code. */ rc = SplDeleteJob(pszComputerName, pszQueueName, ulJob);
Remarks
It is possible to delete a job that is currently printing.
If the print queue on which the print job is submitted is pending deletion (following a SplDeleteQueue call), and the print job is the last in the queue, this function has the additional effect of deleting the queue.
A user with administrator privilege can delete any job.
A job created locally can be deleted locally regardless of user privilege level, but can be deleted remotely only by an administrator.
A remote job can be deleted by a user without administrator privilege only if the username of the person initiating the request is the same as the username of the person who created the job.