Platform SDK: Active Directory, ADSI, and Directory Services |
The IADsPrintQueue interface represents a printer on a network. The property methods of this interface allow you to access the about a printer. Such information includes the printer model, its physical location, the network address, and so on. You can use this interface to browse through a collection of print jobs in the print queue. To control a printer across a network, you use the IADsPrintQueueOperations interface. To obtain a collection of the print jobs, call the IADsPrintQueueOperations::PrintJobs method.
In Windows NT®/Windows® 2000, a printer, or a print queue, is managed by a host computer. If the path to a print queue is known, you can bind to it as you would to any other ADSI objects. For example,
Dim pq as IADsPrintQueue Set pq = GetObject("WinNT://aMachine/aPrinter")
or in C++,
IADsPrintQueue *pq; LPWSTR adsPath = L"WinNT://aMachine/aPrinter"; HRESULT hr = ADsGetObject(adsPath, IID_IADsPrintQueue, (void**)&pq);
To enumerate all print queues on a given computer, proceed as follows:
The following code snippet enumerates all the printers on a given computer.
Dim cont As IADsContainer Dim pq As IADsPrintQueue ' Bind to the computer object Set cont = GetObject("WinNT://romulus,computer") cont.Filter = Array("PrintQueue") For Each p In cont Set pq = GetObject(p.ADsPath) MsgBox pq.Name & " is a " & pq.Model Next p
IADsPrintQueue is a dual interface that inherits from IADs. The IADsPrintQueue interface exposes the following property methods.
IUnknown methods | Description |
---|---|
QueryInterface | Returns pointers to supported interfaces. |
AddRef | Increments reference count. |
Release | Decrements reference count. |
IDispatch methods | Description |
---|---|
GetTypeInfoCount | Gets the number of type descriptions. |
GetTypeInfo | Gets a description of object's programmable interface. |
GetIDsOfNames | Maps name of method or property to DISPID. |
Invoke | Calls one of the object's methods, or gets and sets one of its properties. |
IADsPrintQueue property methods | Description |
---|---|
get/put_PrinterPath | Gets and sets the path where a shared printer can be accessed. |
get/put_Model | Gets and sets the name of the driver used by this print queue. |
get/put_Datatype | Gets and sets the data type that can be processed by this print queue. |
get/put_PrintProcessor | Gets and sets the print processor associated with this print queue. |
get/put_Description | Gets and sets the description of this print queue. |
get/put_Location | Gets and sets the administrator's description of the print queue location. |
get/put_StartTime | Gets and sets the time when the print queue starts processing jobs. |
get/put_UntilTime | Gets and sets the time at which the print queue stops processing jobs. |
get/put_DefaultJobPriority | Gets and sets the default priority assigned to each print job. |
get/put_Priority | Gets and sets the priority of this printer object's job queue for connected devices. |
get/put_BannerPage | Gets and sets the file system path to the banner page file used to separate jobs. |
get/put_PrintDevices | Gets and sets the names of print devices that this print queue uses as spooling devices. |
get/put_NetAddresses | Gets and sets the binding information. |
Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with DSClient).
Windows 95/98: Requires Windows 95 or later (with DSClient).
Header: Declared in Iads.h.
IADsPrintQueueOperations, IADsPrintQueueOperations::PrintJobs, IADsPrintQueue Property Methods