SplHoldJob: Difference between revisions
Appearance
Created page with "This function holds a job in a print queue. == Syntax == SplHoldJob(pszComputerName, pszQueueName, ulJob); == Parameters == ;pszComputerName (PSZ) - input :Name of compute..." |
mNo edit summary |
||
Line 1: | Line 1: | ||
This function holds a job in a print queue | This function holds a job in a print queue. | ||
== Syntax == | |||
SplHoldJob(pszComputerName, pszQueueName, ulJob) | |||
;pszQueueName (PSZ) - input | == Parameters == | ||
:Queue Name. | ;pszComputerName (PSZ) - input:Name of computer where job is to be paused. | ||
:A NULL string specifies the local workstation. | |||
;ulJob (ULONG) - input | ;pszQueueName (PSZ) - input:Queue Name. | ||
:Job identification number. | ;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. | |||
: | :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 installed. | ||
: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 == | == Sample == | ||
This sample code will hold the queue name that is entered at the prompt. | This sample code will hold the queue name that is entered at the prompt. | ||
<pre> | <pre> | ||
#define INCL_BASE | #define INCL_BASE | ||
#define INCL_SPL | #define INCL_SPL | ||
Line 85: | Line 70: | ||
== Call Sequence == | == Call Sequence == | ||
<pre> | <pre> | ||
#define INCL_SPL /* Or use INCL_PM, */ | #define INCL_SPL /* Or use INCL_PM, */ | ||
#include <os2.h> | #include <os2.h> | ||
Line 95: | Line 78: | ||
SPLERR rc; /* Return code. */ | SPLERR rc; /* Return code. */ | ||
rc = SplHoldJob(pszComputerName, pszQueueName, | rc = SplHoldJob(pszComputerName, pszQueueName, ulJob); | ||
</pre> | </pre> | ||
== Remarks == | == Remarks == | ||
If the job is already printing when the call is made, NERR_JobInvalidState (2164) is returned. | If the job is already printing when the call is made, NERR_JobInvalidState (2164) is returned. | ||
A user with administrator privilege can hold any job. | A user with administrator privilege can hold any job. | ||
A job created locally can be held locally regardless of user privilege level, but can be held remotely only by an administrator. | A job created locally can be held locally regardless of user privilege level, but can be held remotely only by an administrator. | ||
A remote job can be held 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 == | ||
* [[SplEnumJob]] | * [[SplEnumJob]] | ||
* [[SplQueryJob]] | * [[SplQueryJob]] | ||
* [[SplReleaseJob]] | * [[SplReleaseJob]] | ||
[[Category:spl]] | [[Category:spl]] |
Latest revision as of 20:11, 2 July 2023
This function holds a job in a print queue.
Syntax
SplHoldJob(pszComputerName, pszQueueName, ulJob)
Parameters
- pszComputerName (PSZ) - input
- Name of computer where job is to be paused.
- 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 installed.
- 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 hold the queue name 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 ; PSZ pszComputerName = NULL ; PSZ pszQueueName = NULL ; ULONG ulJob ; /* Get job id from the input argument. */ ulJob = atoi(argv[1]); /* Call the function to do the hold. If an error is returned, print it. */ splerr = SplHoldJob( pszComputerName, pszQueueName, ulJob); switch (splerr) { case NO_ERROR: printf("Job %d was held.\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
#define INCL_SPL /* Or use INCL_PM, */ #include <os2.h> PSZ pszComputerName; /* Name of computer where job is to be paused. */ PSZ pszQueueName; /* Queue Name. */ ULONG ulJob; /* Job identification number. */ SPLERR rc; /* Return code. */ rc = SplHoldJob(pszComputerName, pszQueueName, ulJob);
Remarks
If the job is already printing when the call is made, NERR_JobInvalidState (2164) is returned.
A user with administrator privilege can hold any job.
A job created locally can be held locally regardless of user privilege level, but can be held remotely only by an administrator.
A remote job can be held 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.