3.1.4.2 64-Bit QueryCell Marshaling Format Capability Negotiation

A COMA server MAY<281> support capability negotiation for the 64-bit QueryCell marshaling format (as specified in section 2.2.1.4) capability. If the server supports this capability negotiation and it is performed, the results determine the format that the server MUST accept for QueryCell structures in subsequent calls to the ICatalogTableInfo::GetClientTableInfo (section 3.1.4.7.1), ICatalogTableRead::ReadTable (section 3.1.4.8.1), and ICatalogTableWrite::WriteTable (section 3.1.4.9.1) methods.

This capability negotiation is initiated by the COMA client and is performed as follows:

  • The client sends the server a value indicating whether it supports the 64-bit QueryCell marshaling format in a call to ICatalog64BitSupport::Initialize64BitQueryCellSupport (section 3.1.4.6.2).

  • The server returns a value indicating whether it supports the 64-bit QueryCell marshaling format in the response to ICatalog64BitSupport::Initialize64BitQueryCellSupport.

If both client and server support the 64-bit QueryCell marshaling format, then the 64-bit format MUST be used, as specified in section 2.2.1.4.