<div class="content" name="VARSTRING" uuid="6f9a33e6-6c4c-4d2a-91ee-fb1bf1e7fc20"><p>The VARSTRING packet is used for returning variably sized
strings. It is used both by the line device class and the phone device class.</p><table>
 <tbody><tr>
  <th><p><br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>1<br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>2<br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>3<br/>0</p></th>
  <th><p><br/>1</p></th>
 </tr>
 <tr>
  <td colspan="32">dwTotalSize</td>
 </tr>
 <tr>
  <td colspan="32">dwNeededSize</td>
 </tr>
 <tr>
  <td colspan="32">dwUsedSize</td>
 </tr>
 <tr>
  <td colspan="32">dwStringFormat</td>
 </tr>
 <tr>
  <td colspan="32">dwStringSize</td>
 </tr>
 <tr>
  <td colspan="32">dwStringOffset</td>
 </tr>
 <tr>
  <td colspan="32">VarData (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
</tbody></table><p><b>dwTotalSize (4 bytes): </b>The total size, in
bytes, allocated to this packet.</p><p><b>dwNeededSize (4 bytes): </b>The size, in bytes,
for this packet that is needed to hold all the returned information.</p><p><b>dwUsedSize (4 bytes): </b>The size, in bytes, of
the portion of this packet that contains useful information. </p><p><b>dwStringFormat (4 bytes): </b>The format of the
string. This member uses one of the <a href="5511d60f-9ae8-46b0-9fd2-cd37f0875dc3" data-linktype="relative-path">STRINGFORMAT_Constants</a>. </p><p><b>dwStringSize (4 bytes): </b>The size, in bytes, of
the string information, including the null terminator.</p><p><b>dwStringOffset (4 bytes): </b>The offset, from the
beginning of the packet to the variably sized device field containing the
string information. The size of the field is specified by <b>dwStringSize</b>. </p><p><b>VarData (variable): </b>The string information, as
specified by <b>dwStringOffset</b>. The encoding of the string is specified by <b>dwStringFormat</b>.</p><p>This packet is not extendible. </p><p>If a string cannot be returned in a variable packet, the <b>dwStringSize</b>
and <b>dwStringOffset</b> fields are set in one of the following ways:</p><ul><li><p><span><span> 
</span></span><b>dwStringSize</b> and <b>dwStringOffset</b> members are both
set to 0. </p>
</li><li><p><span><span> 
</span></span><b>dwStringOffset</b> is nonzero and dwStringSize is 0.</p>
</li><li><p><span><span> 
</span></span><b>dwStringOffset</b> is nonzero, <b>dwStringSize</b> is 1, and
the byte at the given offset is 0.</p>
</li></ul></div>