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();