public ErrorCodeValue GetSpecialTable(uint flags, ref STAT stat, ref uint version, out PropertyRowSet_r? rows)
{
ErrorCodeValue result;
byte[] auxIn = new byte[] { };
GetSpecialTableRequestBody getSpecialTableRequestBody = new GetSpecialTableRequestBody()
{
Flags = flags,
HasState = true,
State = stat,
HasVersion = true,
Version = version,
AuxiliaryBuffer = auxIn,
AuxiliaryBufferSize = (uint)auxIn.Length
};
ChunkedResponse chunkedResponse = this.SendAddressBookRequest(getSpecialTableRequestBody, RequestType.GetSpecialTable);
GetSpecialTableResponseBody getSpecialTableResponseBody = GetSpecialTableResponseBody.Parse(chunkedResponse.ResponseBodyRawData);
result = (ErrorCodeValue)getSpecialTableResponseBody.ErrorCode;
if (getSpecialTableResponseBody.HasRows)
{
PropertyRowSet_r newRows = AdapterHelper.ParsePropertyRowSet_r(getSpecialTableResponseBody.RowCount.Value, getSpecialTableResponseBody.Rows);
rows = newRows;
}
else
{
rows = null;
}
if (getSpecialTableResponseBody.HasVersion)
{
version = getSpecialTableResponseBody.Version.Value;
}
return result;
}