<div class="content" name="GetHookSwitch" uuid="1d50a185-ec02-4199-a418-45b1cbf20258"><p>The GetHookSwitch packet is transmitted from a TAPI <a href="489de77f-16d8-4c4f-939a-f795e8b42893#gt_60e0e1fa-66fe-41e1-b5e3-ceab97e53506" data-linktype="relative-path">client</a> to a TAPI <a href="489de77f-16d8-4c4f-939a-f795e8b42893#gt_434b0234-e970-4e8c-bdfa-e16a30d96703" data-linktype="relative-path">server</a> in a <a href="489de77f-16d8-4c4f-939a-f795e8b42893#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">remote procedure call</a>.
Sending this packet MUST return the current hookswitch mode of the specified
open phone device.</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">Req_Func</td>
 </tr>
 <tr>
  <td colspan="32">Reserved1</td>
 </tr>
 <tr>
  <td colspan="32">hPhone</td>
 </tr>
 <tr>
  <td colspan="32">lpdwHookSwitchDevs</td>
 </tr>
 <tr>
  <td colspan="32">Reserved2</td>
 </tr>
 <tr>
  <td colspan="32">Reserved3</td>
 </tr>
 <tr>
  <td colspan="32">Reserved4</td>
 </tr>
 <tr>
  <td colspan="32">Reserved5</td>
 </tr>
 <tr>
  <td colspan="32">Reserved6</td>
 </tr>
 <tr>
  <td colspan="32">Reserved7</td>
 </tr>
 <tr>
  <td colspan="32">Reserved8</td>
 </tr>
 <tr>
  <td colspan="32">Reserved9</td>
 </tr>
 <tr>
  <td colspan="32">Reserved10</td>
 </tr>
 <tr>
  <td colspan="32">Reserved11</td>
 </tr>
 <tr>
  <td colspan="32">Reserved12</td>
 </tr>
</tbody></table><p><b>Req_Func (4 bytes): </b>The identifier of the
function that will be invoked on the remote server. This value MUST be set to
98.</p><dl>
<dd>
<p><b>Return Values</b></p>
</dd>
<dd>
<p>On completion of <a href="c28c36d0-579b-4e20-a100-f4e71012d5f8" data-linktype="relative-path">ClientRequest</a>, this field
MUST contain the result of the encapsulated telephony request. A value of 0
indicates success and a <a href="b1c6fae0-09ca-4f7b-85f6-1324376d231c" data-linktype="relative-path">PHONEERR_Constants</a>
value indicates failure. The remote server MUST complete this call
synchronously.</p>
</dd>
<dd>
<p>Returns 0 if the request succeeds or a negative
error number if an error occurs. The following table lists common return
values.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Name</p>
   </th>
   <th>
   <p>Value</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>PHONEERR_INVALPHONEHANDLE</td>
  <td>0x00000013</td>
 </tr><tr>
  <td>PHONEERR_NOMEM</td>
  <td>0x0000001A</td>
 </tr><tr>
  <td>PHONEERR_INVALPOINTER</td>
  <td>0x00000015</td>
 </tr><tr>
  <td>PHONEERR_RESOURCEUNAVAIL</td>
  <td>0x0000001F</td>
 </tr><tr>
  <td>PHONEERR_INVALPHONESTATE</td>
  <td>0x00000014</td>
 </tr><tr>
  <td>PHONEERR_OPERATIONFAILED</td>
  <td>0x0000001C</td>
 </tr><tr>
  <td>PHONEERR_OPERATIONUNAVAIL</td>
  <td>0x0000001D</td>
 </tr><tr>
  <td>PHONEERR_UNINITIALIZED</td>
  <td>0x00000022</td>
 </tr></tbody></table>
</dd></dl><p><b>Reserved1 (4 bytes): </b>An unsigned 32-bit
integer. MUST be set to zero when sent and MUST be ignored on receipt. </p><p><b>hPhone (4 bytes): </b>An <a href="0c93f481-3429-48c5-a9e6-f0568c4cabd9" data-linktype="relative-path">HPHONE</a>. The handle to the
open phone device. This field MUST have been obtained by sending the <a href="6b5ee45e-b5c8-4148-a9b2-b16b9b995c3f" data-linktype="relative-path">Open</a> packet.</p><p><b>lpdwHookSwitchDevs (4 bytes): </b>An unsigned
32-bit integer. Set to TAPI_NO_DATA (0xFFFFFFFF). Upon successful completion of
the request, this field contains the mode of the phone&#39;s hookswitch devices. If
a bit position is 0, the corresponding hookswitch device is onhook; if 1, the
microphone and or speaker part of the corresponding hookswitch device is
offhook.</p><p><b>Reserved2 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved3 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved4 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved5 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved6 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved7 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved8 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved9 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved10 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved11 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p><p><b>Reserved12 (4 bytes): </b>An unsigned 32-bit
integer. This field is used for padding and MUST be ignored on receipt. It can
be any value.</p></div>