3.2.4.2 64-Bit QueryCell Marshaling Format Capability Negotiation

A COMA client MAY<357> attempt to perform capability negotiation for the 64-bit QueryCell marshaling format capability, as specified in section 2.2.1.4. If this capability negotiation is successfully performed, the results determine the format that the client MUST use 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. The 64-bit QueryCell marshaling format capability negotiation is described in more detail in section 3.1.4.2.

On successful completion of 64-bit QueryCell marshaling format capability negotiation, the client MUST set the 64-bit QueryCell format value in its per-session state to indicate the results of the negotiation.

If this capability negotiation fails because the COMA server does not implement the ICatalog64BitSupport interface, the COMA client SHOULD tolerate this failure and set the 64-bit QueryCell format value in its per-session state to false. The COMA client MUST make any subsequent calls as if the capability negotiation was not attempted, using the default 32-bit QueryCell marshaling format.