- WMI Library -
WMI Libraly > Win32_Printer Class

Win32_Printer Class

Capabilities and management of the Printer LogicalDevice.
Namespace value is root/CIMV2.
WMI Provider value is CIMWin32.


Properties

  • Attributes
  • The Attributes property indicates the attributes of the Win32 printing device. These attributes are represented through a combination of flags. Attributes of the printer include:
    Queued - Print jobs are buffered and queued.
    Direct - Specifies that the document should be sent directly to the printer. This is used if print job are not being properly queued.
    Default - The printer is the default printer on the computer.
    Shared - Available as a shared network resource.
    Network - Attached to the network.
    Hidden - Hidden from some users on the network.
    Local - Directly connected to this computer.
    EnableDevQ - Enable the queue on the printer if available.
    KeepPrintedJobs - Specifies that the spooler should not delete documents after they are printed.
    DoCompleteFirst - Start jobs that are finished spooling first.
    WorkOffline - Queue print jobs when printer is not available.
    EnableBIDI - Enable bi-directional printing.
    RawOnly - Allow only raw data type jobs to be spooled.
    Published - Indicates whether the printer is published in the network directory service.


  • Availability
  • The availability and status of the device. For example, the Availability property indicates that the device is running and has full power (value=3), or is in a warning (4), test (5), degraded (10) or power save state (values 13-15 and 17). Regarding the power saving states, these are defined as follows: Value 13 ("Power Save - Unknown") indicates that the device is known to be in a power save mode, but its exact status in this mode is unknown; 14 ("Power Save - Low Power Mode") indicates that the device is in a power save state but still functioning, and may exhibit degraded performance; 15 ("Power Save - Standby") describes that the device is not functioning but could be brought to full power 'quickly'; and value 17 ("Power Save - Warning") indicates that the device is in a warning state, though also in a power save mode.

  • AvailableJobSheets
  • Describes all of the job sheets that are available on the Printer. This can also be used to describe the banner that a Printer might provide at the beginning of each Job, or can describe other user specified options.

  • AveragePagesPerMinute
  • The AveragePagesPerMinute property specifies the rate (average number of pages per minute) that the printer is capable of sustaining.

  • Capabilities
  • An array of integers indicating Printer capabilities. Information such as "Duplex Printing" (value=3) or "Transparency Printing" (7) is specified in this property.

  • CapabilityDescriptions
  • An array of free-form strings providing more detailed explanations for any of the Printer features indicated in the Capabilities array. Note, each entry of this array is related to the entry in the Capabilities array that is located at the same index.

  • Caption
  • The Caption property is a short textual description (one-line string) of the object.

  • CharSetsSupported
  • Identifies the available character sets for the output of text related to managing the Printer. Strings provided in this property should conform to the semantics and syntax specified by section 4.1.2 ("Charset parameter") in RFC 2046 (MIME Part 2) and contained in the IANA character-set registry. Examples include "utf-8", "us-ascii" and "iso-8859-1".

  • Comment
  • The Comment property specifies the comment of a print queue.
    Example: Color printer

  • ConfigManagerErrorCode
  • Indicates the Win32 Configuration Manager error code. The following values may be returned:
    0 This device is working properly.
    1 This device is not configured correctly.
    2 Windows cannot load the driver for this device.
    3 The driver for this device might be corrupted, or your system may be running low on memory or other resources.
    4 This device is not working properly. One of its drivers or your registry might be corrupted.
    5 The driver for this device needs a resource that Windows cannot manage.
    6 The boot configuration for this device conflicts with other devices.
    7 Cannot filter.
    8 The driver loader for the device is missing.
    9 This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly.
    10 This device cannot start.
    11 This device failed.
    12 This device cannot find enough free resources that it can use.
    13 Windows cannot verify this device's resources.
    14 This device cannot work properly until you restart your computer.
    15 This device is not working properly because there is probably a re-enumeration problem.
    16 Windows cannot identify all the resources this device uses.
    17 This device is asking for an unknown resource type.
    18 Reinstall the drivers for this device.
    19 Your registry might be corrupted.
    20 Failure using the VxD loader.
    21 System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device.
    22 This device is disabled.
    23 System failure: Try changing the driver for this device. If that doesn't work, see your hardware documentation.
    24 This device is not present, is not working properly, or does not have all its drivers installed.
    25 Windows is still setting up this device.
    26 Windows is still setting up this device.
    27 This device does not have valid log configuration.
    28 The drivers for this device are not installed.
    29 This device is disabled because the firmware of the device did not give it the required resources.
    30 This device is using an Interrupt Request (IRQ) resource that another device is using.
    31 This device is not working properly because Windows cannot load the drivers required for this device.

  • ConfigManagerUserConfig
  • Indicates whether the device is using a user-defined configuration.

  • CreationClassName
  • CreationClassName indicates the name of the class or the subclass used in the creation of an instance. When used with the other key properties of this class, this property allows all instances of this class and its subclasses to be uniquely identified.

  • CurrentCapabilities
  • Specifies which finishings and other capabilities of the Printer are currently being used. An entry in this property should also be listed in the Capabilities array.

  • CurrentCharSet
  • Specifies the current character set being used for the output of text relating to management of the Printer. The character set described by this property should also be listed in CharsetsSupported. The string specified by this property should conform to the semantics and syntax specified by section 4.1.2 ("Charset parameter") in RFC 2046 (MIME Part 2) and contained in the IANA character-set registry. Examples include "utf-8", "us-ascii" and "iso-8859-1".

  • CurrentLanguage
  • Indicates the current printer language being used. A language that is being used by the Printer should also be listed in LanguagesSupported.

  • CurrentMimeType
  • Specifies the mime type currently being used by the Printer if the CurrentLanguage is set to indicate a mime type is in use (value = 47).

  • CurrentNaturalLanguage
  • Identifies the current language being used by the Printer for management. The language listed in the CurrentNaturalLanguage property should also be listed in NaturalLanguagesSupported.

  • CurrentPaperType
  • Specifies the paper type that the Printer is currently using. The string should be expressed in the form specified by ISO/IEC 10175 Document Printing Application (DPA) which is also summarized in Appendix C of RFC 1759 (Printer MIB).

  • Default
  • The Default property indicates whether the printer is the default printer on the computer.

  • DefaultCapabilities
  • Specifies which finishings and other capabilities of the Printer will be used by default. An entry in DefaultCapabilities should also be listed in the Capabilities array.

  • DefaultCopies
  • The number of copies that will be produced for a single Job unless otherwise specified.

  • DefaultLanguage
  • Indicates the default printer language. A language that is used as a default by the Printer should also be listed in LanguagesSupported.

  • DefaultMimeType
  • Specifies the default mime type used by the Printer if the DefaultLanguage is set to indicate a mime type is in use (value=47).

  • DefaultNumberUp
  • The number of print-stream pages that the Printer will render onto a single media sheet unless a Job specifies otherwise.

  • DefaultPaperType
  • Specifies the paper type that the Printer will use if a PrintJob does not specify a particular type. The string should be expressed in the form specified by ISO/IEC 10175 Document Printing Application (DPA) which is also summarized in Appendix C of RFC 1759 (Printer MIB).

  • DefaultPriority
  • The DefaultPriority property specifies the default priority value assigned to each print job.

  • Description
  • The Description property provides a textual description of the object.

  • DetectedErrorState
  • Printer error information.

  • DeviceID
  • DeviceID is an address or other identifying information to uniquely name the logical device.

  • Direct
  • The Direct property indicates whether the print jobs should be sent directly to the printer. This means that no spool files are created for the print jobs.


  • DoCompleteFirst
  • The DoCompleteFirst property indicates whether the printer should start jobs that have finished spooling as opposed to the order of the job received.

  • DriverName
  • The DriverName property specifies the name of the Win32 printer driver.
    Example: Windows NT Fax Driver

  • EnableBIDI
  • The EnableBIDI property indicates whether the printer can print bidirectionally.

  • EnableDevQueryPrint
  • The EnableDevQueryPrint property indicates whether to hold documents in the queue, if document and printer setups do not match

  • ErrorCleared
  • ErrorCleared is a boolean property indicating that the error reported in LastErrorCode property is now cleared.

  • ErrorDescription
  • ErrorDescription is a free-form string supplying more information about the error recorded in LastErrorCode property, and information on any corrective actions that may be taken.

  • ErrorInformation
  • An array providing supplemental information for the current error state, indicated in DetectedErrorState.

  • ExtendedDetectedErrorState
  • The ExtendedDetectedErrorState property reports standard error information. Any additional information should be recorded in the DetecteErrorState property.

  • ExtendedPrinterStatus
  • Status information for a Printer, beyond that specified in the LogicalDevice Availability property. Values include "Idle" (3) and an indication that the Device is currently printing (4).

  • Hidden
  • The Hidden property indicates whether the printer is hidden from network users.

  • HorizontalResolution
  • Printer's horizontal resolution in pixels per inch.

  • InstallDate
  • The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed.

  • JobCountSinceLastReset
  • Printer jobs processed since last reset. These jobs may be processed from one or more PrintQueues.

  • KeepPrintedJobs
  • The KeepPrintedJobs property indicates whether the print spooler should not delete the jobs after they are completed.

  • LanguagesSupported
  • An array indicating the print languages natively supported.

  • LastErrorCode
  • LastErrorCode captures the last error code reported by the logical device.

  • Local
  • The Local property indicates whether the printer is attached to the network. A masquerading printer is printer that is implemented as local printers but has a port that refers to a remote machine. From the application perspective these hybrid printers should be viewed as printer connections since that is their intended behavior.

  • Location
  • The Location property specifies the physical location of the printer.
    Example: Bldg. 38, Room 1164

  • MarkingTechnology
  • Specifies the marking technology used by the Printer.

  • MaxCopies
  • The maximum number of copies that can be produced by the Printer from a single Job.

  • MaxNumberUp
  • The maximum number of print-stream pages that the Printer can render onto a single media sheet.

  • MaxSizeSupported
  • Specifies the largest Job (as a byte stream) that the Printer will accept in units of Kbytes. A value of zero indicates that no limit has been set.

  • MimeTypesSupported
  • An array of free-form strings providing more detailed explanations of any mime types that are supported by the Printer. If data is provided for this property, then the value 47, "Mime", should be included in the LanguagesSupported property.

  • Name
  • The Name property defines the label by which the object is known. When subclassed, the Name property can be overridden to be a Key property.

  • NaturalLanguagesSupported
  • Identifies the available languages for strings used by the Printer for the output of management information. The strings should conform to RFC 1766, for example "en" is used for English.

  • Network
  • The Network property indicates whether the printer is a network printer.

  • PaperSizesSupported
  • An integer array indicating the types of paper supported.

  • PaperTypesAvailable
  • An array of free-form strings specifying the types of paper that are currently available on the Printer. Each string should be expressed in the form specified by ISO/IEC 10175 Document Printing Application (DPA) which is also summarized in Appendix C of RFC 1759 (Printer MIB). Examples of valid strings are "iso-a4-colored" and "na-10x14-envelope". By definition a paper size that is available and listed in PaperTypesAvailable should also appear in the PaperSizesSupported property.

  • Parameters
  • The Parameters property specifies optional parameters for the print processor.
    Example: Copies=2

  • PNPDeviceID
  • Indicates the Win32 Plug and Play device ID of the logical device. Example: *PNP030b

  • PortName
  • The PortName property identifies the ports that can be used to transmit data to the printer. If a printer is connected to more than one port, the names of each port are separated by commas. Under Windows 95, only one port can be specified.
    Example: LPT1:, LPT2:, LPT3:

  • PowerManagementCapabilities
  • Indicates the specific power-related capabilities of the logical device. The array values, 0="Unknown", 1="Not Supported" and 2="Disabled" are self-explanatory. The value, 3="Enabled" indicates that the power management features are currently enabled but the exact feature set is unknown or the information is unavailable. "Power Saving Modes Entered Automatically" (4) describes that a device can change its power state based on usage or other criteria. "Power State Settable" (5) indicates that the SetPowerState method is supported. "Power Cycling Supported" (6) indicates that the SetPowerState method can be invoked with the PowerState input variable set to 5 ("Power Cycle"). "Timed Power On Supported" (7) indicates that the SetPowerState method can be invoked with the PowerState input variable set to 5 ("Power Cycle") and the Time parameter set to a specific date and time, or interval, for power-on.

  • PowerManagementSupported
  • Boolean indicating that the Device can be power managed - ie, put into a power save state. This boolean does not indicate that power management features are currently enabled, or if enabled, what features are supported. Refer to the PowerManagementCapabilities array for this information. If this boolean is false, the integer value 1, for the string, "Not Supported", should be the only entry in the PowerManagementCapabilities array.

  • PrinterPaperNames
  • The PrinterPaperNames property indicates the list of paper sizes supported by the printer. The printer-specified names are used to represent supported paper sizes.
    Example: B5 (JIS).

  • PrinterState
  • This property has been deprecated in favor of PrinterStatus, DetectedErrorState and ErrorInformation CIM properties that more clearly indicate the state and error status of the printer. The PrinterState property specifies a values indicating one of the possible states relating to this printer.

  • PrinterStatus
  • Status information for a Printer, beyond that specified in the LogicalDevice Availability property. Values include "Idle" (3) and an indication that the Device is currently printing (4).

  • PrintJobDataType
  • The PrintJobDataType property indicates the default data type that will be used for a print job.

  • PrintProcessor
  • The PrintProcessor property specifies the name of the print spooler that handles print jobs.
    Example: SPOOLSS.DLL.

  • Priority
  • The Priority property specifies the priority of the printer. The jobs on a higher priority printer are scheduled first.

  • Published
  • The Published property indicates whether the printer is published in the network directory service.

  • Queued
  • The Queued property indicates whether the printer buffers and queues print jobs.

  • RawOnly
  • The RawOnly property indicates whether the printer accepts only raw data to be spooled.

  • SeparatorFile
  • The SeparatorFile property specifies the name of the file used to create a separator page. This page is used to separate print jobs sent to the printer.

  • ServerName
  • The ServerName property identifies the server that controls the printer. If this string is NULL, the printer is controlled locally.

  • Shared
  • The Shared property indicates whether the printer is available as a shared network resource.

  • ShareName
  • The ShareName property indicates the share name of the Win32 printing device.
    Example: \\PRINTSERVER1\PRINTER2

  • SpoolEnabled
  • The SpoolEnabled property shows whether spooling is enabled for this printer.
    Values:TRUE or FALSE.
    The SpoolEnabled property has been deprecated. There is no replacementvalue and this property is now considered obsolete.

  • StartTime
  • The StartTime property specifies the earliest time the printer can print a job (if the printer has been limited to print only at certain times). This value is expressed as time elapsed since 12:00 AM GMT (Greenwich mean time).

  • Status
  • The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are "OK", "Degraded" and "Pred Fail". "Pred Fail" indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are "Error", "Starting", "Stopping" and "Service". The latter, "Service", could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither "OK" nor in one of the other states.

  • StatusInfo
  • StatusInfo is a string indicating whether the logical device is in an enabled (value = 3), disabled (value = 4) or some other (1) or unknown (2) state. If this property does not apply to the logical device, the value, 5 ("Not Applicable"), should be used.

  • SystemCreationClassName
  • The scoping System's CreationClassName.

  • SystemName
  • The scoping System's Name.

  • TimeOfLastReset
  • Time of last reset of the Printer Device.

  • UntilTime
  • The UntilTime property specifies the latest time the printer can print a job (if the printer has been limited to print only at certain times). This value is expressed as time elapsed since 12:00 AM GMT (Greenwich mean time).

  • VerticalResolution
  • Printer's vertical resolution in pixels per inch.

  • WorkOffline
  • The WorkOffline property indicates whether to queue print jobs on the computer if the printer is offline.


    Methods

  • SetPowerState
  • SetPowerState defines the desired power state for a logical device and when a device should be put into that state. The desired power state is specified by setting the PowerState parameter to one of the following integer values: 1="Full Power", 2="Power Save - Low Power Mode", 3="Power Save - Standby", 4="Power Save - Other", 5="Power Cycle" or 6="Power Off". The Time parameter (for all state changes, except 5, "Power Cycle") indicates when the power state should be set, either as a regular date-time value or as an interval value (where the interval begins when the method invocation is received). When the PowerState parameter is equal to 5, "Power Cycle", the Time parameter indicates when the device should power on again. Power off is immediate. SetPowerState should return 0 if successful, 1 if the specified PowerState and Time request is not supported, and some other value if any other error occurred. In a subclass, the set of possible return codes could be specified, using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' may also be specified in the subclass as a Values array qualifier.

  • Reset
  • Requests a reset of the logical device. The return value should be 0 if the request was successfully executed, 1 if the request is not supported and some other value if an error occurred.

  • Pause
  • The Pause method pauses the print queue. No jobs can print anymore until the print queue is resumed. The method can return the following values:
    0 - Success.
    5 - Access denied.
    Other - For integer values other than those listed above, refer to the documentation on the Win32 error codes.

  • Resume
  • The Resume method resumes a paused print queue. The method can return the following values:
    0 - Success.
    5 - Access denied.
    Other - For integer values other than those listed above, refer to the documentation on the Win32 error codes.

  • CancelAllJobs
  • The CancelAllJobs method cancels and removes all print jobs from the printer queue including the job currently printing. The method can return the following values:
    0 - Success.
    5 - Access denied.
    Other - For integer values other than those listed above, refer to the documentation on the Win32 error codes.

  • AddPrinterConnection
  • The AddPrinterConnection method provides a connection to an existing printer on the network and adds it to the list of available printers on the computer system. If successful, applications will be able to use this printer for print jobs. If unsuccessful the printer is not installed. The method can return the following values:
    0 - Success.
    5 - Access denied.
    1801 - Invalid printer name.
    1930 - Incompatible printer driver.
    Other - For integer values other than those listed above, refer to the documentation on the Win32 error codes.

  • RenamePrinter
  • The RenamePrinter method renames a printer. The method can return the following values:
    0 - Success.
    5 - Access denied.
    1801 - Invalid printer name.
    Other - For integer values other than those listed above, refer to the documentation on the Win32 error codes.

  • PrintTestPage
  • The PrintTestPage method prints a test page. The method can return the following values:
    0 - Success.
    5 - Access denied.
    Other - For integer values other than those listed above, refer to the documentation on the Win32 error codes.

  • SetDefaultPrinter
  • The SetDefaultPrinter method sets the printer to be the default printer for the user who executes the method. The method can return the following values:
    0 - Success.
    Other - For integer values other than those listed above, refer to the documentation on the Win32 error codes.

  • GetSecurityDescriptor
  • Retrieves a structural representation of the printer's security descriptor.
    The method returns an integer value that can be interpreted as follows:
    0 - Successful completion.
    2 - The user does not have access to the requested information.
    8 - Unknown failure.
    9 - The user does not have adequate privileges.
    21 - The specified parameter is invalid.
    Other - For integer values other than those listed above, refer to Win32 error code documentation.

  • SetSecurityDescriptor
  • Sets security descriptor on the printer to the specified structure.
    The method returns an integer value that can be interpreted as follows:
    0 - Successful completion.
    2 - The user does not have access to the requested information.
    8 - Unknown failure.
    9 - The user does not have adequate privileges.
    21 - The specified parameter is invalid.
    Other - For integer values other than those listed above, refer to Win32 error code documentation.


    Example WQL

    SELECT * FROM Win32_Printer
    About this site information

    This contents is created by WMI having class information.
    WMI Environment is Windows Server 2008 R2 Enterprise Edition.

    This link is Microsoft documents for "Managing Windows with WMI".
    That is VB(Visual Basic) scripting sample.
    This link is Microsoft documents for "Advanced Programming Topics in WMI .NET".
    That is VB.net(Visual Basic .net) scripting sample.

    - WMI Library -
    http://library.wmifun.net/

    WMI useful by VB,VB.Net,VC,VC.Net,VC#.Net,VBS(WSH),PowerShell for PC asset management, system monitoring and collecting hardware and software inventory.

    This website is created by Toh.
    Copyright(C) 1997-2016 WMI Fun !!. All rights reserved.
    ^ Go to the top...