Revision Summary Date Revision History Revision Class Comments 1/25/2008 0.1 Major MCPP Milestone RSAT Initial Availability 3/14/2008 0.1.1 Editorial Changed language and formatting in the technical content. 5/16/2008 0.1.2 Editorial Changed language and formatting in the technical content. 6/20/2008 1.0 Major Updated and revised the technical content. 7/25/2008 1.0.1 Editorial Changed language and formatting in the technical content. 8/29/2008 1.0.2 Editorial Changed language and formatting in the technical content. 10/24/2008 1.1 Minor Clarified the meaning of the technical content. 12/5/2008 2.0 Updated and revised the technical content. 1/16/2009 2.0.1 Editorial Changed language and formatting
in the technical content. 2/27/2009 3.0 Major Updated and revised the technical content. 4/10/2009 4.0 Major Updated and revised the technical content. 5/22/2009 5.0 Major Updated and revised the technical content. 7/2/2009 6.0 Major Updated and revised the technical content. 8/14/2009 6.0.1 Editorial Changed language and formatting in the technical content. 9/25/2009 6.1 Minor Clarified the meaning of the technical content. 11/6/2009 7.0 Major Updated and revised the technical content. 12/18/2009 8.0 Major Updated and revised the technical content. 1/29/2010 9.0 Updated and revised the technical content. 3/12/2010 10.0 Major Updated and revised
the technical content. 4/23/2010 10.0.1 Editorial Changed language and formatting in the technical content. 6/4/2010 11.0 Major Updated and revised the technical content. 7/16/2010 11.0 None No changes to the meaning, language, or formatting of the technical content. 8/27/2010 11.0 None No changes to the meaning, language, or formatting of the technical content. 10/8/2010 11.0 None No changes to the meaning, language, or formatting of the technical content. 11/19/2010 11.0 None No changes to the meaning, language, or formatting of the technical content. 1/7/2011 11.0 None No changes to the meaning, language,
or formatting of the technical content. 2/11/2011 12.0 Major Updated and revised the technical content. 3/25/2011 13.0 Major Updated and revised the technical content. 5/6/2011 13.0 None No changes to the meaning, language, or formatting of the technical content. 6/17/2011 13.1 Minor Clarified the meaning of the technical content. 9/23/2011 14.0 Major Updated and revised the technical content. 12/16/2011 15.0 Major Updated and revised the technical content. 3/30/2012 16.0 Major Updated and revised the technical content. 7/12/2012 17.0 Major Updated and revised the technical content. 10/25/2012 18.0 Major Updated and revised the
technical content. 1/31/2013 18.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 19.0 Updated and revised the technical content. 11/14/2013 20.0 Updated and revised the technical content. 2/13/2014 20.0 None No changes to the meaning, language, or formatting of the technical content. 5/15/2014 20.0 None No changes to the meaning, language, or formatting of the technical content. 6/30/2015 21.0 Significantly changed the technical content. 10/16/2015 22.0 Major Significantly changed the technical content. 7/14/2016 23.0 Major Significantly changed the technical content.
The criteria for support are DISK_BUSNOSUPP 0x00000100 The disk is on a bus not supported by the cluster implementation. The criteria for support are DISK_SYSTEMBUS 0x00000200 The disk is on the same bus as the disk containing the operating system. DISK_ALREADY_CLUSTERED 0x00000400 The disk is already controlled by the cluster. DISK_SYTLE_MBR 0x00001000 The disk is . DISK_STYLE_GPT 0x00002000 The disk is . DISK_STYLE_RAW 0x00004000 The disk is neither MBR nor GPT. DISK_PART_BASIC 0x00008000 The disk is configured with . DISK_PART_DYNAMIC 0x00010000 The disk is configured with . DISK_CLUSTERED_ONLINE 0x00020000 The disk is controlled by the cluster and is . DISK_UNREADABLE 0x00040000 The disk cannot be read. DISK_MPIO 0x00080000 The disk is controlled by MPIO. DISK_CLUSTERED_OTHER 0x00100000 The disk is controlled by cluster software other than the implementation.
DiskProps: The properties of the selected ClusPropDisk. Return Values: A signed 32-bit value that indicates return status. If the method returns a negative value, it has failed. Zero or positive values indicate success, with the lower 16 bits in positive nonzero values containing warnings or flags defined in the method implementation. For more information about Win32 error codes and HRESULT values, see sections 2.2 and 2.1. Return value/code Description 0x00000000 S_OK The call was successful. 0x80070002 ERROR_FILE_NOT_FOUND The disk was not found. 0x80070548 ERROR_INVALID_SERVER_STATE The server's Prepare State is not Online. For any other condition, this method MUST return a value that is not one of the values listed in the preceding table. The client MUST behave in one consistent, identical manner for all values that are not listed in the preceding table. Exceptions Thrown: No exceptions are thrown beyond thrown by the underlying protocol . The field value for this method is 7. When processing this call, the server MUST do the following: Obtain the ClusPrepDisk identified by the DiskId parameter as specified in section . Gather the information about the given disk. Populate a valid structure with the information. The server returns the following information to the client: The properties of the selected disk. CprepDiskStopDefense (Opnum 12) The CprepDiskStopDefense method stops any implementation-specific method of maintaining ownership of a . In order to perform a "stop defense", the following conditions MUST be met: The Ownership value of the designated disk MUST be OwnedByThisServer, as a result of a previous successful call. The affected ClusPrepDisk.OnlineState has to be to Not Online. Both the CprepDiskPRArbitrate and methods MUST be called before CprepDiskStopDefense. HRESULT CprepDiskStopDefense( [in] CPREP_DISKID DiskId ); DiskId: The identifier of the ClusPrepDisk representing the disk.
The field value for this method is 33. When processing this call, the server MUST do the following: Obtain the ClusPrepDisk identified by the DiskId parameter as described in section . Issue a PERSISTENT RESERVE OUT command with a CLEAR action as specified in section 6.12. CprepDiskIsOnline (Opnum 34) The CprepDiskIsOnline method reports whether the ClusPrepDisk, identified by the DiskId parameter, has ClusPrepDisk.OnlineState to Online. HRESULT CprepDiskIsOnline( [in] CPREP_DISKID DiskId ); DiskId: The identifier representing the ClusPrepDisk. Return Values: A signed 32-bit that indicates return status. If the method returns a negative value, it has failed. Zero or positive values indicate success, with the lower 16 bits in positive nonzero values containing warnings or flags defined in the method implementation. For more information about Win32 error codes and HRESULT values, see sections 2.2 and 2.1. Return value/code Description 0x00000000 S_OK The call was successful and ClusPrepDisk.OnlineState is equal to Online. 0x80070015 ERROR_NOT_READY ClusPrepDisk.OnlineState is not to Online. 0x80070548 ERROR_INVALID_SERVER_STATE The server's Prepare is not Online. For any condition, this method MUST return a value that is not one of the values listed in the preceding table. The client MUST behave in one consistent, identical manner for all values that are not listed in the preceding table. Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying protocol . The field value for this method is 34. When processing this call, the server MUST do the following: Obtain the ClusPrepDisk identified by the DiskId parameter as described in section . Return S_OK if the ClusPrepDisk.OnlineState is Online or ERROR_NOT_READY if the ClusPrepDisk.OnlineState is Not Online state. CprepDiskSetOnline 35) The CprepDiskSetOnline method starts the process of transitioning ClusPrepDisk.OnlineState to Online. HRESULT CprepDiskSetOnline( [in] CPREP_DISKID DiskId
interface that it supports. After the conversation with the server completes, the client application releases the interface pointer. Message Processing Events and Sequencing Rules This protocol MUST indicate to the runtime that it is to perform a at target level 6.0, as specified in (section 3). This protocol MUST indicate to the RPC runtime that it is to reject a NULL unique or full pointer with nonzero conformant value, as specified in [MS-RPCE] (section 3). Timer Events No protocol events are required on the client beyond the timers required in the underlying protocol. Other Local Events A client's invocation of each method is typically the result of local application activity. The local application on the client computer specifies values for all input parameters. No other higher-layer triggered events are processed. The values for input parameters are specified in section . No additional local events are used on the client beyond the events maintained in the underlying protocol. IClusterLogEx Server Details Abstract Data Model None. Timers No protocol timers are required beyond those used internally by to implement resiliency to network outages, as specified in section 3.2.3.2.1. Initialization The Failover Cluster Setup and Validation IClusterLogEx Remote Protocol server<51> MUST be initialized by registering the and listening on the RPC , as specified in section . The server MUST then wait for Failover Cluster Setup and Validation IClusterLogEx Remote Protocol clients to establish connections. Message Processing Events and Sequencing Rules This protocol MUST indicate to the runtime that it is to perform a at target 6.0, as specified in section 3 of . The IClusterLogEx methods do not have any dependencies, including: GenerateClusterLog (Opnum 3) GenerateClusterHealthLog (Opnum 4) All methods MUST NOT throw exceptions.
Change Tracking This section identifies changes that were made to this document since the last release. Changes are classified as Major, Minor, or None. The revision class Major means that the technical content in the document was significantly revised. Major changes affect protocol interoperability or implementation. Examples of major changes are: A document revision that incorporates changes to interoperability requirements. A document revision that captures changes to protocol functionality. The revision class Minor means that the meaning of the technical content was clarified. Minor changes do not affect protocol interoperability or implementation. Examples of minor changes are updates to clarify ambiguity at the sentence, paragraph, or table level. The revision class None means that no new technical changes were introduced. Minor editorial and formatting changes may have been made, but the relevant technical content is identical to the last released version. The changes made to this document are listed in the following table. For more information, please contact . Section Description Revision class DiskMediaType Updated content for new release of Windows. ClusterLogExFlag Updated content for new release of Windows. Major CLUSTER_CERTTYPE Updated content for new release of Windows. Major Message Processing Events and Sequencing Rules Updated content for new release of Windows. Major ConfigClusterCert (Opnum 9) Updated content for new release of Windows. Major RetrieveClusterCert 10) Updated content for new release of Windows. Major GenerateClusterCert 11) Updated content for new release of Windows. Major ConfigClusterCertV2 (Opnum 14) Updated content for Major
new release of Windows. RetrieveClusterCertV2 (Opnum 15) Updated content for new release of Windows. Major GenerateClusterCertV2 (Opnum 16) Updated content for new release of Windows. Message Processing Events and Sequencing Rules Updated content for new release of Windows. Major GenerateTimeSpanLog (Opnum 4) Updated content for new release of Windows. Major GenerateClusterLogInLocalTime (Opnum 5) Updated content for new release of Windows. Major GenerateTimeSpanLogInLocalTime (Opnum 6) Updated content for new release of Windows. Major IClusterLogEx Server Details Updated content for new release of Windows. Major Abstract Data Model Updated content for new release of Windows. Major Timers Updated content for new release of Windows. Major Initialization Updated content for new release of Windows. Major Message Processing Events and Sequencing Rules Updated content for new release of Windows. Major GenerateClusterLog 3) Updated content for new release of Windows. Major
GenerateClusterHealthLog (Opnum 4) Updated content for new release of Windows. Major Timer Events Updated content for new release of Windows. Major Other Local Events Updated content for new release of Windows. Major Appendix A: Full IDL Updated content for new release of Windows. Appendix B: Product Behavior Added Windows Server to the list of applicable products. Major
timers ( 42, 77) IClusterStorage3 abstract data ( 42, 98) initialization ( 42, 98) local events ( 42, 100) message processing 98 disk 98 98 overview ( 42, 98) 99 99 server 98 99 sequencing rules 98 disk 98 98 overview ( 42, 98) 99 99 server 98 99 42 timers ( 42, 98) 98 initialization ( 42, 77, 98, 111, 115, 125, 131, 135, 139) local events ( 42, 79, 100, 111, 116, 126, 131, 135, 140) message processing ( 42, 77, 98, 111, 116, 125, 131, 135, 140) overview ( 42, 98, 135) Preparing a Server method ( 78, 98) Querying Disk Partitions method ( 78, 98) Querying Disk Sectors method ( 78, 98) SCSI-3 Persistent Reservations method ( 78, 99) sequencing rules ( 42, 77, 98, 111, 116, 125, 131, 135, 140) timer events ( 42, 79, 100, 111, 116, 126, 131, 135, 140) timers ( 42, 77, 98, 111, 115, 125, 131, 135, 139) 146 40 33 17 42 121 123 118 118 138 18 17 19 85 85 88 88 87 87 86 86 62 62 59 59 67 67 92 92 68 68 75 75 73 73 53 53 89 89 61 61 83 83 72 72 69 69 95 95 74 74 90 90 60 60 55 55 63 63 71 71 96 96 70 70 93 93 64 64 91 91 66 66 96 96 65 65 94 94 65 65 48 48
49 49 72 72 54 54 58 58 56 56 56 56 86 86 51 51 52 52 D Data model - abstract client ( 42, 77, 98, 111, 115, 125, 130, 135, 139) IClusterCleanup ( 42, 115) IClusterFirewall ( 42, 135) IClusterLog ( 42, 130) IClusterNetwork2 ( 42, 111) IClusterSetup ( 42, 125) IClusterStorage2 ( 42, 77) IClusterStorage3 ( 42, 98) server ( 42, 79, 100, 112, 116, 126, 131, 136, 140) 112 131 126 100 116 42 79 17 17 19 22 18 E Events local - client ( 42, 79, 100, 111, 116, 126, 131, 135, 140) local - server ( 76, 97, 111, 115, 125, 130, 135, 139, 143) - client ( 42, 79, 100, 111, 116, 126, 131, 135, 140) timer - server ( 76, 97, 110, 115, 125, 130, 135, 139, 143) Examples 144 146 144 145 F 14 149 G 122 124 142 GenerateClusterLog (Opnum 3) method ( 127, 141) 127 129 128 128 129 109 109 120 105 105 133 133 137 9 I 112 112 iclusterfirewall interface ( 131, 135) 135 131 98 138 137 149 148 148 13 Initialization client ( 42, 77, 98, 111, 115, 125, 131, 135, 139) IClusterCleanup ( 42, 115) IClusterFirewall ( 42, 135) IClusterLog ( 42, 131) IClusterNetwork2 ( 42, 111) IClusterSetup ( 42, 125) IClusterStorage2 ( 42, 77) IClusterStorage3 ( 42, 98) server ( 43, 80, 101, 112, 116, 126, 131, 136, 140) 112 131 126 101 116 43 80 132 132 102 102 Interfaces 135 server 112
58 56 56 86 51 52 122 124 142 GenerateClusterLog (Opnum 3) ( 127, 141) 129 128 129 109 120 105 133 138 137 132 102 Preparing a Server ( 78, 98) 108 106 Querying Disk Partitions ( 78, 98) Querying Disk Sectors ( 78, 98) 121 123 119 119 SCSI-3 Persistent Reservations ( 78, 99) 103 N 38 12 O 13 P 148 18 19 19 22 13 Preparing a Server method ( 78, 98) 13 108 108 159 Protocol Details 42 Q 106 106 Querying Disk Partitions method ( 78, 98) Querying Disk Sectors method ( 78, 98) R 12 13 12 26 27 13 121 123 119 119 119 119 39 39 S SCSI-3 Persistent Reservations method ( 78, 99) Security 148 148 103 103 Sequencing rules client ( 42, 77, 98, 111, 116, 125, 131, 135, 140) IClusterCleanup ( 42, 116) IClusterFirewall ( 42, 135) IClusterLog ( 42, 131) IClusterNetwork2 ( 42, 111) IClusterSetup ( 42, 125) IClusterStorage2 78 disk 78 78 overview ( 42, 77) 78 78 78 IClusterStorage3 98 disk 98 98 overview ( 42, 98) 99 99 server 98 99 server ( 43, 80, 101, 112, 117, 126, 132, 136, 140) 112 132 126 101 117 43 80 29 Server
abstract data model ( 42, 79, 100, 112, 116, 126, 131, 136, 140) 110 113 106 114 121 123 118 85 88 87 86 62 59 67 92 68 75 73 53 89 61 83 72 69 95 74 90 60 55 63 71 96 70 93 64 91 66 96 65 94 65 48 49 72 54 58 56 56 86 51 52 122 124 142 GenerateClusterLog (Opnum 3) method ( 127, 141) 129 128 129 109 120 105 133 IClusterCleanup 112 112 112 115 112 112 112 115 timers 112 112 112 112 IClusterFirewall 131 131 131 135 132 131 132 135 131 131 IClusterLog 126 126 130 126 126 130 126 IClusterNetwork2 100 101 111 101 101 110 timers 101 101 IClusterSetup 116 116 125 117 117 125 116 IClusterStorage2 42 43 local events disk 76 77 76 43 43 76 43 IClusterStorage3 79