3.1.4.5.2 GetServerInformation (Opnum 8)

This method is called by a client to perform capability negotiation for the Multiple-partition Support Capability Negotiation (section 3.1.4.3).

 HRESULT GetServerInformation(
   [out] long* plReserved1,
   [out] long* plReserved2,
   [out] long* plReserved3,
   [out] long* plMultiplePartitionSupport,
   [out] long* plReserved4,
   [out] long* plReserved5
 );

plReserved1: A pointer to a variable that is set to any arbitrary value when sent by the server and MUST be ignored on receipt by the client.

plReserved2: A pointer to a variable that is set to any arbitrary value when sent by the server and MUST be ignored on receipt by the client.

plReserved3: A pointer to a variable that is set to any arbitrary value when sent by the server and MUST be ignored on receipt by the client.

plMultiplePartitionSupport: A pointer to a value that, upon successful completion, MUST be set to one of the following values indicating support of multiple partitions.

Value

Meaning

1

The server does not support multiple partitions.

2

The server supports multiple partitions.

3

The server supports multiple partitions and is also capable of managing the domain-controlled PartitionRoles (section 3.1.1.3.17), PartitionRoleMembers (section 3.1.1.3.18), and PartitionUsers (section 3.1.1.3.16) tables for other servers. This value SHOULD be treated the same as 2, because it does not affect interoperability.

plReserved4: A pointer to a variable that is set to any arbitrary value when sent by the server and MUST be ignored on receipt by the client.

plReserved5: A pointer to a variable that is set to any arbitrary value when sent by the server and MUST be ignored on receipt by the client.

Return Values:  This method MUST return S_OK (0x00000000) on success and a failure result, as specified in [MS-ERREF] section 2.1, on failure. All failure results MUST be treated identically.

A server that does not support catalog version 4.00 or catalog version 5.00 SHOULD immediately return E_NOTIMPL (0x80004001) instead of implementing this method.

 Otherwise, the server MUST attempt to set the value referenced by plMultiplePartitionSupport to the previously specified value that indicates its support of multiple partitions, and fail the call if it cannot set the value.