<div class="content" name="FAX_DEVICE_STATUS" uuid="d046fe44-a845-454b-94d0-2d6933f9c6d0"><p>The <b>FAX_DEVICE_STATUS</b> structure contains information
about the current status of a fax device. In addition to the status, the
structure includes data about whether the device is currently sending or
receiving a fax transmission, device and subscriber identifiers, sender and <a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_53dfe4f3-05d0-41aa-8217-ecd1962b340b" data-linktype="relative-path">recipient</a> names, and <a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_efaa1290-6d4b-4f44-9e84-35a867069d45" data-linktype="relative-path">routing</a> information.</p><p>The fax client application can call the <b>FAX_GetDeviceStatus</b>
(section <a href="583a0f28-f71c-4254-bf4b-421e96b2ace5" data-linktype="relative-path">3.1.4.1.38</a>)
function to retrieve status information for the fax device of interest. The
function returns the information in a <b>FAX_DEVICE_STATUS</b>.</p><p>This structure is also returned by the <b>FaxObs_GetDeviceStatus</b>
(section <a href="d7a466e6-8bb5-4dad-bd6d-1c8a12a67ec6" data-linktype="relative-path">3.1.4.2.13</a>)
method.</p><p>This data structure is custom marshaled as follows and uses
the custom-marshaling rules defined in section <a href="a660ed3e-062f-4b49-ab5b-0ba19ea7598d" data-linktype="relative-path">2.2.1</a>.</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">Fixed_Portion (88 bytes)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">Variable_Data (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
</tbody></table><p><b>Fixed_Portion (88 bytes):</b></p><dl>
<dd>
<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">SizeOfStruct</td>
 </tr>
 <tr>
  <td colspan="32">CallerIdOffset</td>
 </tr>
 <tr>
  <td colspan="32">CsidOffset</td>
 </tr>
 <tr>
  <td colspan="32">CurrentPage</td>
 </tr>
 <tr>
  <td colspan="32">DeviceId</td>
 </tr>
 <tr>
  <td colspan="32">DeviceNameOffset</td>
 </tr>
 <tr>
  <td colspan="32">DocumentNameOffset</td>
 </tr>
 <tr>
  <td colspan="32">JobType</td>
 </tr>
 <tr>
  <td colspan="32">PhoneNumberOffset</td>
 </tr>
 <tr>
  <td colspan="32">RoutingStringOffset</td>
 </tr>
 <tr>
  <td colspan="32">SenderNameOffset</td>
 </tr>
 <tr>
  <td colspan="32">RecipientNameOffset</td>
 </tr>
 <tr>
  <td colspan="32">Size</td>
 </tr>
 <tr>
  <td colspan="32">StartTime</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">Status</td>
 </tr>
 <tr>
  <td colspan="32">StatusStringOffset</td>
 </tr>
 <tr>
  <td colspan="32">SubmittedTime</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">TotalPages</td>
 </tr>
 <tr>
  <td colspan="32">TsidOffset</td>
 </tr>
 <tr>
  <td colspan="32">UserNameOffset</td>
 </tr>
</tbody></table>
</dd>
<dd>
<p><b>SizeOfStruct (4 bytes): </b>A
<b>DWORD</b> <a href="../ms-dtyp/cca27429-5689-4a16-b2b4-9325d93e4ba2" data-linktype="relative-path">[MS-DTYP]</a>
(section <a href="../ms-dtyp/262627d8-3418-4627-9218-4ffe110850b2" data-linktype="relative-path">2.2.9</a>)
that holds the size of the <b>Fixed_Portion</b> block, in bytes. This value
MUST be 88 bytes.</p>
</dd>
<dd>
<p><b>CallerIdOffset (4 bytes):
</b>Offset to the <b>CallerId</b> field in the <b>Variable_Data</b> portion of
the structure. If the <b>JobType</b> field is not equal to the JT_RECEIVE job
type, this field SHOULD be zero.</p>
</dd>
<dd>
<p><b>CsidOffset (4 bytes): </b>Offset
to the <b>Csid</b> field in the <b>Variable_Data</b> portion of the structure.</p>
</dd>
<dd>
<p><b>CurrentPage (4 bytes): </b>A
<b>DWORD</b> that holds the current page number of the fax transmission, if
any, that the fax device is currently sending or receiving. If the device is
not sending or receiving a fax, this field MUST be zero.</p>
</dd>
<dd>
<p><b>DeviceId (4 bytes): </b>A
<b>DWORD</b> that holds the line identifier for the fax device (port) of
interest.</p>
</dd>
<dd>
<p><b>DeviceNameOffset (4
bytes): </b>Offset to the <b>DeviceName</b> field in the <b>Variable_Data</b>
portion of the structure.</p>
</dd>
<dd>
<p><b>DocumentNameOffset (4
bytes): </b>Offset to the <b>DocumentName</b> field in the <b>Variable_Data</b>
portion of the structure.</p>
</dd>
<dd>
<p><b>JobType (4 bytes): </b>A <b>DWORD</b>
that holds the type of <a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_9369467f-ee6b-427f-9d5c-f9cacc40ae66" data-linktype="relative-path">fax
job</a> that is currently active on the device. This field is one of the
following values.</p>
<dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value/code</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>JT_UNKNOWN 0x00000000</td>
  <td>The fax device is in an unknown or idle state.</td>
 </tr><tr>
  <td>JT_SEND 0x00000001</td>
  <td>The fax device is sending a fax document.</td>
 </tr><tr>
  <td>JT_RECEIVE 0x00000002</td>
  <td>The fax device is receiving a fax document.</td>
 </tr></tbody></table>
</dd></dl></dd>
<dd>
<p><b>PhoneNumberOffset (4
bytes): </b>Offset to the <b>PhoneNumber</b> field in the <b>Variable_Data</b>
portion of the structure. If the <b>JobType</b> field is not equal to the
JT_SEND job type, this field SHOULD be zero.</p>
</dd>
<dd>
<p><b>RoutingStringOffset (4
bytes): </b>If the <b>JobType</b> field is not equal to the JT_RECEIVE job
type, this field SHOULD be zero. Otherwise, this field MAY be a nonzero offset
to the <b>RoutingString</b> field in the <b>Variable_Data</b> portion of the
structure.</p>
</dd>
<dd>
<p><b>SenderNameOffset (4
bytes): </b>Offset to the <b>SenderName</b> field in the <b>Variable_Data</b>
portion of the structure.</p>
</dd>
<dd>
<p><b>RecipientNameOffset (4
bytes): </b>Offset to the <b>RecipientName</b> field in the <b>Variable_Data</b>
portion of the structure.</p>
</dd>
<dd>
<p><b>Size (4 bytes): </b>A <b>DWORD</b>
that holds the size, in bytes, of the active fax document. If the <b>JobType</b>
field is JT_SEND, this field SHOULD contain the total size of the active fax
document being transmitted at the device, including the size of the cover page
and the size of the <a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_222c82b4-c682-4c5d-b500-a6f0a7b96d4f" data-linktype="relative-path">fax body</a>,
if present. Otherwise, this field SHOULD be zero.</p>
</dd>
<dd>
<p><b>StartTime (8 bytes): </b>A
<b>FILETIME</b> ([MS-DTYP] section <a href="../ms-dtyp/2c57429b-fdd4-488f-b5fc-9e4cf020fcdf" data-linktype="relative-path">2.3.3</a>)
structure that specifies the starting time of the current fax job. The time is
expressed in <a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_f2369991-a884-4843-a8fa-1505b6d5ece7" data-linktype="relative-path">Coordinated
Universal Time (UTC)</a>.</p>
</dd>
<dd>
<p><b>Status (4 bytes): </b>A <b>DWORD</b>
variable that holds a fax device status code or value. This field is one of the
following predefined device status codes.</p>
<dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value/code</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>FPS_DIALING 0x20000001</td>
  <td>The device is dialing a fax number.</td>
 </tr><tr>
  <td>FPS_SENDING 0x20000002</td>
  <td>The device is sending a fax document.</td>
 </tr><tr>
  <td>FPS_RECEIVING 0x20000004</td>
  <td>The device is receiving a fax document.</td>
 </tr><tr>
  <td>FPS_COMPLETED 0x20000008</td>
  <td>The device completed sending or receiving a fax transmission.</td>
 </tr><tr>
  <td>FPS_HANDLED 0x20000010</td>
  <td>The fax service processed the outbound fax document; the fax service provider (FSP) will transmit the fax document.</td>
 </tr><tr>
  <td>FPS_UNAVAILABLE 0x20000020</td>
  <td>The device is not available because it is in use by another application.</td>
 </tr><tr>
  <td>FPS_BUSY 0x20000040</td>
  <td>The device encountered a busy signal.</td>
 </tr><tr>
  <td>FPS_NO_ANSWER 0x20000080</td>
  <td>The receiving device did not answer the call.</td>
 </tr><tr>
  <td>FPS_BAD_ADDRESS 0x20000100</td>
  <td>The device dialed an invalid fax number.</td>
 </tr><tr>
  <td>FPS_NO_DIAL_TONE 0x20000200</td>
  <td>The sending device cannot complete the call because it does not detect a dial tone.</td>
 </tr><tr>
  <td>FPS_DISCONNECTED 0x20000400</td>
  <td>The fax call was disconnected by the sender or the caller.</td>
 </tr><tr>
  <td>FPS_FATAL_ERROR 0x20000800</td>
  <td>The device has encountered a fatal protocol error.</td>
 </tr><tr>
  <td>FPS_NOT_FAX_CALL 0x20001000</td>
  <td>The device received a call that was a data call or a voice call.</td>
 </tr><tr>
  <td>FPS_CALL_DELAYED 0x20002000</td>
  <td>The device delayed a fax call because the sending device received a busy signal multiple times. The device cannot retry the call because dialing restrictions exist (some countries and regions restrict the number of retry attempts when a number is busy).</td>
 </tr><tr>
  <td>FPS_CALL_BLACKLISTED 0x20004000</td>
  <td>The device could not complete a call because the telephone number was blocked or reserved; emergency numbers such as 911 are blocked.</td>
 </tr><tr>
  <td>FPS_INITIALIZING 0x20008000</td>
  <td>The device is initializing a call.</td>
 </tr><tr>
  <td>FPS_OFFLINE 0x20010000</td>
  <td>The device is offline and unavailable.</td>
 </tr><tr>
  <td>FPS_RINGING 0x20020000</td>
  <td>The device is ringing.</td>
 </tr><tr>
  <td>FPS_AVAILABLE 0x20100000</td>
  <td>The device is available.</td>
 </tr><tr>
  <td>FPS_ABORTING 0x20200000</td>
  <td>The device is aborting a fax job.</td>
 </tr><tr>
  <td>FPS_ROUTING 0x20400000</td>
  <td>The device is routing a received fax document.</td>
 </tr><tr>
  <td>FPS_ANSWERED 0x20800000</td>
  <td>The device answered a new call.</td>
 </tr></tbody></table>
</dd></dl></dd>
<dd>
<p><b>StatusStringOffset (4
bytes): </b>Offset to the <b>StatusString</b> field in the <b>Variable_Data</b>
portion of the structure. This field can be set to zero.<a id="Appendix_A_Target_3"></a><a aria-label="Product behavior note 3" href="056171e7-80bc-45ff-8107-66ba3abb2023#Appendix_A_3" data-linktype="relative-path">&lt;3&gt;</a></p>
</dd>
<dd>
<p><b>SubmittedTime (8 bytes): </b>A
<b>FILETIME</b> that holds the time the client submitted the fax document for
transmission to the <a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_0c5e7185-40c3-4e58-a8ac-7626ed078235" data-linktype="relative-path">fax
queue</a>. The time is expressed in UTC.</p>
</dd>
<dd>
<p><b>TotalPages (4 bytes): </b>A
<b>DWORD</b> that holds the total number of pages in the fax transmission.</p>
</dd>
<dd>
<p><b>TsidOffset (4 bytes): </b>Offset
to the <b>Tsid</b> field in the <b>Variable_Data</b> portion of the structure.</p>
</dd>
<dd>
<p><b>UserNameOffset (4 bytes):
</b>Offset to the <b>UserName</b> field in the <b>Variable_Data</b> portion of
the structure.</p>
</dd></dl><p><b>Variable_Data (variable):</b></p><dl>
<dd>
<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">CallerId (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">Csid (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">DeviceName (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">DocumentName (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">PhoneNumber (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">RoutingString (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">SenderName (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">RecipientName (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">StatusString (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">Tsid (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">UserName (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
</tbody></table>
</dd>
<dd>
<p><b>CallerId (variable): </b>If
the <b>JobType</b> field is equal to the JT_RECEIVE job type, this is a
null-terminated character string that contains the <b>caller ID</b> of the
calling device that sent the active fax document.</p>
</dd>
<dd>
<p><b>Csid (variable): </b>A
null-terminated character string that holds the called subscriber identifier of
the device.</p>
</dd>
<dd>
<p><b>DeviceName (variable): </b>A
null-terminated character string that holds the name of the fax device of
interest.</p>
</dd>
<dd>
<p><b>DocumentName (variable): </b>A
null-terminated character string that holds the document name to associate with
the fax document that the device is currently sending or receiving. </p>
</dd>
<dd>
<p><b>PhoneNumber (variable): </b>If
the <b>JobType</b> field is equal to the JT_SEND job type, this is a
null-terminated character string that holds the fax number dialed for the
outgoing fax transmission.</p>
</dd>
<dd>
<p><b>RoutingString (variable):
</b>If the <b>JobType</b> field is equal to the JT_RECEIVE job type, this is a
null-terminated character string that holds the <b>routing string</b> (section <a href="bd422bcf-7ce8-4576-addb-89345ea84f9f" data-linktype="relative-path">3.1.1</a>) for an incoming
fax.</p>
</dd>
<dd>
<p><b>SenderName (variable): </b>A
null-terminated character string that holds the name of the sender who
initiated the fax transmission.</p>
</dd>
<dd>
<p><b>RecipientName (variable):
</b>A null-terminated character string that holds the name of the recipient of
the fax transmission.</p>
</dd>
<dd>
<p><b>StatusString (variable): </b>A
null-terminated character string that holds a textual description of the fax
device status.</p>
</dd>
<dd>
<p><b>Tsid (variable): </b>A
null-terminated character string that holds the <a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_3b1ad462-95fc-4739-b942-4a5670d6ae34" data-linktype="relative-path">transmitting subscriber
identifier (TSID)</a>. This identifier is usually a telephone number. </p>
</dd>
<dd>
<p><b>UserName (variable): </b>A
null-terminated character string that holds the name of the client&#39;s fax user
account that submitted the active fax job. When this structure is returned by
the <b>FAX_GetDeviceStatus</b> (section 3.1.4.1.38) method, this account is the
client&#39;s fax user account that called the <b>FAX_SendDocumentEx</b> (section <a href="bac2e95f-f18b-448f-bb42-cc63b6ff04b2" data-linktype="relative-path">3.1.4.1.73</a>) method. When
this structure is returned by the <b>FaxObs_GetDeviceStatus</b> (section
3.1.4.2.13) method, this account is the client&#39;s <b>Fax User Account</b> that
called the <b>FaxObs_SendDocument</b> (section <a href="21b87199-d4e7-472c-9190-90c6bb16d947" data-linktype="relative-path">3.1.4.2.7</a>) method.</p>
</dd></dl></div>