Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1037 lines
53 KiB

Qualifier Description : ToSubClass Amended;
Qualifier Values : ToSubClass Amended;
Qualifier DisplayName : ToSubClass Amended;
Qualifier BitValues:ToSubClass Amended ;
Qualifier Aggregate : ToSubClass ;
Qualifier ValueMap : ToSubClass ;
Qualifier Aggregation : ToSubClass ;
Qualifier ArrayType : ToSubClass ;
Qualifier Association : ToInstance ToSubClass DisableOverride ;
Qualifier BitMap : ToSubClass ;
Qualifier CIM_Key : ToSubClass ;
Qualifier CIMTYPE : ToSubClass ;
Qualifier Deprecated : ToSubClass ;
Qualifier Enumeration : ToSubClass ;
Qualifier EnumPrivileges : ToSubClass ;
Qualifier ImplementationSource : ToSubClass ;
Qualifier Key : ToInstance ToSubClass DisableOverride ;
Qualifier Locale : ToInstance ;
Qualifier MappingStrings : ToSubClass ;
Qualifier Max : ToSubClass ;
Qualifier MaxLen : ToSubClass ;
Qualifier MethodSource : ToSubClass ;
Qualifier Min : ToSubClass ;
Qualifier ModelCorrespondence : ToSubClass ;
Qualifier Not_Null : ToSubClass ;
Qualifier Optional : ToSubClass ;
Qualifier Override : Restricted ;
Qualifier Privileges : ToSubClass ;
Qualifier Propagated : ToSubClass ;
Qualifier PropertySources : ToSubClass ;
Qualifier Provider : ToInstance ;
Qualifier Range : ToSubClass ;
Qualifier Read : ToSubClass ;
Qualifier Schema : ToInstance ;
Qualifier Singleton : ToSubClass ToInstance ;
Qualifier SUBTYPE : ToSubClass ;
Qualifier Units : ToSubClass ;
Qualifier UUID : ToInstance ;
Qualifier Volatile : ToSubClass ;
Qualifier Weak : ToSubClass ;
Qualifier Write : ToSubClass ;
Qualifier WritePrivileges : ToSubClass ;
#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root")
Instance of __Namespace
{
Name = "MicrosoftIISv2";
};
#pragma namespace("\\\\.\\ROOT\\MicrosoftIISv2")
/* View provider setup */
instance of __Win32Provider as $DataProv
{
Name = "MS_VIEW_INSTANCE_PROVIDER";
ClsId = "{AA70DDF4-E11C-11D1-ABB0-00C04FD9159E}";
ImpersonationLevel = 1;
PerUserInitialization = "True";
HostingModel = "NetworkServiceHost";
};
instance of __InstanceProviderRegistration
{
Provider = $DataProv;
SupportsPut = True;
SupportsGet = True;
SupportsDelete = True;
SupportsEnumeration = True;
QuerySupportLevels = {"WQL:UnarySelect"};
};
instance of __MethodProviderRegistration
{
Provider = $DataProv;
};
/**/
/* IIS provider setup */
Instance of __Win32Provider as $IISProv
{
Name = "IIS__PROVIDER";
ClsId = "{D78F1796-E03B-4a81-AFE0-B3B6B0EEE091}";
Pure = "TRUE";
ImpersonationLevel = 1;
PerUserInitialization = "TRUE";
HostingModel = "NetworkServiceHost";
};
Instance of __InstanceProviderRegistration
{
Provider = $IISProv;
SupportsPut = "TRUE";
SupportsGet = "TRUE";
SupportsDelete = "TRUE";
SupportsEnumeration = "TRUE";
QuerySupportLevels = {"WQL:UnarySelect"};
};
Instance of __MethodProviderRegistration
{
Provider = $IISProv;
};
/**/
[Abstract,
Description("The CIM_ManagedSystemElement class is the base class for the system element "
"hierarchy. Membership criteria: Any distinguishable component of a system is a candidate "
"for inclusion in this class.\nExamples: software components, such as files; and devices, "
"such as disk drives and controllers, and physical components such as chips and cards."),
Locale(1033),
UUID("{8502C517-5FBB-11D2-AAC1-006008C78BC7}")]
class CIM_ManagedSystemElement
{
[PropertySources("Caption"),
MaxLen(64),
Description("The Caption property is a short textual description (one-line string) of the "
"object."),
read]
string Caption;
[PropertySources("Description"),
Description("The Description property provides a textual description of the object."),
read]
string Description;
[PropertySources("InstallDate"),
Description("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."),
MappingStrings{"MIF.DMTF|ComponentID|001.5"},
read]
datetime InstallDate;
[PropertySources("Name"),
Description("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."),
read]
string Name;
[PropertySources("Status"),
read,
MaxLen(10),
Description("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."),
ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping",
"Service"},
Values{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping",
"Service"}]
string Status;
};
[Description("The CIM_LogicalElement class is the base class for all the components of "
"the system that represent abstract system components.\nExample: profiles, processes, or "
"system capabilities in the form of logical devices."),
Abstract,
Locale(1033),
UUID("{8502C518-5FBB-11D2-AAC1-006008C78BC7}")]
class CIM_LogicalElement : CIM_ManagedSystemElement
{
};
[Abstract, Description (
"A logical element that aggregates an enumerable set of managed system "
"elements. The aggregation operates as an functional whole. Within any "
"particular subclass of CIM_System, there is a well-defined list of "
"CIM_ManagedSystemElement classes whose instances must be aggregated."),
Locale (0x409), UUID ("{8502C524-5FBB-11D2-AAC1-006008C78BC7}") ]
class CIM_System: CIM_LogicalElement
{
[CIM_Key, Read,
Description ("The CreationClassName property 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.")]
string CreationClassName ;
[Override ("Name") , Description (
"The inherited Name property serves as key of a CIM_System instance in an enterprise "
"environment.") , CIM_Key, Read ]
string Name ;
[Description (
"The CIM_System object and its derivatives are top level objects of CIM. "
"They provide the scope for numerous components. Having unique system "
"keys is required. A heuristic can be defined in individual system "
"subclasses to attempt to always generate the same system name key. The "
"NameFormat property identifies how the system name was generated, using "
"the subclass' heuristic.") , Read ]
string NameFormat ;
[Description (
"A string that provides information on how the primary system owner can "
"be reached (e.g. phone number, email address, ...).") , Read ]
string PrimaryOwnerContact ;
[Description ("The name of the primary system owner.") , Read ]
string PrimaryOwnerName ;
[Description (
"A collection of strings that specify the roles this system plays in "
"the IT-environment.") , Read, Write ]
string Roles[] ;
};
[Description (
"The Setting class represents configuration-related and "
"operational parameters for one or more ManagedSystem"
"Element(s). A ManagedSystemElement may have multiple Setting "
"objects associated with it. The current operational values "
"for an Element's parameters are reflected by properties in "
"the Element itself or by properties in its associations. "
"These properties do not have to be the same values present "
"in the Setting object. For example, a modem may have a "
"Setting baud rate of 56Kb/sec but be operating "
"at 19.2Kb/sec."),
Abstract,
Locale(1033),
UUID("{8502C572-5FBB-11D2-AAC1-006008C78BC7}")]
class CIM_Setting
{
[read,
MaxLen(256),
Description("The identifier by which the CIM_Setting object is known.")]
string SettingID;
[read,
MaxLen(64),
Description("A short textual description (one-line string) of the CIM_Setting object.")]
string Caption;
[read,
Description("A textual description of the CIM_Setting object.")]
string Description;
};
[Association,
Abstract,
Aggregation,
Description("A generic association to establish 'part of' relationships between managed "
"system elements."),
Locale(1033),
UUID("{8502C573-5FBB-11D2-AAC1-006008C78BC7}")]
class CIM_Component
{
[read,
Aggregate,
Description("The parent element in the association"),
Min(1),
Max(1)]
CIM_ManagedSystemElement ref GroupComponent;
[Description("The child element in the association"),
read]
CIM_ManagedSystemElement ref PartComponent;
};
[Description("A logical element that contains the information necessary to represent and "
"manage the functionality provided by a device and/or software feature. A service is a "
"general-purpose object to configure and manage the implementation of functionality. It is "
"not the functionality itself."),
union,
ViewSources{"Select * from CIM_Service"},
ViewSpaces{"\\\\.\\root\\cimv2"},
provider("MS_VIEW_INSTANCE_PROVIDER"),
Abstract,
Locale(1033),
UUID("{8502C527-5FBB-11D2-AAC1-006008C78BC7}")]
class CIM_Service : CIM_LogicalElement
{
[PropertySources("Name"),
Description("The Name property uniquely identifies the service and provides an indication "
"of the functionality that is managed. This functionality is described in more detail in "
"the object's Description property."),
read,
Override("Name"),
cim_key]
string Name;
[PropertySources("CreationClassName"),
CIM_Key,
read,
Description("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.")]
string CreationClassName;
[PropertySources("StartMode"),
Description("StartMode is a string value indicating whether the service is automatically "
"started by a operating system, or only started upon request."),
ValueMap{"Automatic", "Manual"},
Values{"Automatic", "Manual"},
read]
string StartMode;
[PropertySources("Started"),
Description("Started is a boolean indicating whether the service has been started (TRUE), "
"or stopped (FALSE)."),
read]
boolean Started;
[PropertySources("SystemCreationClassName"),
Propagated("CIM_System.CreationClassName"),
CIM_Key,
Description("The type name of the system that hosts this service"),
read]
string SystemCreationClassName;
[PropertySources("SystemName"),
Propagated("CIM_System.Name"),
CIM_Key,
Description("The name of the system that hosts this service"),
read]
string SystemName;
[Description("The StartService method places the service in the started state. It returns "
"an integer value of 0 if the service was successfully started, 1 if the request is not "
"supported and any other number to indicate an error.")]
uint32 StartService();
[Description("The StopService method places the service in the stopped state. It returns "
"an integer value of 0 if the service was successfully stopped, 1 if the request is not "
"supported and any other number to indicate an error.")]
uint32 StopService();
};
[Description("The Win32_BaseService class represents executable objects that are "
"installed in a registry database maintained by the Service Control Manager. The "
"executable file associated with a service can be started at boot time by a boot program "
"or by the system. It can also be started on-demand by the Service Control Manager. Any "
"service or process that is not owned by a specific user, and that provides an interface "
"to some functionality supported by the computer system, is a descendent (or member) of "
"this class.\nExample: The dynamic host configuration protocol (DHCP) client service on a "
"Windows NT/Windows 2000 computer system."),
provider("MS_VIEW_INSTANCE_PROVIDER"),
Union,
ViewSources{"Select * from Win32_BaseService"},
ViewSpaces{"\\\\.\\root\\cimv2"},
Abstract,
Locale(1033),
UUID("{8502C4C4-5FBB-11D2-AAC1-006008C78BC7}")]
class Win32_BaseService : CIM_Service
{
[PropertySources("Name"),
Description("The Name property uniquely identifies the service and provides an indication "
"of the functionality that is managed. This functionality is described in more detail in "
"the object's Description property."),
read,
Override("Name"),
key]
string Name;
[PropertySources("StartMode"),
Description("The StartMode property indicates the start mode of the Win32 base service. "
"\"Boot\" specifies a device driver started by the operating system loader. This value is "
"valid only for driver services. \"System\" specifies a device driver started by the "
"IoInitSystem function. This value is valid only for driver services. \"Automatic\" "
"specifies a service to be started automatically by the service control manager during "
"system startup. \"Manual\" specifies a service to be started by the service control "
"manager when a process calls the StartService function. \"Disabled\" specifies a service "
"that can no longer be started."),
ValueMap{"Boot", "System", "Auto", "Manual", "Disabled"},
Values{"Boot", "System", "Auto", "Manual", "Disabled"},
read,
Override("StartMode")]
string StartMode;
[read,
PropertySources("AcceptPause"),
Description("The AcceptPause property indicates whether the service can be "
"paused.\nValues: TRUE or FALSE. A value of TRUE indicates the service can be paused."),
MappingStrings{"Win32API|Service "
"Structures|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_PAUSE_CONTINUE"}]
boolean AcceptPause;
[read,
PropertySources("AcceptStop"),
Description("The AcceptStop property indicates whether the service can be "
"stopped.\nValues: TRUE or FALSE. A value of TRUE indicates the service can be stopped."),
MappingStrings{"Win32API|Service "
"Structures|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_STOP"}]
boolean AcceptStop;
[read,
PropertySources("DesktopInteract"),
Description("The DesktopInteract property indicates whether the service can create or "
"communicate with windows on the desktop.\nValues: TRUE or FALSE. A value of TRUE "
"indicates the service can create or communicate with windows on the desktop."),
MappingStrings{"Win32API|Service "
"Structures|QUERY_SERVICE_CONFIG|dwServiceType|SERVICE_INTERACTIVE_PROCESS"}]
boolean DesktopInteract;
[read,
PropertySources("DisplayName"),
Description("The DisplayName property indicates the display name of the service. This "
"string has a maximum length of 256 characters. The name is case-preserved in the Service "
"Control Manager. DisplayName comparisons are always case-insensitive. \nConstraints: "
"Accepts the same value as the Name property.\nExample: Atdisk."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDisplayName"}]
string DisplayName;
[read,
PropertySources("ErrorControl"),
Description("If this service fails to start during startup, the ErrorControl property "
"specifies the severity of the error. The value indicates the action taken by the startup "
"program if failure occurs. All errors are logged by the computer system. The computer "
"system does not notify the user of \"Ignore\" errors. With \"Normal\" errorsthe user is "
"notified. With \"Severe\" errors, the system is restarted with the last-known-good "
"configuration. Finally, on\"Critical\" errors the system attempts to restart with a good "
"configuration."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwErrorControl"},
Values{"Ignore", "Normal", "Severe", "Critical", "Unknown"},
ValueMap{"Ignore", "Normal", "Severe", "Critical", "Unknown"}]
string ErrorControl;
[read,
PropertySources("PathName"),
Description("The PathName property contains the fully qualified path to the service "
"binary file that implements the service.\nExample: "
"\\SystemRoot\\System32\\drivers\\afd.sys"),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpBinaryPathName"}]
string PathName;
[read,
PropertySources("ServiceType"),
Description("The ServiceType property supplies the type of service provided to calling "
"processes."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType"},
Values{"Kernel Driver", "File System Driver", "Adapter", "Recognizer Driver", "Own "
"Process", "Share Process", "Interactive Process"},
ValueMap{"Kernel Driver", "File System Driver", "Adapter", "Recognizer Driver", "Own "
"Process", "Share Process", "Interactive Process"}]
string ServiceType;
[read,
PropertySources("StartName"),
Description("The StartName property indicates the account name under which the service "
"runs. Depending on the service type, the account name may be in the form of "
"\"DomainName\\Username\".The service process will be logged using one of these two forms "
"when it runs. If the account belongs to the built-in domain, \".\\Username\" can be "
"specified. If NULL is specified, the service will be logged on as the LocalSystem "
"account. For kernel or system level drivers, StartName contains the driver object name "
"(that is, \\FileSystem\\Rdr or \\Driver\\Xns) which the input and output (I/O) system "
"uses to load the device driver. Additionally, if NULL is specified, the driver runs with "
"a default object name created by the I/O system based on the service name.\nExample: "
"DWDOM\\Admin."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpServiceStartName"}]
string StartName;
[read,
PropertySources("State"),
Description("The State property indicates the current state of the base service."),
MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwCurrentState "},
Values{"Stopped", "Start Pending", "Stop Pending", "Running", "Continue Pending", "Pause "
"Pending", "Paused", "Unknown"},
ValueMap{"Stopped", "Start Pending", "Stop Pending", "Running", "Continue Pending",
"Pause Pending", "Paused", "Unknown"}]
string State;
[read,
PropertySources("TagId"),
Description("The TagId property specifies a unique tag value for this service in the "
"group. A value of 0 indicates that the service has not been assigned a tag. A tag can be "
"used for ordering service startup within a load order group by specifying a tag order "
"vector in the registry located at: "
"HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\GroupOrderList. Tags are only "
"evaluated for Kernel Driver and File System Driver start type services that have \"Boot\" "
"or \"System\" start modes."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwTagId"}]
uint32 TagId;
[read,
PropertySources("ExitCode"),
Description("The ExitCode property specifies a Win32 error code defining any problems "
"encountered in starting or stopping the service. This property is set to "
"ERROR_SERVICE_SPECIFIC_ERROR (1066) when the error is unique to the service represented "
"by this class, and information about the error is available in the "
"ServiceSpecificExitCode member. The service sets this value to NO_ERROR when running, and "
"again upon normal termination."),
MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwWin32ExitCode"}]
uint32 ExitCode;
[read,
PropertySources("ServiceSpecificExitCode"),
Description("The ServiceSpecificExitCode property specifies a service-specific error code "
"for errors that occur while the service is either starting or stopping. The exit codes "
"are defined by the service represented by this class. This value is only set when the "
"ExitCodeproperty value is ERROR_SERVICE_SPECIFIC_ERROR, 1066."),
MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwServiceSpecificExitCode"}]
uint32 ServiceSpecificExitCode;
[Description("The StartService method attempts to place the service into its startup "
"state. It returns one of the following integer values:\n0 - The request was accepted.\n1 "
"- The request is not supported.\n2 - The user did not have the necessary access.\n3 - The "
"service cannot be stopped because other services that are running are dependent on it.\n4 "
"- The requested control code is not valid, or it is unacceptable to the service.\n5 - The "
"requested control code cannot be sent to the service because the state of the service "
"(Win32_BaseService:State) is equal to 0, 1, or 2.\n6 - The service has not been "
"started.\n7 - The service did not respond to the start request in a timely fashion.\n8 - "
"Unknown failure when starting the service.\n9 - The directory path to the service "
"executable was not found.\n10 - The service is already running.\n11 - The database to add "
"a new service is locked.\n12 - A dependency for which this service relies on has been "
"removed from the system.\n13 - The service failed to find the service needed from a "
"dependent service.\n14 - The service has been disabled from the system.\n15 - The service "
"does not have the correct authentication to run on the system.\n16 - This service is "
"being removed from the system.\n17 - There is no execution thread for the service.\n18 - "
"There are circular dependencies when starting the service.\n19 - There is a service "
"running under the same name.\n20 - There are invalid characters in the name of the "
"service.\n21 - Invalid parameters have been passed to the service.\n22 - The account "
"which this service is to run under is either invalid or lacks the permissions to run the "
"service.\n23 - The service exists in the database of services available from the "
"system.\n24 - The service is currently paused in the system.\n"),
MethodSource("StartService"),
Override("StartService"),
Implemented,
Values{"Success", "Not Supported", "Access Denied", "Dependent Services Running",
"Invalid Service Control", "Service Cannot Accept Control", "Service Not Active",
"Service Request Timeout", "Unknown Failure", "Path Not Found", "Service Already "
"Running", "Service Database Locked", "Service Dependency Deleted", "Service Dependency "
"Failure", "Service Disabled", "Service Logon Failed", "Service Marked For Deletion",
"Service No Thread", "Status Circular Dependency", "Status Duplicate Name", "Status "
"Invalid Name", "Status Invalid Parameter", "Status Invalid Service Account", "Status "
"Service Exists", "Service Already Paused"},
MappingStrings{"Win32API|Service Functions|StartService"}]
uint32 StartService();
[Description("The StopService method places the service in the stopped state. It returns "
"an integer value of 0 if the service was successfully stopped, 1 if the request is not "
"supported, and any other number to indicate an error."),
MethodSource("StopService"),
Override("StopService"),
Implemented,
MappingStrings{"Win32API|Service "
"Functions|ControlService|dwControl|SERVICE_CONTROL_STOP"}]
uint32 StopService();
[MethodSource("PauseService"),
Implemented,
Description("The PauseService method attempts to place the service in the paused state. "
"It returns an integer value of 0 if the PauseService request was accepted, 1 if the "
"request is not supported, and any other number to indicate an error."),
MappingStrings{"Win32API|Service "
"Functions|ControlService|dwControl|SERVICE_CONTROL_PAUSE"}]
uint32 PauseService();
[MethodSource("ResumeService"),
Implemented,
Description("The ResumeService method attempts to place the service in the resumed state. "
"It returns an integer value of 0 if the ResumeService request was accepted, 1 if the "
"request is not supported, and any other number to indicate an error."),
MappingStrings{"Win32API|Service "
"Functions|ControlService|dwControl|SERVICE_CONTROL_CONTINUE"}]
uint32 ResumeService();
[MethodSource("InterrogateService"),
Implemented,
Description("The InterrogateService method requests that the service update its state to "
"the service manager. It returns an integer value of 0 if the InterrogateService request "
"was accepted, 1 if the request is not supported, and any other number to indicate an "
"error."),
MappingStrings{"Win32API|Service "
"Functions|ControlService|dwControl|SERVICE_CONTROL_INTERROGATE"}]
uint32 InterrogateService();
[MethodSource("UserControlService"),
Implemented,
Description("The UserControlService method attempts to send a user-defined control code "
"to a service. It returns an integer value of 0 if the UserControlService request was "
"accepted, 1 if the request is not supported, and any other number to indicate an "
"error."),
MappingStrings{"Win32API|Service "
"Functions|CreateService|dwDesiredAccess|SERVICE_USER_DEFINED_CONTROL"}]
uint32 UserControlService(
[In,
Description("The ControlCode parameter specifies defined values(from 128 to 255) that "
"provide control commands specific to a user."),
MappingStrings{"Win32API|Service Functions|ControlService|dwControl"}]
uint8 ControlCode
);
[MethodSource("Create"),
Constructor,
Implemented,
Static,
Description("The Create method creates a new service. It returns an integer value of 0 if "
"the service was successfully created, 1 if the request is not supported, and any other "
"number to indicate an error. The Win32_LoadOrderGroup parameter represents a grouping of "
"system services defining execution dependencies. The services must be initiated in the "
"order specified by the Load Order Group, as the services are dependent on each other. "
"These dependent services require the presence of the antecedent services in order to "
"function correctly."),
MappingStrings{"Win32API|Service Functions|CreateService"}]
uint32 Create(
[In,
Description("The Name parameter passes the name of the service to install to the Create "
"method. The maximum string length is 256 characters. The service control manager database "
"preserves the case of the characters, but service name comparisons are always case "
"insensitive. Forward-slashes (/) and double back-slashes (\\) are invalid service name "
"characters."),
MappingStrings{"Win32API|Service Functions|CreateServicelpServiceName"}]
string Name,
[In,
Description("The DisplayName parameter passes the display name of the service. This "
"string has a maximum length of 256 characters. The name is case-preserved in the service "
"control manager. DisplayName comparisons are always case-insensitive. \nConstraints: "
"Accepts the same value as the Name parameter.\nExample: Atdisk."),
MappingStrings{"Win32API|Service Functions|CreateServicelpDisplayName"}]
string DisplayName,
[In,
Description("The PathName parameter passes the fully qualified path to the executable "
"file that implements the service.\nExample: \\SystemRoot\\System32\\drivers\\afd.sys"),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpBinaryPathName "}]
string PathName,
[In,
Description("The ServiceType parameter passes the type of services provided to processes "
"that call them."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType"},
BitValues{"Kernel Driver", "File System Driver", "Adapter", "Recognizer Driver", "Own "
"Process", "Share Process"},
BitMap{"0", "1", "2", "3", "4", "5", "8"}]
uint8 ServiceType,
[In,
Description("If the Create method fails to start, the ErrorControl parameter passes the "
"severity of the error. The value indicates the action taken by the startup program if "
"failure occurs. All errors are logged by the system. The system does not notify the user "
"of \"Ignore\" errors. With \"Normal\" errors the user is notified. With \"Severe\" "
"errors, the system is restarted with the last-known-good configuration. Finally, on "
"\"Critical\" errors, the system attempts to restart with a good configuration."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwErrorControl"},
Values{"Ignore", "Normal", "Severe", "Critical"}]
uint8 ErrorControl,
[In,
Description("The StartMode parameter passes the start mode of the Win32 base service. "
"\"Boot\" specifies a device driver started by the operating system loader. This value is "
"valid only for driver services. \"System\" specifies a device driver started by the "
"IoInitSystem function. This value is valid only for driver services. \"Automatic\" "
"specifies a service to be started automatically by the service control manager during "
"system startup. \"Manual\" specifies a service to be started by the service control "
"manager when a process calls the StartService function. \"Disabled\" specifies a service "
"that can no longer be started."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwStartType"},
Values{"Boot Start", "System Start", "Auto Start", "Demand Start", "Disabled"},
ValueMap{"Boot", "System", "Automatic", "Manual", "Disabled"}]
string StartMode,
[In,
Description("The DesktopInteract parameter passes the value that indicates whether the "
"service can create or communicate with windows on the desktop.\nValues: TRUE or FALSE. A "
"value of TRUE indicates the service can create or communicate with windows on the "
"desktop."),
MappingStrings{"Win32API|Service "
"Structures|QUERY_SERVICE_CONFIG|dwServiceType|SERVICE_INTERACTIVE_PROCESS"}]
boolean DesktopInteract,
[In,
Description("The StartName parameter passes the account name the service runs under. "
"Depending on the service type, the account name may be in the form of "
"\"DomainName\\Username\".The service process will be logged using one of these two forms "
"when it runs. If the account belongs to the built-in domain, \".\\Username\" can be "
"specified. If NULL is specified, the service will be logged on as the LocalSystem "
"account. For a kernel or system-level drivers, StartName contains the driver object name "
"(that is, \\FileSystem\\Rdr or \\Driver\\Xns) which the input and output (I/O) system "
"uses to load the device driver. If NULL is specified, the driver runs with a default "
"object name created by the I/O system based on the service name.\nExample: "
"DWDOM\\Admin."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpServiceStartName"}]
string StartName,
[In,
Description("The StartPassword parameter passes the password to the account name "
"specified by the StartName parameter. Specify NULL if you are not changing the password. "
"Specify an empty string if the service has no password."),
MappingStrings{"Win32API|Service Functions|CreateService|lpPassword"}]
string StartPassword,
[In,
Description("The LoadOrderGroup parameter passes the group name associated with the new "
"service. Load order groups are contained in the registry, and determine the sequence in "
"which services are loaded into the operating system. If the pointer is NULL or if it "
"points to an empty string, the service does not belong to a group. Dependencies between "
"groups should be listed in the LoadOrderGroupDependencies parameter. Services in the "
"load-ordering group list are started first, followed by services in groups not in the "
"load-ordering group list, followed by services that do not belong to a group. The "
"registry has a list of load ordering groups located "
"at:\nHKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\ServiceGroupOrder."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpLoadOrderGroup"}]
string LoadOrderGroup,
[In,
Description("The LoadOrderGroupDependencies parameter passes a list of load ordering "
"groups that must start before this service. The array is doubly null-terminated. If the "
"pointer is NULL or if it points to an empty string, the service has no dependencies. "
"Group names must be prefixed by the SC_GROUP_IDENTIFIER (defined in the WINSVC.H file) "
"character to differentiate it from a service name, because services and service groups "
"share the same name space. Dependency on a group means that this service can run if at "
"least one member of the group is running after an attempt to start all members of the "
"group."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDependencies"}]
string LoadOrderGroupDependencies[],
[In,
Description("The ServiceDependencies parameter passes a list containing names of services "
"that must start before this service starts. The array is doubly null-terminated. If the "
"pointer is NULL, or if it points to an empty string, the service has no dependencies. "
"Dependency on a service means that this service can only run if the service it depends on "
"is running."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDependencies"}]
string ServiceDependencies[]
);
[MethodSource("Change"),
Implemented,
Description("The Change method modifies a service. It returns an integer value of 0 if "
"the service was successfully modified, 1 if the request is not supported and any other "
"number to indicate an error. The Win32_LoadOrderGroup parameter represents a grouping of "
"system services defining execution dependencies. The services must be initiated in the "
"order specified by the Load Order Group as the services are dependent on each other. "
"These dependent services require the presence of the antecedent services in order to "
"function correctly."),
MappingStrings{"Win32API|Service Functions|ChangeServiceConfig"}]
uint32 Change(
[In,
Description("The DisplayName parameter passes the display name of the service. This "
"string has a maximum length of 256 characters. The name is case-preserved in the service "
"control manager. DisplayName comparisons are always case-insensitive. \nConstraints: "
"Accepts the same value as the Name parameter.\nExample: Atdisk"),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDisplayName"}]
string DisplayName,
[In,
Description("The PathName parameter passes the fully qualified path of the service binary "
"file that implements the service.\nExample: \\SystemRoot\\System32\\drivers\\afd.sys"),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpBinaryPathName"}]
string PathName,
[In,
Description("The ServiceType parameter passes the type of service provided to processes "
"calling the service."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType"},
BitValues{"Kernel Driver", "File System Driver", "Adapter", "Recognizer Driver", "Own "
"Process", "Share Process"},
BitMap{"0", "1", "2", "3", "4", "5", "8"}]
uint8 ServiceType,
[In,
Description("If this service fails to start during startup, the ErrorControl parameter "
"passes the severity of the error. The value indicates the action taken by the startup "
"program if failure occurs. All errors are logged by the system. The system does not "
"notify the user of \"Ignore\" errors. With \"Normal\" errors the user is notified. With "
"\"Severe\" errors, the system is restarted with the last-known-good configuration. "
"Finally, on \"Critical\" errors, the system attempts to restart with a good "
"configuration."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwErrorControl"},
Values{"Ignore", "Normal", "Severe", "Critical"}]
uint8 ErrorControl,
[In,
Description("The StartMode property indicates the start mode of the Win32 base service. "
"\"Boot\" specifies a device driver started by the operating system loader. This value is "
"valid only for driver services. \"System\" specifies a device driver started by the "
"IoInitSystem function. This value is valid only for driver services. \"Automatic\" "
"specifies a service to be started automatically by the service control manager during "
"system startup. \"Manual\" specifies a service to be started by the service control "
"manager when a process calls the StartService function. \"Disabled\" specifies a service "
"that can no longer be started."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwStartType"},
Values{"Boot Start", "System Start", "Auto Start", "Demand Start", "Disabled"},
ValueMap{"Boot", "System", "Automatic", "Manual", "Disabled"}]
string StartMode,
[In,
Description("The DesktopInteract parameter passes the value that indicates whether the "
"service can create or communicate with windows on the desktop.\nValues: TRUE or FALSE. A "
"value of TRUE indicates the service can create or communicate with windows on the "
"desktop."),
MappingStrings{"Win32API|Service "
"Structures|QUERY_SERVICE_CONFIG|dwServiceType|SERVICE_INTERACTIVE_PROCESS"}]
boolean DesktopInteract,
[In,
Description("The StartName property indicates the account name the service runs under. "
"Depending on the service type, the account name may be in the form of "
"\"DomainName\\Username\", The service process will be logged using one of these two forms "
"when it runs. If the account belongs to the built-in domain, \".\\Username\" can be "
"specified. If NULL is specified, the service will be logged on as the LocalSystem "
"account. For kernel or system-level drivers, StartName contains the driver object name "
"(that is, \\FileSystem\\Rdr or \\Driver\\Xns) that the input and output (I/O) system uses "
"to load the device driver. If NULL is specified, the driver runs with a default object "
"name created by the I/O system based on the service name.\nExample: DWDOM\\Admin."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpServiceStartName"}]
string StartName,
[In,
Description("The StartPassword parameter passes the password to the account name "
"specified by the StartName parameter. Specify NULL if you are not changing the password. "
"Specify an empty string if the service has no password."),
MappingStrings{"Win32API|Service Functions|CreateService|lpPassword"}]
string StartPassword,
[In,
Description("The LoadOrderGroup parameter passes the group name that it is associated "
"with. Load order groups are contained in the system registry, and determine the sequence "
"in which services are loaded into the operating system. If the pointer is NULL, or if it "
"points to an empty string, the service does not belong to a group. Dependencies between "
"groups should be listed in the LoadOrderGroupDependencies parameter. Services in the "
"load-ordering group list are started first, followed by services in groups not in the "
"load-ordering group list, followed by services that do not belong to a group. The system "
"registry has a list of load ordering groups located "
"at:\nHKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\ServiceGroupOrder."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpLoadOrderGroup"}]
string LoadOrderGroup,
[In,
Description("The LoadOrderGroupDependencies parameter passes a list of load ordering "
"groups that must start before this service starts. The array is doubly null-terminated. "
"If the pointer is NULL, or if it points to an empty string, the service has no "
"dependencies. Group names must be prefixed by the SC_GROUP_IDENTIFIER (defined in the "
"WINSVC.H file) character to differentiate them from service names because services and "
"service groups share the same name space. Dependency on a group means that this service "
"can run if at least one member of the group is running after an attempt to start all "
"members of the group."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDependencies"}]
string LoadOrderGroupDependencies[],
[In,
Description("The ServiceDependencies parameter passes a list containing names of services "
"that must start before this service starts. The array is doubly null-terminated. If the "
"pointer is NULL, or if it points to an empty string, the service has no dependencies. "
"Dependency on a service means that this service can run only if the service it depends on "
"is running."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDependencies"}]
string ServiceDependencies[]
);
[MethodSource("ChangeStartMode"),
Implemented,
Description("The ChangeStartMode method modifies the StartMode of a service. It returns "
"an integer value of 0 if the service was successfully modified, 1 if the request is not "
"supported, and any other number to indicate an error."),
MappingStrings{"Service Functions|ChangeServiceConfig|dwStartType"}]
uint32 ChangeStartMode(
[In,
Description("The StartMode parameter passes the start mode of the Win32 base service. "
"\"Boot\" specifies a device driver started by the operating system loader. This value is "
"valid only for driver services. \"System\" specifies a device driver started by the "
"IoInitSystem function. This value is valid only for driver services. \"Automatic\" "
"specifies a service to be started automatically by the service control manager during "
"system startup. \"Manual\" specifies a service to be started by the service control "
"manager when a process calls the StartService function. \"Disabled\" specifies a service "
"that can no longer be started."),
MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwStartType"},
Values{"Boot Start", "System Start", "Auto Start", "Demand Start", "Disabled"},
ValueMap{"Boot", "System", "Automatic", "Manual", "Disabled"}]
string StartMode = "Automatic"
);
[MethodSource("Delete"),
Destructor,
Implemented,
Description("The Delete method deletes an existing service. It returns an integer value "
"of 0 if the service was successfully deleted, 1 if the request is not supported, and any "
"other number to indicate an error."),
MappingStrings{"Win32API|Service Functions|ChangeServiceConfig|DeleteService"}]
uint32 Delete();
};
[Description("The Win32_Service class represents a service on a Win32 computer system. A "
"service application conforms to the interface rules of the Service Control Manager (SCM) "
"and can be started by a user automatically at system boot through the Services control "
"panel utility, or by an application that uses the service functions included in the Win32 "
"API. Services can execute even when no user is logged on to the system."),
union,
ViewSources{"Select * from Win32_Service"},
ViewSpaces{"\\\\.\\root\\cimv2"},
provider("MS_VIEW_INSTANCE_PROVIDER"),
dynamic,
Locale(1033),
UUID("{8502C4D9-5FBB-11D2-AAC1-006008C78BC7}")]
class Win32_Service : Win32_BaseService
{
[read,
PropertySources("CheckPoint"),
Description("The CheckPoint property specifies a value that the service increments "
"periodically to report its progress during a lengthy start, stop, pause, or continue "
"operation. For example, the service should increment this value as it completes each step "
"of its initialization when it is starting up. The user interface program that invoked the "
"operation on the service uses this value to track the progress of the service during a "
"lengthy operation. This value is not valid and should be zero when the service does not "
"have a start, stop, pause, or continue operation pending."),
MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwCheckPoint"}]
uint32 CheckPoint;
[read,
PropertySources("WaitHint"),
Description("The WaitHint property specifies the estimated time required (in "
"milliseconds) for a pending start, stop, pause, or continue operation. After the "
"specified amount of time has elapsed, the service makes its next call to the "
"SetServiceStatus function with either an incremented CheckPoint value or a change in "
"CurrentState. If the amount of time specified by WaitHint passes, and CheckPoint has not "
"been incremented, or the CurrentState has not changed, the service control manager or "
"service control program assumes that an error has occurred."),
MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwWaitHint"}]
uint32 WaitHint;
[read,
PropertySources("ProcessId"),
Description("The ProcessId property specifies the process identifier of the "
"service.\nExample: 324"),
MappingStrings{"Win32API|Service Structures|SERVICE_STATUS_PROCESS|dwProcessId"}]
uint32 ProcessId;
};
[Abstract, Locale ( 0x409 ) , UUID ( "{120BB700-DB2B-11d2-85FC-0000F8102E5F}" ),
Description(" The CIM_ApplicationSystem class is used to represent an application "
"or a software system that supports a particular business function "
"and that can be managed as an independent units. Such a system "
"can be decomposed into its functional components using the CIM_SoftwareFeature "
"class. The software features for a particular application or "
"software system are located using the CIM_ApplicationSystemSoftwareFeature "
" association. ")]
class CIM_ApplicationSystem: CIM_System
{
};
[Abstract,
Association,
Locale(1033),
UUID("{8502C577-5FBB-11D2-AAC1-006008C78BC7}"),
Description (
"ElementSetting represents the association between Managed"
"SystemElements and the Setting class(es) defined for them.") ]
class CIM_ElementSetting
{
[read,
Description("The Element reference represents the role of the CIM_ManagedSystemElement "
"object of the CIM_ElementSetting association. Role: The associated managed system element "
"provides the element that implements the element setting.")]
CIM_ManagedSystemElement ref Element;
[read,
Description("The CIM_Setting reference represents the role of the CIM_Setting object of "
"the CIM_ElementSetting association. Role: The associated setting provides the setting "
"that implements the element setting.")]
CIM_Setting ref Setting;
};
[Abstract,Locale(1033)]
class IIsStructuredDataClass
{
};
[Abstract,Locale(1033)]
class IIsSetting : CIM_Setting
{
string Name;
};
[Abstract,Locale(1033)]
class IIsDirectory : CIM_LogicalElement
{
[key] string Name;
};
[Abstract, Locale(1033)]
class IIsUserDefinedLogicalElement : CIM_LogicalElement
{
};
[Abstract, Locale(1033)]
class IIsUserDefinedSetting : IIsSetting
{
};
[Abstract, Locale(1033)]
class IIsUserDefinedElementSetting : CIM_ElementSetting
{
};
[Abstract, Locale(1033)]
class IIsUserDefinedComponent : CIM_Component
{
};
[dynamic : ToInstance,provider("IIS__PROVIDER"),Locale(1033)]
class IIsIPSecuritySetting : IIsSetting
{
[key] string Name;
string IPDeny[];
string IPGrant[];
string DomainDeny[];
string DomainGrant[];
boolean GrantByDefault;
};
[dynamic : ToInstance,provider("IIS__PROVIDER"),Locale(1033)]
class IIsAdminACL : CIM_LogicalElement
{
[key] string Name;
string Owner;
string Group;
sint32 ControlFlags;
};
[dynamic : ToInstance,provider("IIS__PROVIDER"),Locale(1033)]
class IIsACE : CIM_LogicalElement
{
[key] string Name;
[key] string Trustee;
sint32 AccessMask;
sint32 AceType;
sint32 AceFlags;
sint32 Flags;
string ObjectType;
string InheritedObjectType;
};