3.6.4.1 InitializeNode (Opnum 4)

The InitializeNode method prepares the server in an implementation-specific way to execute the other methods in the interface. It also informs the client about what port will be used and version information.

 HRESULT InitializeNode(
   [in] unsigned short RequestUDPPort,
   [out] unsigned short* BoundUDPPort,
   [out] unsigned long* NodeMajorVersion,
   [out] unsigned long* NodeMinorVersion,
   [out] unsigned long* ClusprepVersion
 );

RequestUDPPort: A value that the client provides that affects the value of BoundUDPPort.

BoundUDPPort:  This parameter is currently not used by the protocol.

NodeMajorVersion: The server’s operating system major version value.

NodeMinorVersion: The server’s operating system minor version value.

ClusprepVersion: The cluster prepare version.

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 [MS-ERREF] sections 2.2 and 2.1.

Return value/code

Description

0x00000000

S_OK

The call was successful.

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 those thrown by the underlying RPC protocol [MS-RPCE].

The opnum field value for this method is 4.

When processing this call the server MUST do the following:

  • Set the server Initialization State to TRUE. The initialized state remains TRUE until either the CleanupNode (section 3.6.4.4) method is called or the DCOM object exporter removes the application-specific state associated with the IClusterNetwork2 interface, as defined in [MS-DCOM] section 1.3.6.

  • Set NodeMajorVersion to an implementation-specific value.<22>

  • Set NodeMinorVersion to an implementation-specific value.<23>

  • Set ClusprepVersion to an implementation-specific value.<24>

  • If RequestUDPPort is nonzero, set BoundUDPPort to RequestUDPPort; else set BoundUDPPort to 3343.

The server returns the following information to the client:

  • The output parameters set to the values specified previously