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.