| Platform SDK: Active Directory, ADSI, and Directory Services |
Property methods for the IADsPrintJob interface get or set the properties described in the following table. For more information, see Interface Property Methods.
| Property | Description |
|---|---|
| Description
[Visual Basic] [C++] |
The description of the print job. |
| HostPrintQueue
[Visual Basic] [C++] |
The ADsPath string of the Print Queue that is processing the print job. |
| Notify
[Visual Basic] [C++] |
The user to be notified when job is completed. |
| NotifyPath
[Visual Basic] [C++] |
The ADsPath string of the user object to be notified when the print job is completed. |
| Priority
[Visual Basic] [C++] |
The priority of the print job. |
| Size
[Visual Basic] [C++] |
The size of the print job in bytes. |
| StartTime
[Visual Basic] [C++] |
The earliest time when the print job should be started. |
| TimeSubmitted
[Visual Basic] [C++] |
The time when the job was submitted to the queue. |
| TotalPages
[Visual Basic] [C++] |
The total number of pages in the print job. |
| UntilTime
[Visual Basic] [C++]
|
The latest time when the print job should be started. |
| User
[Visual Basic] [C++] |
The name of user who submitted the print job. |
| UserPath
[Visual Basic] [C++] |
The ADsPath string of the user object that submitted this print job. |
The following Visual Basic code example shows how to work with properties of a print job object.
Dim pqo as IADsPrintQueueOperations
Dim pj as IADsPrintJob
Set pqo = GetObject("WinNT://aMachine/aPrinter")
For Each pj in pqo.PrintJobs
MsgBox "Host Printer: " & pj.HostPrintQueue
MsgBox "Job description: " & pj.Description
MsgBox "job requester: " & pj.User
Next
The following C++ code snippet shows how to work with properties of a print job object.
IADsPrintQueueOperations *pqo;
IADsPrintJob *pJob;
HRESULT hr ;
LPWSTR adsPath =L"WinNT://aMachine/aPrinter";
hr = ADsGetObject(adsPath,
IID_IADsPrintQueueOperations,
(void**)&pqo);
if (FAILED(hr)) exit(hr);
IADsCollection *pColl;
hr = pqo->PrintJobs(&pColl);
// now to enumerate the print jobs. Code omitted.
IUnknown *pUnk = NULL;
hr = pColl->get__NewEnum(&pUnk);
pColl->Release();
if (FAILED(hr) ) exit(hr);
IEnumVARIANT *pEnum;
hr = pUnk->QueryInterface(IID_IEnumVARIANT,(void**)&pEnum);
pUnk->Release();
if (FAILED(hr)) exit(hr);
// Now Enumerate
BSTR bstr;
VARIANT var;
ULONG lFetch;
IDispatch *pDisp;
VariantInit(&var);
hr = pEnum->Next(1, &var, &lFetch);
while(hr == S_OK)
{
if (lFetch == 1)
{
pDisp = V_DISPATCH(&var);
pDisp->QueryInterface(IID_IADsPrintJob, (void**)&pJob);
pJob->get_HostPrintQueue(&bstr);
printf("HostPrintQueue: %S\n",bstr);
SysFreeString(bstr);
pJob->get_Description(&bstr);
printf("Print job name: %S\n",bstr);
SysFreeString(bstr);
pJob->get_User(&bstr);
printf("Requester: %S\n",bstr);
SysFreeString(bstr);
pJob->Release();
}
VariantClear(&var);
pDisp=NULL;
hr = pEnum->Next(1, &var, &lFetch);
};
hr = pEnum->Release();
hr = pqo->Release();