// Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved

#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\Root\\CIMV2")

#pragma deleteclass("Win32_TCPIPPort",NOFAIL)

[Dynamic,Provider("CIMWin32"),Description("The Win32_Printer class represents a device connected to a Win32 computer system that is capable of reproducing a visual image on a medium.") : ToSubclass,Locale(1033),UUID("{8502C4BC-5FBB-11D2-AAC1-006008C78BC7}"),SupportsCreate,CreateBy("AddPrinterConnection"),SupportsDelete,DeleteBy("DeleteInstance"),SupportsUpdate] 
class Win32_Printer : CIM_Printer
{
  [Read : ToSubclass,Key,Override("DeviceId") : ToSubclass,Description("The DeviceID property contains a string uniquely identifying the printer  with other devices on the system.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_4|sPrinterName"} : ToSubclass] string DeviceID;
  [read : ToSubclass,Write,Description("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:\nQueued  - Print jobs are buffered and queued.\n Direct  - Specifies that the document should be sent directly to the printer.  This is used if print job are not being properly queued.\nDefault - The printer is the default printer on the computer.\nShared - Available as a shared network resource.\nNetwork - Attached to the network.\nHidden - Hidden from some users on the network.\nLocal - Directly connected to this computer.\nEnableDevQ - Enable the queue on the printer if available.\nKeepPrintedJobs - Specifies that the spooler should not delete documents after they are printed.\nDoCompleteFirst - Start jobs that are finished spooling first.\nWorkOffline - Queue print jobs when printer is not available.\nEnableBIDI - Enable bi-directional printing.\nRawOnly - Allow only raw data type jobs to be spooled.\nPublished - Indicates whether the printer is published in the network directory service.\n") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|Attributes"} : ToSubclass,BitValues{"Queued", "Direct", "Default", "Shared", "Network", "Hidden", "Local", "EnableDevQ", "KeepPrintedJobs", "DoCompleteFirst", "WorkOffline", "EnableBIDI", "RawOnly", "Published"} : ToSubclass] uint32 Attributes;
  [Read,Write,Description("The Queued property indicates whether the printer buffers and queues print jobs."),MappingStrings{"Win32API"}] boolean Queued;
  [Read,Write,Description("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.\n"),MappingStrings{"Win32API"}] boolean Direct;
  [Read,Description("The Default property indicates whether the printer is the default printer on the computer."),MappingStrings{""}] boolean Default;
  [Read,Write,Description("The Shared property indicates whether the printer is available as a shared network resource."),MappingStrings{""}] boolean Shared;
  [Read,Write,Description("The Network property indicates whether the printer is a network printer."),MappingStrings{""}] boolean Network;
  [Read,Write,Description("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."),MappingStrings{""}] boolean Local;
  [Read,Write,Description("The Hidden property indicates whether the printer is hidden from network users."),MappingStrings{""}] boolean Hidden;
  [Read,Write,Description("The EnableDevQueryPrint property indicates whether to hold documents in the queue, if document and printer setups do not match"),MappingStrings{""}] boolean EnableDevQueryPrint;
  [Read,Write,Description("The KeepPrintedJobs property indicates whether the print spooler should not delete the jobs after they are completed."),MappingStrings{""}] boolean KeepPrintedJobs;
  [Read,Write,Description("The DoCompleteFirst property indicates whether the printer should start jobs that have finished spooling as opposed to the order of the job received."),MappingStrings{""}] boolean DoCompleteFirst;
  [Read,Write,Description("The WorkOffline property indicates whether to queue print jobs on the computer if the printer is offline."),MappingStrings{""}] boolean WorkOffline;
  [Read,Write,Description("The EnableBIDI property indicates whether the printer can print bidirectionally."),MappingStrings{""}] boolean EnableBIDI;
  [Read,Write,Description("The RawOnly property indicates whether the printer accepts only raw data to be spooled."),MappingStrings{""}] boolean RawOnly;
  [Read,Write,Description("The Published property indicates whether the printer is published in the network directory service."),MappingStrings{""}] boolean Published;
  [Read : ToSubclass,Write,Description("The DriverName property specifies the name of the Win32 printer driver.\nExample: Windows NT Fax Driver") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pDriverName"} : ToSubclass] string DriverName;
  [Read : ToSubclass,Write,Description("The Comment property specifies the comment of a print queue.\nExample: Color printer") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pComment"} : ToSubclass] string Comment;
  [Read : ToSubclass,Write,Description("The Location property specifies the physical location of the printer.\nExample: Bldg. 38, Room 1164") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pLocation"} : ToSubclass] string Location;
  [Read : ToSubclass,Write,Description("The Parameters property specifies optional parameters for the print processor.\nExample: Copies=2") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pParameters"} : ToSubclass] string Parameters;
  [Read : ToSubclass,Description("The PrinterPaperNames property indicates the list of paper sizes supported by the printer. The printer-specified names are used to represent supported paper sizes.\nExample: B5 (JIS).") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DeviceCapabilities|DC_PAPERNAMES"} : ToSubclass] string PrinterPaperNames[];
  [read : ToSubclass,Write,Description("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. \nExample: LPT1:, LPT2:, LPT3:") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pPortName"} : ToSubclass] string PortName;
  [read : ToSubclass,Write,Description("The PrintJobDataType property indicates the default data type that will be used for a print job.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pDataType"} : ToSubclass] string PrintJobDataType;
  [DEPRECATED,read,Description("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.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_6|dwStatus"} : ToSubclass,Values{"Paused", "Error", "Pending Deletion", "Paper Jam", "Paper Out", "Manual Feed", "Paper Problem", "Offline", "IO Active", "Busy", "Printing", "Output Bin Full", "Not Available", "Waiting", "Processing", "Initialization", "Warming Up", "Toner Low", "No Toner", "Page Punt", "User Intervention Required", "Out of Memory", "Door Open", "Server_Unknown", "Power Save"} : ToSubclass] uint32 PrinterState;
  [read,Description("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)."),ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"},Values{"Other", "Unknown", "Idle", "Printing", "Warmup", "Stopped Printing", "Offline", "Paused", "Error", "Busy", "Not Available", "Waiting", "Processing", "Initialization", "Power Save", "Pending Deletion", "I/O Active", "Manual Feed"},MappingStrings{"MIB.IETF|Printer-MIB.hrPrinterStatus"}] uint16 ExtendedPrinterStatus;
  [read,Description("The ExtendedDetectedErrorState property reports standard error information.  Any additional information should be recorded in the DetecteErrorState property."),Values{"Unknown", "Other", "No Error", "Low Paper", "No Paper", "Low Toner", "No Toner", "Door Open", "Jammed", "Service Requested", "Output Bin Full", "Paper Problem", "Cannot Print Page", "User Intervention Required", "Out of Memory", "Server Unknown"},ModelCorrespondence{"CIM_Printer.ErrorInformation"},MappingStrings{"MIB.IETF|Printer-MIB.hrPrinterDetectedErrorState"}] uint16 ExtendedDetectedErrorState;
  [read : ToSubclass,Write,Description("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.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pSepFile"} : ToSubclass] string SeparatorFile;
  [read : ToSubclass,Description("The ServerName property identifies the server that controls the printer. If this string is NULL, the printer is controlled locally. ") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pServerName"} : ToSubclass] string ServerName;
  [read : ToSubclass,Write,Description("The ShareName property indicates the share name of the Win32 printing device.\nExample: \\\\PRINTSERVER1\\PRINTER2") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pShareName"} : ToSubclass] string ShareName;
  [read : ToSubclass,Write,Description("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).") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|StartTime"} : ToSubclass] datetime StartTime;
  [read : ToSubclass,Write,Description("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).") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|UntilTime"} : ToSubclass] datetime UntilTime;
  [read : ToSubclass,Write,Description("The DefaultPriority property specifies the default priority value assigned to each print job.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|DefaultPriority"} : ToSubclass] uint32 DefaultPriority;
  [Read : ToSubclass,Write,Description("The Priority property specifies the priority of the  printer. The jobs on a higher priority printer are scheduled first.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|DefaultPriority"} : ToSubclass] uint32 Priority;
  [Read : ToSubclass,Description("The AveragePagesPerMinute property specifies the rate (average number of pages per minute) that the printer is capable of sustaining.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|AveragePPM"} : ToSubclass] uint32 AveragePagesPerMinute;
  [Read : ToSubclass,Write,Description("The PrintProcessor property specifies the name of the print spooler that handles print jobs.\nExample: SPOOLSS.DLL.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|pPrintProcessor"} : ToSubclass] string PrintProcessor;
  [DEPRECATED,read : ToSubclass,Description("The SpoolEnabled property shows whether spooling is enabled for this printer. \nValues:TRUE or FALSE. \nThe SpoolEnabled property has been deprecated.  There is no replacementvalue and this property is now considered obsolete.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_2|Attributes"} : ToSubclass] boolean SpoolEnabled;
  [Implemented,Description("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:\n0 - Success.\n5 - Access denied.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", "5", ".."},Values{"Success", "Access denied", "Other"}] uint32 Pause();
  [Implemented,Description("The Resume method resumes a paused print queue. The method can return the following values:\n0 - Success.\n5 - Access denied.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", "5", ".."},Values{"Success", "Access denied", "Other"}] uint32 Resume();
  [Implemented,Description("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:\n0 - Success.\n5 - Access denied.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", "5", ".."},Values{"Success", "Access denied", "Other"}] uint32 CancelAllJobs();
  [Static,Implemented,Description("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:\n0 - Success.\n5 - Access denied.\n1801 - Invalid printer name.\n1930 - Incompatible printer driver.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", "5", "1801", "1930", ".."},Values{"Success", "Access denied", "Invalid printer name", "The printer driver is not compatible with a policy enabled on your computer that blocks NT 4.0 drivers", "Other"}] uint32 AddPrinterConnection([In,Description("The Name parameter specifies a friendly name for the printer.  This may be overridden if the name has alreadybeen set by the printer."),MappingStrings{""}] string Name);
  [Implemented,Description("The RenamePrinter method renames a printer. The method can return the following values:\n0 - Success.\n5 - Access denied.\n1801 - Invalid printer name.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", "5", "1801", ".."},Values{"Success", "Access denied", "Invalid printer name", "Other"}] uint32 RenamePrinter([In,Description("The NewPrinterName parameter specifies the new printer name."),MappingStrings{""}] string NewPrinterName);
  [Implemented,Description("The PrintTestPage method prints a test page. The method can return the following values:\n0 - Success.\n5 - Access denied.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", "5", ".."},Values{"Success", "Access denied", "Other"}] uint32 PrintTestPage();
  [Implemented,Description("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:\n0 - Success.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", ".."},Values{"Success", "Other"}] uint32 SetDefaultPrinter();
  [implemented,description("Retrieves a structural representation of the printer's security descriptor.\nThe method returns an integer value that can be interpreted as follows: \n0 - Successful completion.\n2 - The user does not have access to the requested information.\n8 - Unknown failure.\n9 - The user does not have adequate privileges.\n21 - The specified parameter is invalid.\nOther - For integer values other than those listed above, refer to Win32 error code documentation."),Values{"Success", "Access denied", "Unknown failure", "Privilege missing", "Invalid parameter", "Other"},ValueMap{"0", "2", "8", "9", "21", ".."},Privileges{"SeSecurityPrivilege"}] uint32 GetSecurityDescriptor([out] Win32_SecurityDescriptor Descriptor);
  [implemented,description("Sets security descriptor on the printer to the specified structure. \nThe method returns an integer value that can be interpreted as follows: \n0 - Successful completion.\n2 - The user does not have access to the requested information.\n8 - Unknown failure.\n9 - The user does not have adequate privileges.\n21 - The specified parameter is invalid.\nOther - For integer values other than those listed above, refer to Win32 error code documentation."),Values{"Success", "Access denied", "Unknown failure", "Privilege missing", "Invalid parameter", "Other"},ValueMap{"0", "2", "8", "9", "21", ".."},Privileges{"SeSecurityPrivilege"}] uint32 SetSecurityDescriptor([in] Win32_SecurityDescriptor Descriptor);
};

[Dynamic,Provider("CIMWin32"),Description("The Win32_PrinterDriver class represents the drivers for a Win32_Printer.") : ToSubclass,Locale(1033),UUID("522E1798-D74F-4516-94F5-C121B0F4A8CB"),SupportsCreate,CreateBy("AddPrinterDriver"),SupportsDelete,DeleteBy("DeleteInstance")] 
class Win32_PrinterDriver : CIM_Service
{
  [Read,Override("Name"),Description("The Name property indicates the driver name for this printer.  This is a compound key composed of the Name, Version and SupportedPlatform values."),MappingStrings{""}] string Name;
  [Read,Write,Description("The Version property indicates the operating system version that the driver is intended for."),MappingStrings{""},ValueMap{"0", "1", "2", "3"},Values{"Win9x", "Win351", "NT40", "Win2k"}] uint16 Version;
  [Read,Write,Description("The SupportedPlatform property indicates the operating environments that the driver is intended for.  Examples are 'Windows NT x86' or 'Windows IA64'."),MappingStrings{""}] string SupportedPlatform;
  [Read,Description("The DriverPath property contains the path for this printer driver, (example: C:\\drivers\\pscript.dll)."),ModelCorrespondence{"CIM_DataFile.Path"},MappingStrings{""}] string DriverPath;
  [Read,Description("The DataFile property contains the data file for this printer driver, (example: qms810.ppd)."),ModelCorrespondence{"CIM_DataFile.FileName"},MappingStrings{""}] string DataFile;
  [Read,Description("The ConfigFile property contains the configuration file for this printer driver, (example: pscrptui.dll)."),MappingStrings{""}] string ConfigFile;
  [Read,Description("The HelpFile property contains the help file for this printer driver, (example: pscrptui.hlp)."),MappingStrings{""}] string HelpFile;
  [Read,Description("The DependentFiles property contains a list of dependent files for this printer driver."),MappingStrings{""}] string DependentFiles[];
  [Read,Description("The MonitorName property contains the name of the of the monitor for this printer driver, (example: PJL monitor)."),MappingStrings{""}] string MonitorName;
  [Read,Description("The DefaultDataType property indicates the default data type for this printer driver, (example: EMF)."),MappingStrings{""}] string DefaultDataType;
  [Read,Write,Description("The InfName property contains the name of the INF file being used. The default is 'ntprint.INF'.  This will only be different if the drivers are provided directly by the manufacturer of the printer and not the operating system."),MappingStrings{""}] string InfName;
  [Read,Write,Description("The FilePath property contains the path to the INF file being used, (Example: c:\\temp\\driver)."),MappingStrings{""}] string FilePath;
  [Read,Description("The OEMUrl property provides a world wide web link to the printer manufacturer's web site.  Note that this property is not populated when the Win32.INF file is used and is only applicable for drivers provided directly from the manufacturer.")] string OEMUrl;
  [Static,Implemented,Constructor,Description("The AddPrinterDriver method installs a printer driver. The method can return the following values:\n0 - Success.\n5 - Access denied.\n1797 - The printer driver is unknown.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", "5", "1797", ".."},Values{"Success", "Access denied", "The printer driver is unknown", "Other"}] uint32 AddPrinterDriver([In,Description("The DriverInfo parameter specifies the neccessary inforation needed in order to create the printer driver."),MappingStrings{""}] Win32_PrinterDriver DriverInfo);
};

[Dynamic,Provider("CIMWin32"),Description("The Win32_DriverForDevice class represents an association between a printing device on a Win32 computer system and the driver that supports this device.") : ToSubclass,Locale(1033),UUID("{C2225311-00A1-47FC-B163-49006EDFD693}")] 
class Win32_DriverForDevice : CIM_Dependency
{
  [Read : ToSubclass,Key : ToSubclass,Override("Dependent") : ToSubclass,Description("The Dependent reference represents the driver that supports the printing device.") : ToSubclass,MappingStrings{""} : ToSubclass] Win32_PrinterDriver Ref Dependent;
  [Read : ToSubclass,Key : ToSubclass,Override("Antecedent") : ToSubclass,Description("The Antecedent reference represents the printing device controlled by the driver.") : ToSubclass,MappingStrings{""} : ToSubclass] Win32_Printer Ref Antecedent;
};

[Dynamic,Provider("CIMWin32"),Description("The Win32_TCPIPPrinterPort class represents a TCP//IP service access point. For example a TCP/IP printer port.\n\nNote:  The SE_LOAD_DRIVER_PRIVILEGE privilege is required on this class."),Privileges{"SeLoadDriverPrivilege"},Locale(1033),UUID("{553644e9-f998-48c3-b037-26e5909f4333}"),SupportsCreate,CreateBy("PutInstance"),SupportsDelete,DeleteBy("DeleteInstance"),SupportsUpdate] 
class Win32_TCPIPPrinterPort : CIM_ServiceAccessPoint
{
  [Read,Description("The Protocol property has two values: 'Raw' indicates printing directly to a device and 'Lpr' indicates printing to device or print server; LPR is a legacy protocol, which will eventually be replaced by RAW. Some printers support only LPR."),Values{"Raw", "Lpr"},MappingStrings{""}] uint32 Protocol;
  [Read,Description("The HostAddress property indicates the address of device or print server"),MappingStrings{""}] string HostAddress;
  [Read,Description("The SNMPCommunity property contains a security level value for the device.  For example 'public'."),MappingStrings{""}] string SNMPCommunity;
  [Read,Description("The ByteCount property, when true, causes the computer to count the number of bytes in a document before sending them to the printer and the printer to report back the number of bytes actually read.  This is used for diagnostics when one discovers that bytes are missing from the print output."),MappingStrings{""}] boolean ByteCount;
  [Read,Description("The Queue property is used with the LPR protocol to indicate the name of the print queue on the server."),MappingStrings{""}] string Queue;
  [Read,Description("The PortNumber property indicates the number of the TCP port used by the port monitor to communitcate with the device."),MappingStrings{""}] uint32 PortNumber;
  [Read,Description("The SNMPEnabled property, when true, indicates that this printer supports RFC1759 (Simple Network Management Protocol) and can provide rich status information from the device."),MappingStrings{""}] boolean SNMPEnabled;
  [Read,Description("The property SNMPDevIndex indicates the SNMP index number of this device for the SNMP agent."),MappingStrings{""}] uint32 SNMPDevIndex;
};

[Dynamic,Provider("CIMWin32"),Description("The Win32_PrinterController class represents an association between a printer and the local device to which the printer is connected. Note that this class only returns instances for local printers.") : ToSubclass,Locale(1033),UUID("{FAF76B5C-798C-11D2-AAD1-006008C78BC7}")] 
class Win32_PrinterController : CIM_Controlledby
{
  [read : ToSubclass,key : ToSubclass,Override("Dependent") : ToSubclass,Description("The Win32_Printer dependent reference represents the Win32_Printer") : ToSubclass,MappingStrings{"WMI|Win32_Printer"} : ToSubclass] Win32_Printer Ref Dependent;
  [read : ToSubclass,key : ToSubclass,Override("Antecedent") : ToSubclass,Description("The CIM_Controller antecedent reference represents the local device associated with this printer.") : ToSubclass,MappingStrings{"CIM|CIM_Controller"} : ToSubclass] CIM_Controller Ref Antecedent;
};

[Dynamic,Provider("CIMWin32"),Description("The Win32_PrinterDriverDll class represents the association between a local printer and its driver file.") : ToSubclass,Locale(1033),UUID("{FAF76B5D-798C-11D2-AAD1-006008C78BC7}")] 
class Win32_PrinterDriverDll : CIM_Dependency
{
  [read : ToSubclass,key : ToSubclass,Override("Antecedent") : ToSubclass,Description("The CIM_DataFile antecedent reference represents the driver file for this Win32 printer.") : ToSubclass,MappingStrings{"CIM|CIM_DataFile"} : ToSubclass] CIM_DataFile Ref Antecedent;
  [read : ToSubclass,key : ToSubclass,Override("Dependent") : ToSubclass,Description("The Win32_Printer dependent reference represents the Win32_Printer.") : ToSubclass,MappingStrings{"WMI|Win32_Printer"} : ToSubclass] Win32_Printer Ref Dependent;
};

[Dynamic,Provider("CIMWin32"),Description("The Win32_PrinterShare class represents an association between a local printer and the share that represents it as it is viewed over a network.") : ToSubclass,Locale(1033),UUID("{FAF76B5E-798C-11D2-AAD1-006008C78BC7}")] 
class Win32_PrinterShare : CIM_Dependency
{
  [read : ToSubclass,key : ToSubclass,Override("Antecedent") : ToSubclass,Description("The Win32_Printer antecedent reference indicates the Win32_Printer representing the local printer shared in this association.") : ToSubclass,MappingStrings{"WMI|Win32_Printer"} : ToSubclass] Win32_Printer Ref Antecedent;
  [read : ToSubclass,key : ToSubclass,Override("Dependent") : ToSubclass,Description("The Win32_Share dependent referenceindicates the Win32_Share representing the network share of the printer in this association.") : ToSubclass,MappingStrings{"WMI|Win32_Share"} : ToSubclass] Win32_Share Ref Dependent;
};

[Dynamic,Provider("CIMWin32"),Description("The Win32_PrintJob class represents a print job generated by a Win32 application. Any unit of work generated by the Print command of an application running on a Win32 system is a descendent (or member) of this class.\nExample: A print document created by an Office 97 application") : ToSubclass,SupportsDelete,DeleteBy("DeleteInstance"),Locale(1033),UUID("{8502C4DF-5FBB-11D2-AAC1-006008C78BC7}")] 
class Win32_PrintJob : CIM_Job
{
  [Read : ToSubclass,Key : ToSubclass,Override("Name") : ToSubclass,Description("The Name property contains the name of the printer to which the print job is being spooled.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|pPrinterName"} : ToSubclass] string Name;
  [read : ToSubclass,Override("Notify") : ToSubclass,Description("User to be notified upon job completion or failure. This property is restricted to 16 characters under Windows 9x platforms.")] string Notify;
  [read : ToSubclass,Description("The DataType property indicates the format of the data for this print job. This instructs the printer driver to eithertranslate the data (generic text, PostScript, or PCL) before printing, or to print in a raw format (for graphics and pictures).\nExample: TEXT") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|pDatatype"} : ToSubclass] string DataType;
  [read : ToSubclass,Description("The Document property specifies the name of the print job. The user sees this name when viewing documents waiting to be printed. \nExample: Microsoft Word - Review.doc") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|pDocument"} : ToSubclass] string Document;
  [read : ToSubclass,Description("The DriverName property indicates the name of the printer driver used for the print job.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|pDriverName"} : ToSubclass] string DriverName;
  [read : ToSubclass,Description("The HostPrintQueue property contains the name of the computer on which the print job was created.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|pMachineName"} : ToSubclass] string HostPrintQueue;
  [read : ToSubclass,Description("The JobId property indicates the identifier number of the job. It is used by other methods as a handle to a single job spooling to the printer.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|JobId"} : ToSubclass] uint32 JobId;
  [read : ToSubclass,Description("The PagesPrinted property specifies the number of pages that have been printed. This value may be zero if the print job does not contain page delimiting information.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|PagesPrinted"} : ToSubclass] uint32 PagesPrinted;
  [read : ToSubclass,Description("The Parameters property indicates optional parameters to send to the print processor. See the PrintProcessor member for more information.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|pParameters "} : ToSubclass] string Parameters;
  [read : ToSubclass,Units("tenths of a millimeter") : ToSubclass,Description("The PaperLength property indicates the length of the paper.\nExample: 2794") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPaperLength"} : ToSubclass] uint32 PaperLength;
  [read : ToSubclass,Description("The PaperSize property indicates the size of the paper.\nExample: A4 or Letter") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPaperSize"} : ToSubclass] string PaperSize;
  [read : ToSubclass,Units("tenths of a millimeter") : ToSubclass,Description("The PaperWidth property indicates the width of the paper.\nExample: 2159") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPaperWidth "} : ToSubclass] uint32 PaperWidth;
  [read : ToSubclass,Description("The PrintProcessor property indicates the print processor service used to process the print job. A printer processor works in conjunction with the printer driver to provide additional translation of printer data for the printer, and can also be used to provide special options such as a title page for the job.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|pPrintProcessor"} : ToSubclass] string PrintProcessor;
  [read : ToSubclass,Units("bytes") : ToSubclass,Description("The Size property indicates the size of the print job.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|Size"} : ToSubclass] uint32 Size;
  [read : ToSubclass,Units("bytes") : ToSubclass,Description("The SizeHigh property indicates the size of the print job if the Size property exceeds 4,294,967,295 bytes.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|SizeHigh"} : ToSubclass] uint32 SizeHigh;
  [read : ToSubclass,Description("The StatusMask property specifies a bitmap of the possible statuses relating to this print job.") : ToSubclass,BitValues{"Paused", "Error", "Deleting", "Spooling", "Printing", "Offline", "Paperout", "Printed", "Deleted", "Blocked_DevQ", "User_Intervention_Req", "Restart"} : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|Status"} : ToSubclass] uint32 StatusMask;
  [read : ToSubclass,Description("The TotalPages property specifies the number of pages required to complete the job. This value may be zero if the print job does not contain page-delimiting information.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|JOB_INFO_4|TotalPages"} : ToSubclass] uint32 TotalPages;
  [read : ToSubclass,Description("The Color property indicates whether the document is to be printed in color or monochrome.  Some color printers have the capability to print using true black instead of a combination of Yellow, Cyan, and Magenta.  This usually creates darker and sharper text for documents.  This option is only useful for color printers that support true black printing.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmColor"} : ToSubclass] string Color;
  [Implemented,Description("The Pause method pauses a job in a print queue. If the job was currently printing, no other job will be printed. If the job wasn't printing yet, another unpaused print job may begin printing. The method can return the following values:\n0 - Success.\n5 - Access denied.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", "5", ".."},Values{"Success", "Access denied", "Other"}] uint32 Pause();
  [Implemented,Description("The Resume method continues a paused print job. The method can return the following values:\n0 - Success.\n5 - Access denied.\nOther - For integer values other than those listed above, refer to the documentation on the Win32 error codes."),ValueMap{"0", "5", ".."},Values{"Success", "Access denied", "Other"}] uint32 Resume();
};

[Dynamic,Provider("CIMWin32"),Description("The Win32_PrinterConfiguration class defines the configuration for a printer device.  This includes capabilities such as resolution, color, fonts, and orientation.") : ToSubclass,Locale(1033),UUID("{8502C4E9-5FBB-11D2-AAC1-006008C78BC7}")] 
class Win32_PrinterConfiguration : CIM_Setting
{
  [DEPRECATED,read : ToSubclass,Description("The BitsPerPel property contains the number of bits per pixel for the output device Win32 printer.  This member is used by display drivers and not by printer drivers.\nExample: 8.  \n This property has been deprecated because it is not applicable to printers.  There is no replacement value.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmBitsPerPel"} : ToSubclass] uint32 BitsPerPel;
  [read : ToSubclass,Description("The Collate property specifies whether to collate the pages that are printed. To collate is to print out the entire document before printing the next copy, as opposed to printing out each page of the document the required number times. This property is ignored unless the printer driver indicates support for collation.\nValues: TRUE or FALSE. If TRUE, the printer collates all documents.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmCollate"} : ToSubclass] boolean Collate;
  [read : ToSubclass,Description("The Color property indicates whether the document is to be printed in color or monochrome.  Some color printers have the capability to print using true black instead of a combination of Yellow, Cyan, and Magenta.  This usually creates darker and sharper text for documents.  This option is only useful for color printers that support true black printing.") : ToSubclass,Values{"Monochrome", "Color"} : ToSubclass,ValueMap{"1", "2"} : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmColor"} : ToSubclass] uint32 Color;
  [read : ToSubclass,Description("The Copies property indicates the number of copies to be printed. The printer driver must support printing multi-page copies.\nExample: 2") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmCopies"} : ToSubclass] uint32 Copies;
  [read : ToSubclass,Description("The DeviceName property specifies the friendly name of the printer.  This name is unique to the type of printer and may be truncated because of the limitations of the string from which it is derived.\nExample PCL/HP LaserJet") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmDeviceName"} : ToSubclass] string DeviceName;
  [DEPRECATED,read : ToSubclass,Description("The DisplayFlags property contains two bits of information about the display. This member communicates whether the display device is monochrome or colored, and interlaced or non-interlaced, by masking its value with the DM_GRAYSCALE and DM_INTERLACED masks respectively. \nThis property has been deprecated because it is not applicable to printers.  There is no replacement value.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmDisplayFlags "} : ToSubclass] uint32 DisplayFlags;
  [DEPRECATED,read : ToSubclass,Description("The DisplayFrequency property indicates the refresh frequency of the display The refresh frequency for a monitor is the number of times the screen is redrawn per second. \nThis property has been deprecated because it is not applicable to printers.  There is no replacement value.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmDisplayFrequency "} : ToSubclass] uint32 DisplayFrequency;
  [read : ToSubclass,Description("The DitherType property indicates the dither type of the printer.  This member can assume predefined values of 1 to 5, or driver-defined values from 6 to 256.  Line art dithering is a special dithering method that produces well defined borders between black, white, and gray scalings.  It is not suitable for images that include continuous graduations in intensity and hue such as scanned photographs.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmDitherType"} : ToSubclass,Values{"No Dithering", "Coarse Brush", "Fine Brush", "Line Art", "Greyscale"} : ToSubclass,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint32 DitherType;
  [read : ToSubclass,Description("The DriverVersion property indicates the version number of the Win32 printer driver.  The version numbers are created and maintained by the driver manufacturer.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmDriverVersion"} : ToSubclass] uint32 DriverVersion;
  [read : ToSubclass,Description("The Duplex property indicates whether printing is done on one or both sides.\nValues: TRUE or FALSE. If TRUE, printing is done on both sides.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmDuplex"} : ToSubclass] boolean Duplex;
  [read : ToSubclass,Description("The FormName property indicates the name of the form used for the print job.  This property is used only on Windows NT/Windows 2000 systems.\nExample: Legal") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmFormName"} : ToSubclass] string FormName;
  [read : ToSubclass,Description("The ICMIntent (Image Color Matching Intent) property indicates the specific value of one of the three possible color matching methods (called intents) that should be used by default.  ICM applications establish intents by using the ICM functions.  This property can assume predefined values of 1 to 3, or driver-defined values from 4 to 256.  Non-ICM applications can use this value to determine how the printer handles color printing jobs.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmICMIntent"} : ToSubclass,Values{"Saturation", "Contrast", "Exact Color"} : ToSubclass,ValueMap{"1", "2", "3"} : ToSubclass] uint32 ICMIntent;
  [read : ToSubclass,Description("The ICMMethod (Image Color Matching Method) property specifies how ICM is handled.  For a non-ICM application, this property determines if ICM is enabled or disabled.  For ICM applications, the system examines this property to determine which part of the computer system handles ICM support. ") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmICMMethod "} : ToSubclass,Values{"Disabled", "Windows", "Device Driver", "Device"} : ToSubclass,ValueMap{"1", "2", "3", "4"} : ToSubclass] uint32 ICMMethod;
  [DEPRECATED,read : ToSubclass,Units("pixels") : ToSubclass,Description("The LogPixels property contains the number of pixels per logical inch.  This member is valid only with devices that work with pixels (this excludes devices such as printers).\nThis property has been deprecated because it is not applicable to printers.  There is no replacement value.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmLogPixels"} : ToSubclass] uint32 LogPixels;
  [read : ToSubclass,Description("The MediaType property specifies the type of media being printed on. The property can be set to a predefined value or a driver-defined value greater than or equal to 256. For Windows 95 and later; Windows 2000.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmMediaType"} : ToSubclass,Values{"Standard", "Transparency", "Glossy"} : ToSubclass,ValueMap{"1", "2", "3"} : ToSubclass] uint32 MediaType;
  [read : ToSubclass,key : ToSubclass,MaxLen(256),Description("The Name property indicates the name of the printer with which this configuration is associated.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|PRINTER_INFO_5|pPrinterName"} : ToSubclass] string Name;
  [read : ToSubclass,Description("The Orientation property indicates the printing orientation of the paper.") : ToSubclass,Values{"Portrait", "Landscape"} : ToSubclass,ValueMap{"1", "2"} : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmOrientation"} : ToSubclass] uint32 Orientation;
  [read : ToSubclass,Units("tenths of a millimeter") : ToSubclass,Description("The PaperLength property indicates the length of the paper.\nExample: 2794") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPaperLength"} : ToSubclass] uint32 PaperLength;
  [read : ToSubclass,Description("The PaperSize property indicates the size of the paper.\nExample: A4 or Letter") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPaperSize"} : ToSubclass] string PaperSize;
  [read : ToSubclass,Units("tenths of a millimeter") : ToSubclass,Description("The PaperWidth property indicates the width of the paper.\nExample: 2159") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPaperWidth "} : ToSubclass] uint32 PaperWidth;
  [DEPRECATED,read : ToSubclass,Units("pixels") : ToSubclass,Description("The PelsHeight property indicates the height of the displayable surface. \nThis property has been deprecated because it is not applicable to printers.  There is no replacement value.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPelsHeight "} : ToSubclass] uint32 PelsHeight;
  [DEPRECATED,read : ToSubclass,Units("pixels") : ToSubclass,Description("The PelsWidth property indicates the width of the displayable surface.  \nThis property has been deprecated because it is not applicable to printers.  There is no replacement value.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPelsWidth "} : ToSubclass] uint32 PelsWidth;
  [read : ToSubclass,Description("The PrintQuality property indicates one of four quality levels of the print job.  If a positive value is specified, the quality is measured in dots per inch.\nExample: Draft") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPrintQuality"} : ToSubclass,Values{"Draft", "Low", "Medium", "High"} : ToSubclass,ValueMap{"-1", "-2", "-3", "-4"} : ToSubclass] uint32 PrintQuality;
  [read : ToSubclass,Units("percent") : ToSubclass,Description("The Scale property specifies the factor by which the printed output is to be scaled.  For example a scale of 75 reduces the print output to 3/4 its original height and width.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmScale"} : ToSubclass] uint32 Scale;
  [read : ToSubclass,Description("The SpecificationVersion property indicates the version number of the initialization data for the device associated with the Win32 printer.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmSpecVersion"} : ToSubclass] uint32 SpecificationVersion;
  [read : ToSubclass,Description("The TTOption property specifies how TrueType(r) fonts should be printed.  There are 3 possible values:\nBitmap -  Prints TrueType fonts as graphics. This is the default action for dot-matrix printers.\nDownload -  Downloads TrueType fonts as soft fonts. This is the default action for printers that use the Printer Control Language (PCL).\nSubstitute -  Substitutes device fonts for TrueType fonts. This is the default action for PostScript(r) printers.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmTTOption"} : ToSubclass,Values{"Bitmap", "Download", "Substitute"} : ToSubclass,ValueMap{"1", "2", "3"} : ToSubclass] uint32 TTOption;
  [read : ToSubclass,DEPRECATED : ToSubclass,Units("dots per inch") : ToSubclass,Description("The XResolution property has been deprecated to theHorizontalResolution property.  Please refer to the description of that property.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPrintQuality"} : ToSubclass] uint32 XResolution;
  [read : ToSubclass,DEPRECATED : ToSubclass,Units("dots per inch") : ToSubclass,Description("The YResolution property has been deprecated to theVerticalResolution property.  Please refer to the description of that property.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmYResolution "} : ToSubclass] uint32 YResolution;
  [read : ToSubclass,Units("dots per inch") : ToSubclass,Description("The HorizontalResolution property indicates the print resolution along the X axis (width) of the print job. This value is only set when the PrintQuality property of this class is positive and is similar to the XResolution property.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmPrintQuality"} : ToSubclass] uint32 HorizontalResolution;
  [read : ToSubclass,Units("dots per inch") : ToSubclass,Description("The VerticalResolution property indicates the print resolution along the Y axis (height) of the print job. This value is only set when the PrintQuality property of this class is positive, and is similar to the YResolution property.") : ToSubclass,MappingStrings{"Win32API|Printing and Print Spooler Structures|DEVMODE|dmYResolution"} : ToSubclass] uint32 VerticalResolution;
};

[Dynamic,Provider("CIMWin32"),Description("The Win32_PrinterSetting class represents an association between a printer and its configuration settings.") : ToSubclass,Locale(1033),UUID("{8502C500-5FBB-11D2-AAC1-006008C78BC7}")] 
class Win32_PrinterSetting : Win32_DeviceSettings
{
  [read : ToSubclass,Override("Element") : ToSubclass,Description("The Element reference represents the printer that can be configured with the Settings member.") : ToSubclass,MappingStrings{"WMI|Win32_Printer"} : ToSubclass] Win32_Printer Ref Element;
  [read : ToSubclass,Override("Setting") : ToSubclass,Description("The Setting reference represents the printer configuration settings that can be applied to the associated printer.") : ToSubclass,MappingStrings{"WMI|Win32_PrinterConfiguration"} : ToSubclass] Win32_PrinterConfiguration Ref Setting;
};
#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\Root\\CIMV2")
instance of __namespace{ name="ms_409";};
#pragma namespace("\\\\.\\Root\\CIMV2\\ms_409")

#pragma deleteclass("Win32_TCPIPPort",NOFAIL)
