Revision Summary Date Revision History Revision Class Comments 1/25/2008 0.1 Major MCPP RSAT Initial Availability 3/14/2008 1.0 Major XSD schema element descriptions, Boolean ABNF data format glossary pass performed. 5/16/2008 1.0.1 Editorial Changed language and formatting in the technical content. 6/20/2008 1.0.2 Editorial Changed language and formatting in the technical content. 7/25/2008 1.0.3 Editorial Changed language and formatting in the technical content. 8/29/2008 1.0.4 Editorial Changed language and formatting in the technical content. 10/24/2008 1.0.5 Editorial Changed language and formatting in the technical content. 12/5/2008 2.0 Major Updated and revised the technical content.
1/16/2009 3.0 Major Updated and revised the technical content. 2/27/2009 4.0 Major Updated and revised the technical content. 4/10/2009 5.0 Major Updated and revised the technical content. 5/22/2009 5.1 Clarified the meaning of the technical content. 7/2/2009 5.1.1 Editorial Changed language and formatting in the technical content. 8/14/2009 5.2 Minor Clarified the meaning of the technical content. 9/25/2009 5.3 Clarified the meaning of the technical content. 11/6/2009 5.3.1 Editorial Changed language and formatting in the technical content. 12/18/2009 5.4 Minor Clarified the meaning of the technical content. 1/29/2010 6.0 Major Updated and revised the
technical content. 3/12/2010 6.1 Minor Clarified the meaning of the technical content. 4/23/2010 7.0 Major Updated and revised the technical content. 6/4/2010 7.0.1 Editorial Changed language and formatting in the technical content. 7/16/2010 8.0 Major Updated and revised the technical content. 8/27/2010 8.1 Minor Clarified the meaning of the technical content. 10/8/2010 9.0 Major Updated and revised the technical content. 11/19/2010 9.1 Minor Clarified the meaning of the technical content. 1/7/2011 10.0 Major Updated and revised the technical content. 2/11/2011 11.0 Major Updated and revised the technical content. 3/25/2011 11.0 None No changes to the meaning,
language, or formatting of the technical content. 5/6/2011 11.0 None No changes to the meaning, language, or formatting of the technical content. 6/17/2011 11.1 Minor Clarified the meaning of the technical content. 9/23/2011 12.0 Major Updated and revised the technical content. 12/16/2011 13.0 Updated and revised the technical content. 3/30/2012 14.0 Major Updated and revised the technical content. 7/12/2012 14.1 Minor Clarified the meaning of the technical content. 10/25/2012 14.2 Minor Clarified the meaning of the technical content. 1/31/2013 14.2 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 14.2 None No changes to the
Note All string values are case-insensitive. Constant/value Description Version1 "V1" The level of client support provided by version 1 WSRM servers.<6> Version2 "V2" The level of client support provided by version 2 WSRM servers.<7> Version3 "V3" The level of client support provided by version 3 WSRM servers.<8> User Types This section defines literal constants for user types, which specify the type of a user. These values are used in WSRM protocol method parameters and data elements. Note All string values are case-insensitive. Constant/value Description Group "Group" A group of users. Individual "Inidividual" An individual user. Column Types This section defines integer constants for Column Types, which specify the type of the columns in accounting databases. These values are used in data elements. Constant/value Description CT_INT64 "0" The integer designating column type as integer number. CT_DATETIME "1" The integer designating column type as date-time field. CT_LONG_TEXT "2" The integer designating column type as text of maximum length 510 characters. CT_SHORT_TEXT "3" The integer designating column type as text of maximum length 255 characters.
Condition Name This section defines literal constants for Condition Name, which specifies the name of a . These values are used in WSRM protocol method parameters and XML data elements. Note All string values are case-insensitive. Constant/value Description ProcessorNew "ProcessorNew" Name to represent condition associated with "Processor hot add" . MemoryNew "MemoryNew" Name to represent condition associated with "Memory hot add" conditional event. MSCSNodeUp "MSCSNodeUp" Name to represent condition associated with "Cluster node goes up" conditional event. MSCSNodeDown "MSCSNodeDown" Name to represent condition associated with "Cluster node goes down" conditional event. MSCSRGOnline "MSCSRGOnline" Name to represent condition associated with "Cluster resource group goes online" conditional event. MSCSRGOffline "MSCSRGOffline" Name to represent condition
SetClientPermissions (Opnum 20) The SetClientPermissions method adds or removes a specified client for remote on a server and makes the required changes for permissions; that is, it adds the machine account of the to the Distributed COM Users group (see section 3.1.4.2) of the accounting server. [id(14), helpstring("method SetClientPermissions")] HRESULT SetClientPermissions( [in] BSTR bstrClientId, [in] BOOL fAddPermissions ); bstrClientId: A string that identifies the client machine name whose account is to be added or removed. fAddPermissions: TRUE to add and FALSE to remove. Return Values: This method returns 0x00000000 for success, or a negative value (in the following table or in section 2.1.1) if an error occurs. Return value/code Description 0x00000000 S_OK Operation successful. 0xC1FF0213 WRM_ERR_INVALID_DBSERVER_NAME not establish a connection to the database server. Either the server name is invalid or the machine executing this method does not have permission to perform an account lookup. 0xC1FF0214 WRM_ERR_PERMISSION_GRANT_UNSUCCESSFUL Could not grant permissions to the current machine to log data remotely. This is returned when a server machine denies access to a requesting machine. It is possible for multiple WSRM servers to have a common . Note Remote accounting is not supported in a workgroup environment. Additional interface methods are specified in section 3.2.4.3. IWRMCalendar Interface The IWRMCalendar interface defines the following methods. Methods in RPC Opnum Order Method Description Gets information about one or all calendar events. Opnum: 7 Creates a new calendar event. 8 Modifies an existing calendar event. 9 Deletes a specified calendar
FALSE 0x00000000 The current active policy of the system SHOULD NOT be changed by the method call. TRUE 0x00000001 If applicable, the current active policy of the system SHOULD be changed by the method call. Return Values: This method returns 0x00000000 for success or a negative value (in the following table or in section 2.1.1) if an error occurs. Return value/code Description 0x00000000 S_OK Operation successful. 0x80070057 E_INVALIDARG One or more arguments are invalid. 0xC1FF0069 WRM_ERR_OLD_INFORMATION The XML timestamp is out of date. 0xC1FF0070 WRM_ERR_TAGS_NOT_IN_ORDER The XML data that is maintained by the is invalid or cannot be processed.<67> 0xC1FF0271 WRM_ERR_CAL_UNKNOWN_SCHEDULE The specified schedule object does not Additional interface methods are specified in section 3.2.4.4. DeleteSchedule 16) The DeleteSchedule method deletes an existing schedule object. [id(10), helpstring("method DeleteSchedule")] HRESULT DeleteSchedule( [in] BSTR bstrScheduleName ); bstrScheduleName: A string that specifies the name of the schedule object to be deleted. If this parameter is NULL, E_INVALIDARG MUST be returned. Return Values: This method returns 0x00000000 for success or a negative value (in the following table or in section 2.1.1) if an error occurs. Return value/code Description 0x00000000 S_OK Operation successful. 0xC1FF0272 WRM_ERR_CAL_SCHEDULE_IN_USE The selected schedule is currently in use with a calendar. Delete or edit the calendar first. 0xC1FF0271 WRM_ERR_CAL_UNKNOWN_SCHEDULE The specified schedule object does not exist. 0x80070057 One or more arguments are invalid.
If this parameter is NULL, E_INVALIDARG MUST be returned. bstrMachineId: A string that specifies the identifier of the machine to delete. If this parameter is NULL, E_INVALIDARG MUST be returned. bRecursive: A Boolean value that specifies whether to recursively delete all instances of the specified machine.<103> Value Meaning TRUE 0x00000001 All instances of the specified machine MUST be recursively searched in the specified machine group and deleted. 0x00000000 Only a machine that is a direct child in the specified machine group SHOULD be deleted. Return Values: This method returns 0x00000000 for success or a negative value (in the following table or in section 2.1.1) if an error occurs. Return value/code Description 0x00000000 S_OK Operation successful. 0x80070057 E_INVALIDARG One or more arguments are invalid. 0xC1FF0389 WRM_ERR_MACHINEGROUPID_INVALID The specified machine group ID is invalid. 0xC1FF038A WRM_ERR_MACHINEID_INVALID The specified machine ID is not found.<104> Additional interface methods are specified in section 3.2.4.6. IWRMPolicy Interface The IWRMPolicy interface defines the following methods. Methods in RPC Order Method Description Gets Policy or policies with specified policy ID. Opnum: 7 Creates a new policy. Opnum: 8
enumObjectType set to the value OBJECT_POLICY from the enumeration. pbstrObjectXml set to a previously-allocated buffer that will receive the for the target objects. Call the IWRMMachineGroup GetMachineGroupInfo method with the following parameters: bstrMachineGroupId, set it to the name of the machine group that contains the . pbstrMachineGroupInfo, to receive the data for the machine Extract the names of all machines from the machine group, and connect to the WSRM servers running on those machines by creating remote ResourceManager COM objects. Get a pointer to the IResourceManager2 interface. Call the IResourceManager2 method with following parameters: bstrPMCXml, set to NULL. bstrPolicyXml, set to the value of pbstrObjectXml returned from the prior call to IResourceManager2 ExportObjects. bstrCalendarXml, set to NULL. bstrConditionalXml, set to NULL. bstrMachineGroupXml, set to NULL. enumImportType, set to SMART_MERGE_RENAME_EXISTING_IMPORT from the enumeration. Release all pointers to interfaces. Add a Machine to a Machine Connect to the WSRM server by creating a ResourceManager object. Get a pointer to the interface. Call the method to identify the name of the under which the machine will be added. Call the method with the following parameters: bstrParentMachineGroupId set to the name of the machine group to which the machine will be added. bstrMachineInfo set to the machine to be added, in the format of a element (section 2.2.5.17). Release the pointer to the interface. Create And Initialize a Machine The following sequence of WSRM client actions can be used to create and initialize a new on local machine: Connect to the WSRM server by creating a ResourceManager object. Get a pointer to the interface. Call the method with the following parameters:
Index A ABNF data formats 19 20 20 19 Abstract data model 69 server 71 70 70 71 150 150 150 151 151 121 19 ANY ( 26, 26) 16 B 22 20 C 153 92 16 182 96 Client 69 69 69 70 message processing 69 70 69 sequencing rules 69 70 69 70 69 69 19 ABNF data formats 19 20 20 19 21 27 19 31 103 154 27 155 21 85 99 117 126 141 104 26 26 26 26 D 23 Data formats ABNF 19 20 20 19 31 Data - abstract 69 server 71 70 70 Data types ABNF data formats 19 20 20 19 19 21 27 19 31 20 20 23 92 91 101 123 120 128 142 106 155 93 E 113 27 24
24 24 24 156 Examples message processing 147 146 147 148 148 145 145 146 145 148 145 149 XML data 150 150 150 151 151 153 154 155 155 156 156 157 158 158 158 149 159 160 161 161 162 162 156 28 86 80 83 76 F 22 17 22 22 23 165 G 94 86 132 98 135 110 80 133 134 77 114 79 82 118 122 90 125 132 88 137 139 104 79 109 78 136 75 9 25 H 69 I 165 164 28 82 75 164 25 15 Initialization 69 73 9 112 116 L 22 Local events 70 144 24 M 157 29 158 29 26 26 Message processing client 69 69
70 69 73 Message processing examples 147 146 147 148 148 145 145 146 145 148 145 Messages 19 data types ABNF data formats 19 20 20 19 21 27 19 31 19 99 119 122 127 140 105 23 23 131 108 130 107 26 26 26 26 26 N 14 158 O 24 24 24 24 30 158 69 15 P 164 159 16 22 16 70 69 160 26 26 173 R 14 15 14 138 92 16 129 102 120 143 107 30 116 77 75 S Sample XML data 150 150 150 151 151 153 154 155 155 156 156 157 158 158 158 149 159 160 161 161 162 162 149 23 161 22 Security 164 164 Sequencing rules client 69 69