7 Appendix B: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

  • Microsoft BackOffice Server 2000

  • Microsoft Small Business Server 2000

  • Windows Small Business Server 2003 (Windows SBS) server software

  • Windows Home Server server software

  • Windows NT operating system

  • Windows 2000 operating system

  • Windows XP operating system

  • Windows Server 2003 operating system

  • Windows Vista operating system

  • Windows Server 2008 operating system

  • Windows 7 operating system

  • Windows Server 2008 R2 operating system

  • Windows Home Server 2011 server software

  • Windows 8 operating system

  • Windows Server 2012 operating system

  • Windows 8.1 operating system

  • Windows Server 2012 R2 operating system

  • Windows 10 operating system

  • Windows Server 2016 operating system

  • Windows Server 2019 operating system

  • Windows Server 2022 operating system

  • Windows 11 operating system

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 2.1: In Windows, the fax client opens the underlying RPC over SMB transport for communication with the fax server before calling FAX_ConnectFaxServer (section 3.1.4.1.10) or FAX_ConnectionRefCount (section 3.1.4.1.11) with a Connect argument of Connect (0x00000001) to connect with the fax server. The fax client closes the transport if the call made to connect to the fax server fails; otherwise, the fax client closes the transport after calling FAX_ConnectionRefCount with a Connect argument of Disconnect (0x00000000) to disconnect from the fax server.

The fax server opens the underlying RPC over SMB transport for communication with the fax client acting as an RPC server when the fax server executes FAX_StartServerNotification (section 3.1.4.1.100), FAX_StartServerNotificationEx (section 3.1.4.1.101), or FAX_StartServerNotificationEx2 (section 3.1.4.1.102) to connect to the fax client, before calling FAX_OpenConnection (section 3.2.4.5). The fax server closes the transport if the method call made to connect to the fax client fails; otherwise, the fax server closes the transport when the fax server executes FAX_EndServerNotification (section 3.1.4.1.17) to disconnect from the fax client, after calling FAX_CloseConnection (section 3.2.4.4).

<2> Section 2.2.6: The JT_BROADCAST (0x00000020) job type is not defined or used in Windows NT, Windows 2000, BackOffice Server 2000, and Small Business Server 2000.

<3> Section 2.2.10: In Windows, the StatusStringOffset field is not used and is set to zero. The device status is indicated by the Status field.

<4> Section 2.2.11: On Windows, the log entries are events written to the Windows event log using the ReportEvent function described in [MSDN-REPEV]. Each logging category configured through the Category field of the FAX_LOG_CATEGORY (section 2.2.11) structure is passed as the wCategory parameter to the respective ReportEvent function call.

<5> Section 2.2.25: On Windows, the full paths to the activity logging files are [lpwstrDBPath]\InboxLOG.txt for the incoming activity and [lpwstrDBPath]\OutboxLOG.txt for the outgoing activity, where [lpwstrDBPath] is the directory name indicated by the lpwstrDBPath field of the FAX_ACTIVITY_LOGGING_CONFIGW (section 2.2.25) structure.

<6> Section 2.2.28: The fax server implementation of the FAX_SetConfiguration (section 3.1.4.1.76) method ignores the value of the ArchiveOutgoingFaxes field of the FAX_CONFIGURATIONW (section 2.2.28) structure. This feature is not supported on the following versions of Windows: BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, Windows XP, or Windows Server 2003.

<7> Section 2.2.28: The fax server implementation of the FAX_SetConfiguration (section 3.1.4.1.76) method ignores the value of the ArchiveDirectoryOffset field of the FAX_CONFIGURATIONW (section 2.2.28) structure. This feature is not supported on the following versions of Windows: BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, Windows XP, or Windows Server 2003.

<8> Section 2.2.29: The fax server implementation of the FAX_GetConfiguration (section 3.1.4.1.36) method always sets to zero the value of the ArchiveDirectoryOffset field of the _FAX_CONFIGURATIONW (section 2.2.29) structure's Fixed_Portion block. This feature is not supported on the following versions of Windows: BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, Windows XP, or Windows Server 2003.

<9> Section 2.2.30: In Windows, this parameter holds the path to the FSP DLL.

<10> Section 2.2.36: The JT_BROADCAST (0x00000020) job type is not defined or used in Windows NT, Windows 2000, BackOffice Server 2000, and Small Business Server 2000.

<11> Section 2.2.49: In Windows, this is version information of the fax routing extension's binary.

<12> Section 2.2.52: The FAX_ERR_SRV_OUTOFMEMORY fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_WINSTATION_NAME_INVALID defined in [MS-ERREF] section 2.2.

<13> Section 2.2.52: The FAX_ERR_GROUP_NOT_FOUND fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_INVALID_PD defined in [MS-ERREF] section 2.2.

<14> Section 2.2.52: The FAX_ERR_BAD_GROUP_CONFIGURATION fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_PD_NOT_FOUND defined in [MS-ERREF] section 2.2.

<15> Section 2.2.52: The FAX_ERR_GROUP_IN_USE fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_WD_NOT_FOUND defined in [MS-ERREF] section 2.2.

<16> Section 2.2.52: The FAX_ERR_RULE_NOT_FOUND fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY defined in [MS-ERREF] section 2.2.

<17> Section 2.2.52: The FAX_ERR_DIRECTORY_IN_USE fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_CLOSE_PENDING defined in [MS-ERREF] section 2.2.

<18> Section 2.2.52: The FAX_ERR_FILE_ACCESS_DENIED fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_NO_OUTBUF defined in [MS-ERREF] section 2.2.

<19> Section 2.2.52: The FAX_ERR_MESSAGE_NOT_FOUND fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_MODEM_INF_NOT_FOUND defined in [MS-ERREF] section 2.2.

<20> Section 2.2.52: The FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_INVALID_MODEMNAME defined in [MS-ERREF] section 2.2.

<21> Section 2.2.52: The FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_MODEM_RESPONSE_ERROR defined in [MS-ERREF] section 2.2.

Windows implementations of the fax service check local configuration data, including policy information and operating system information, to determine whether the service is running on a client operating system or a server operating system. The Windows Client operating system returns an error upon receipt of the following method calls:

The server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 to clients. The server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to clients running other protocol versions.

<22> Section 2.2.52: The FAX_ERR_VERSION_MISMATCH fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_MODEM_RESPONSE_TIMEOUT defined in [MS-ERREF] section 2.2.

<23> Section 2.2.52: The FAX_ERR_RECIPIENTS_LIMIT fax-specific error code uses the same numeric value as the standard Windows error code ERROR_CTX_MODEM_RESPONSE_NO_CARRIER defined in [MS-ERREF] section 2.2.

<24> Section 2.2.57: In Windows, this indicates that an error was encountered while dynamically linking to one of the provider's DLL mandatory export functions.

<25> Section 2.2.63: The FAX_ENUM_EVENT_TYPE enumeration is not defined or used in Windows NT, Windows 2000, BackOffice Server 2000, or Small Business Server 2000.

<26> Section 2.2.63: FAX_EVENT_TYPE_LEGACY enumeration value is not supported on the following versions of Windows: BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, and Windows XP.

<27> Section 2.2.63: FAX_EVENT_TYPE_LOCAL_ONLY enumeration value is supported in Windows XP.

<28> Section 2.2.75: For Windows, the operating system SKU versions are identified as follows:

  • PRODUCT_SKU_UNKNOWN: The operating system is unknown.

  • PRODUCT_SKU_PERSONAL: Windows XP Home Edition operating system.

  • PRODUCT_SKU_PROFESSIONAL: Windows XP Professional operating system.

  • PRODUCT_SKU_SERVER: Windows Server 2003 Standard Edition operating system.

  • PRODUCT_SKU_ADVANCED_SERVER: Windows Server 2003 Advanced Edition.

  • PRODUCT_SKU_DATA_CENTER: Windows Server 2003 Datacenter Edition operating system.

  • PRODUCT_SKU_DESKTOP_EMBEDDED: Windows XP Embedded Edition.

  • PRODUCT_SKU_SERVER_EMBEDDED: Windows Server 2003 Embedded Edition.

  • PRODUCT_SKU_WEB_SERVER: Windows Server 2003 Web Edition operating system.

<29> Section 2.2.76:  DRT_MSGBOX is available on BackOffice Server 2000, Small Business Server 2000, Windows XP, Windows Server 2003, Windows Home Server, and Windows SBS 2003.

<30> Section 2.2.85: On Windows, FAX_API_VERSION_0 (0x00000000) is the fax API version used for Windows NT, Windows 2000, BackOffice Server 2000, and Small Business Server 2000. FAX_API_VERSION_1 (0x00010000) is used for Windows XP. FAX_API_VERSION_2 (0x00020000) is used for Windows Server 2003, Windows Home Server, and Windows SBS 2003. FAX_API_VERSION_3 (0x00030000) is used for all other implementations of Windows.

<31> Section 2.2.87: For more information about the registration of routing extensions on Windows, see [MSDN-FRE].

<32> Section 3.1.1: In Windows, the fax server initializes the Archive Age Limit setting to a value of 0 (disabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\ArchiveAgeLimit.

<33> Section 3.1.1: In Windows NT 4.0 operating system, the Archive Enabled setting is disabled by default.

<34> Section 3.1.1: In Windows, the fax server initializes the Archive Enabled setting to a value of 1 (enabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\UseArchive.

<35> Section 3.1.1: In Windows, the fax server initializes the automatic account creation setting to a value of 1 (enabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\AutoCreateAccountOnConnect.

<36> Section 3.1.1: In Windows, the fax server initializes the branding setting to a value of 1 (enabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\Branding.

<37> Section 3.1.1: In Windows, the configuration of the routing rules is initialized to one rule for the group name "<All devices>" and is saved in Registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\Outbound Routing\Rules\.

<38> Section 3.1.1: In Windows, the configuration of the delivery receipt support setting is saved in Registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\Receipts\.

<39> Section 3.1.1: In Windows, the fax server ignores the dirty days setting and uses instead, for the same purpose, the queue age limit setting.

<40> Section 3.1.1: In Windows, the default location of the Fax Archive Folder is at %CSIDL_COMMON_APPDATA%\Microsoft\Windows NT\MSFax\, containing a subfolder named Inbox for the Incoming Archive and another subfolder named SentItems for the Outgoing Archive, where %CSIDL_COMMON_APPDATA% refers to the special Windows folder identified by CSIDL_COMMON_APPDATA described in [MSDN-CSIDL].

<41> Section 3.1.1: In Windows, the fax server is initialized by default without any fax ports. When one or more fax ports are added, the fax server saves the fax port configuration in Registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\{F10A5326-0261-4715-B367-2970427BBD99}\.

<42> Section 3.1.1: In Windows, a fax print queue is locally installed on the client computer with the Microsoft Fax printer driver. The fax client prints to the local Microsoft Fax printer driver using the FaxStartPrintJob and FaxPrintCoverPage Fax Client API methods (for more information, see [MSDN-FSCAR]) to a local TIFF file, or the client uses for the same purpose the Print Client API methods (for more information, see [MSDN-PRNAPI]) such as OpenPrinter, ClosePrinter, or StartDoc to print to the Microsoft Fax printer driver as the client would print to any generic printer device.

<43> Section 3.1.1: In Windows, the configuration of the fax routing extensions and the fax routing methods is initialized to the default Microsoft Routing Extension containing the default routing methods listed in section 2.2.87, and is saved in Registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\Routing Extensions\.

<44> Section 3.1.1: In Windows, the configuration of the fax routing extensions and the fax routing methods is initialized to the default Microsoft Routing Extension containing the default routing methods listed in section 2.2.87 and is saved in Registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\Routing Extensions\.

<45> Section 3.1.1: In Windows, the fax server initializes the fax transmission retries setting to a value of 3 and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\Retries.

<46> Section 3.1.1: In Windows, the fax server initializes the fax transmission retry delay to a value of 10 (minutes) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\Fax\Retry Delay.

<47> Section 3.1.1: In Windows, when the fax server role is installed, the user is asked to select and confirm which of the user accounts currently available on the server are to be given fax permissions along with the local administrator account, which is selected by default; once a selection is made, the fax server creates new fax user accounts for these user accounts, using the default fax access rights described in section 3.1.4.1.12.

<48> Section 3.1.1: In Windows, the fax server initializes the incoming fax viewing permission setting to a value of 1 (enabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\IncomingFaxesArePublic.

<49> Section 3.1.1: The JT_BROADCAST (0x00000020) job type is not defined or used in Windows NT, Windows 2000, BackOffice Server 2000, and Small Business Server 2000.

<50> Section 3.1.1: In Windows, the fax server initializes the personal cover page support setting to a value of 1 (enabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\AllowPersonalCoverPages.

<51> Section 3.1.1: In Windows, the fax server initializes the profile name setting to an empty character string value (meaning that no MAPI profile is currently selected) and saves the setting to Registry as a REG_SZ value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\Routing\Profile Name.

<52> Section 3.1.1: In Windows, the fax server initializes the queue age limit setting to a value of 0 (disabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\QueueAgeLimit.

<53> Section 3.1.1: In Windows, the fax server initializes the Queue State to a value of 0x00000000 (both the incoming and outgoing queues are unblocked) and persists the setting in Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\QueueState.

<54> Section 3.1.1: In Windows, the routing group configuration is initialized to the default "<All devices>" group and is saved in Registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\Outbound Routing\Groups\.

<55> Section 3.1.1: In Windows, the fax server implementation does not support routing strings.

<56> Section 3.1.1: In Windows, the Incoming Queue and the Outgoing Queue are both stored under the same server queue directory, and the location of the server queue directory is at % CSIDL_COMMON_APPDATA%\Microsoft\Windows NT\MSFax\Queue\, where %CSIDL_COMMON_APPDATA% refers to the special Windows folder identified by CSIDL_COMMON_APPDATA described in [MSDN-CSIDL].

<57> Section 3.1.1: In Windows, the fax server initializes the size quota high watermark setting to a value of 0 (disabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\HighWatermark.

<58> Section 3.1.1: In Windows, the fax server initializes the size quota low watermark setting to a value of 0 (disabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\LowWatermark.

<59> Section 3.1.1: In Windows, the fax server initializes the size quota warning setting to a value of 0 (disabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\SizeQuotaWarn.

<60> Section 3.1.1: In Windows, the fax server initializes the start cheap time setting to a value of zero hours, zero minutes and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\StartCheapTime.

<61> Section 3.1.1: In Windows, the fax server initializes the stop cheap time setting to a value of zero hours, zero minutes and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\StopCheapTime.

<62> Section 3.1.1: In Windows, the fax server initializes the use device's TSID setting to a value of 1 (enabled) and saves the setting to Registry as a REG_DWORD value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\UseDeviceTsid.

<63> Section 3.1.4.1: Opnums reserved for local use apply to Windows as follows.

Opnum

Description

79

Only used locally by Windows; never used remotely on the wire.

<64> Section 3.1.4.1.1: In Windows, the maximum size of each part (chunk) copied in one single FAX_WriteFile (section 3.1.4.1.105) or FAX_ReadFile (section 3.1.4.1.66) method call is 16,384 bytes.

<65> Section 3.1.4.1.3: The implementation of the FAX_AccessCheck (section 3.1.4.1.3) method checks for the presence of a valid fax user account and returns ERROR_ACCESS_DENIED if the calling user (the user logged on the client computer at the time the FAX_AccessCheck request is made) does not have a valid fax user account on the server. This feature is not supported on the following versions of Windows: BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, Windows XP, and Windows Server 2003.

<66> Section 3.1.4.1.3: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<67> Section 3.1.4.1.5: This method causes the server to create a registry entry for the newly added group in the system registry. If a group with a blank name ("") is added, no new registry key is added. This is because a registry key requires at least one character in order to exist in the registry. If a group with a blank name is added, the server returns ERROR_ACCESS_DENIED when the client calls FAX_RemoveOutboundGroup (section 3.1.4.1.71).

<68> Section 3.1.4.1.5: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<69> Section 3.1.4.1.6: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<70> Section 3.1.4.1.7: The FAX_CheckServerProtSeq method is supported on BackOffice Server 2000, Small Business Server 2000, Windows NT, Windows 2000, and Windows XP. The method returns ERROR_NOT_SUPPORTED for all versions of Windows that are not supported.

<71> Section 3.1.4.1.9: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<72> Section 3.1.4.1.9: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<73> Section 3.1.4.1.11: The FAX_ConnectionRefCount method is not implemented in BackOffice Server 2000, Small Business Server 2000, Windows NT, or Windows 2000.

<74> Section 3.1.4.1.11: In Windows, the fax print queues cannot be shared on the Small Business Server products.

<75> Section 3.1.4.1.11: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<76> Section 3.1.4.1.11: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<77> Section 3.1.4.1.12: In Windows Server 2003, Windows Home Server, and Windows SBS 2003, the default fax user access rights applied by the fax server to a new fax user account are the following.

Authenticated user identity

Default fax user access rights

Administrator

WRITE_OWNER |

WRITE_DAC |

FAX_GENERIC_ALL

Standard user

Same as in the FAX_CreateAccount method (section 3.1.4.1.12)

Interactive logon user

READ_CONTROL |

FAX_ACCESS_SUBMIT |

FAX_ACCESS_SUBMIT_NORMAL |

FAX_ACCESS_SUBMIT_HIGH |

FAX_ACCESS_QUERY_CONFIG |

FAX_ACCESS_MANAGE_RECEIVE_FOLDER |

FAX_ACCESS_QUERY_JOBS |

FAX_ACCESS_MANAGE_JOBS |

FAX_ACCESS_QUERY_OUT_ARCHIVE |

FAX_ACCESS_QUERY_IN_ARCHIVE

In Windows Vista and Windows Server 2008, new fax user accounts created for interactive logon users do not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER access rights, all other default fax access rights being the ones described in section 3.1.4.1.12.

In Windows NT, Windows 2000, Small Business Server 2000, BackOffice Server 2000, and Windows XP, the default fax user access rights applied by the fax server to a new fax user account are the following.

Authenticated user identity

Default fax user access rights

Administrator

WRITE_OWNER |

FAX_ACCESS_SUBMIT |

FAX_ACCESS_SUBMIT_NORMAL |

FAX_ACCESS_SUBMIT_HIGH |

FAX_ACCESS_QUERY_JOBS |

FAX_ACCESS_MANAGE_JOBS |

FAX_ACCESS_QUERY_CONFIG |

FAX_ACCESS_MANAGE_CONFIG |

FAX_ACCESS_QUERY_IN_ARCHIVE |

FAX_ACCESS_MANAGE_IN_ARCHIVE |

FAX_ACCESS_QUERY_OUT_ARCHIVE |

FAX_ACCESS_MANAGE_OUT_ARCHIVE

Standard user

Same as in section 3.1.4.1.12

Interactive logon user

READ_CONTROL |

FAX_ACCESS_SUBMIT |

FAX_ACCESS_SUBMIT_NORMAL |

FAX_ACCESS_SUBMIT_HIGH |

FAX_ACCESS_QUERY_CONFIG |

FAX_ACCESS_QUERY_JOBS |

FAX_ACCESS_MANAGE_JOBS |

FAX_ACCESS_QUERY_OUT_ARCHIVE |

FAX_ACCESS_QUERY_IN_ARCHIVE

<78> Section 3.1.4.1.15: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<79> Section 3.1.4.1.16: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<80> Section 3.1.4.1.16: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<81> Section 3.1.4.1.17: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<82> Section 3.1.4.1.17: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<83> Section 3.1.4.1.18: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<84> Section 3.1.4.1.18: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<85> Section 3.1.4.1.18: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<86> Section 3.1.4.1.20: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<87> Section 3.1.4.1.21: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<88> Section 3.1.4.1.22: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<89> Section 3.1.4.1.24: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<90> Section 3.1.4.1.25: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<91> Section 3.1.4.1.25: The Windows fax server implementations do not validate the hEnum parameter except for the NULL check.

<92> Section 3.1.4.1.26: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<93> Section 3.1.4.1.26: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<94> Section 3.1.4.1.27: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<95> Section 3.1.4.1.28: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<96> Section 3.1.4.1.29: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<97> Section 3.1.4.1.30: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<98> Section 3.1.4.1.31: The FAX_EnumRoutingMethods method is not implemented in BackOffice Server 2000, Small Business Server 2000, Windows Home Server, Windows NT, or Windows 2000.

<99> Section 3.1.4.1.31: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<100> Section 3.1.4.1.31: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server. 

<101> Section 3.1.4.1.33: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server. 

<102> Section 3.1.4.1.34: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server. 

<103> Section 3.1.4.1.35: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<104> Section 3.1.4.1.36: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<105> Section 3.1.4.1.37: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<106> Section 3.1.4.1.38: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<107> Section 3.1.4.1.38: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<108> Section 3.1.4.1.38: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<109> Section 3.1.4.1.39: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server if any of the following parameters are set to a NULL pointer value:

  • lpcwstrNameGUID

  • ppData

  • lpdwDataSize

<110> Section 3.1.4.1.41: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<111> Section 3.1.4.1.42: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<112> Section 3.1.4.1.43: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<113> Section 3.1.4.1.44: Fax servers running on 64-bit Windows operating systems send additional padding bytes between the last Fixed_Portion block of the last FAX_LOG_CATEGORY (section 2.2.11) element in the array and the Variable_Data block. The number of additional padding bytes is equal to the number of FAX_LOG_CATEGORY elements multiplied by 4 bytes. These additional padding bytes are ignored.

<114> Section 3.1.4.1.44: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<115> Section 3.1.4.1.44: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<116> Section 3.1.4.1.45: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<117> Section 3.1.4.1.46: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<118> Section 3.1.4.1.46: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<119> Section 3.1.4.1.47: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<120> Section 3.1.4.1.48: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<121> Section 3.1.4.1.49: In Windows, this error code is returned only by the Windows Server 2003 fax server implementation.

<122> Section 3.1.4.1.50: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<123> Section 3.1.4.1.51: The Windows implementation of FAX_GetPort does not require FAX_OpenPort (section 3.1.4.1.65) to be executed with the PORT_OPEN_QUERY access flag.

<124> Section 3.1.4.1.51: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<125> Section 3.1.4.1.51: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<126> Section 3.1.4.1.51: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<127> Section 3.1.4.1.52: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<128> Section 3.1.4.1.53: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<129> Section 3.1.4.1.54: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<130> Section 3.1.4.1.55: The DRT_MSGBOX delivery method is supported in BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, Windows XP, or Windows Server 2003.

<131> Section 3.1.4.1.57: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<132> Section 3.1.4.1.57: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<133> Section 3.1.4.1.57: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<134> Section 3.1.4.1.59: Implemented in Windows XP, Windows Server 2003, Windows Home Server, and Windows SBS 2003.

<135> Section 3.1.4.1.63: In Windows, the fax server enumerates printers by calling the EnumPrinters function [MSDN-EnumPrinters] supplying the OR combination of the PRINTER_ENUM_LOCAL and PRINTER_ENUM_CONNECTIONS values for the Flags argument, a NULL pointer value for the Name argument, and a value of 2 for the Level argument.

<136> Section 3.1.4.1.63: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<137> Section 3.1.4.1.65: The Windows implementation of FAX_OpenPort does not validate the value of the Flags argument unless PORT_OPEN_MODIFY is requested and the specified port is in use. In this case the server returns ERROR_INVALID_HANDLE.

<138> Section 3.1.4.1.65: The Windows implementation of FAX_GetPort (section 3.1.4.1.51) does not require that FAX_OpenPort is executed with the PORT_OPEN_QUERY access flag.

<139> Section 3.1.4.1.65: The Windows implementation of FAX_SetPort (section 3.1.4.1.88) does not require that FAX_OpenPort is executed with the PORT_OPEN_MODIFY access flag.

<140> Section 3.1.4.1.65: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<141> Section 3.1.4.1.66: In Windows, the maximum size of each part (chunk) copied in one single FAX_ReadFile method call is 16,384 bytes.

<142> Section 3.1.4.1.66: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<143> Section 3.1.4.1.66: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<144> Section 3.1.4.1.67: Supported only by server editions of Windows while the client versions of Windows will return ERROR_INVALID_OPERATION.

<145> Section 3.1.4.1.68: Implemented in Windows Server 2003, Windows Home Server, Windows SBS 2003, Windows XP, Windows Vista, and Windows Server 2008 operating system.

<146> Section 3.1.4.1.68: The Folder parameter is used in the following versions of Windows: BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, Windows XP, and Windows Server 2003.

<147> Section 3.1.4.1.68: In Windows, the Folder parameter refreshes the root archive folder. Set the value to a valid enumeration value from FAX_ENUM_MESSAGE_FOLDER (section 2.2.2) for the RPC call to succeed.

<148> Section 3.1.4.1.69: In Windows, this is a path to the FSP DLL.

<149> Section 3.1.4.1.71: In Windows operating systems, if a group with a blank name ("") has already been added and this method is used to remove this group (lpwstrGroupName = ""), this method will return ERROR_ACCESS_DENIED. This is a result of an attempt to remove the blank registry key corresponding to the blank group name in the system registry. Blank registry keys do not exist, so the registry path will actually refer to the parent registry entry, which the user does not have permission to remove.

<150> Section 3.1.4.1.71: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<151> Section 3.1.4.1.72: When the fax service is running on a Client Windows build (not a Server build) and the Fax Service Manager is not installed, the Windows implementation of the fax service returns the FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU error to FAX_RemoveOutboundRule (section 3.1.4.1.72) calls (translated to ERROR_INVALID_PARAMETER for FAX_API_VERSION_0 clients). On Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2, the fax service checks whether the "Microsoft-Windows-Fax-Common-EnableServerPolicy" policy exists and is set to a nonzero value. If the policy exists and is set to a nonzero value, the fax service determines that the service is running on a Server Windows build and allows the FAX_RemoveOutboundRule call. If the policy is set to a value of zero or if the policy does not exist, the fax service determines that the service is running on a Client Windows build and fails the FAX_RemoveOutboundRule call with the FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU/ERROR_INVALID_PARAMETER error. On all other Windows versions, the fax service checks the operating system information for the computer it is running on to determine if the service is running on a Server or Client Windows build. If the fax service is running on a Client Windows build, the fax service fails the FAX_RemoveOutboundRule call with the FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU/ERROR_INVALID_PARAMETER error.

<152> Section 3.1.4.1.73:  Windows implementations returns ERROR_NOT_SUPPORTED to FAX_SendDocumentEx (section 3.1.4.1.73) for the request described by a non-NULL hJob and a dwReserved[0] value of 0xFFFF1234 in the lpJobParams structure argument.

<153> Section 3.1.4.1.73: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<154> Section 3.1.4.1.73: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<155> Section 3.1.4.1.76: The fax server implementation of FAX_SetConfiguration ignores the ArchiveOutgoingFaxes and ArchiveDirectory members of the FAX_CONFIGURATIONW (section 2.2.28) structure, which are submitted as the FaxConfig parameter. This feature is not supported on BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, Windows XP, and Windows Server 2003.

<156> Section 3.1.4.1.76: In Windows, the fax server implementation of FAX_SetConfiguration does not validate the FAX_TIME (section 2.2.61) values submitted by the client through the StartCheapTime and StopCheapTime FAX_CONFIGURATIONW (section 2.2.28) structure members. The Fax Client API method Fax_SetConfiguration (for more details, see [MSDN-FSCAR]) does validate the same FAX_CONFIGURATIONW members by checking that each Hour FAX_TIME member value is smaller than or equal to 24 hours and that each Minute FAX_TIME member value is smaller than or equal to 60 minutes.

<157> Section 3.1.4.1.76: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<158> Section 3.1.4.1.76: The fax server implementation of FAX_SetConfiguration ignores the ArchiveOutgoingFaxes and ArchiveDirectory members of the FAX_CONFIGURATIONW (section 2.2.28) structure, which are submitted as the FaxConfig parameter. This feature is not supported on BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, Windows XP, and Windows Server 2003.

<159> Section 3.1.4.1.77: In Windows, the registry entry set by this method is HKEY_LOCAL_MACHINE\Software\Microsoft\Fax\Client\CfgWzdrDevice .

<160> Section 3.1.4.1.78: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<161> Section 3.1.4.1.79: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server if any of the following parameters are set to NULL (or 0, in the case of dwDataSize):

  • pData

  • dwDataSize

<162> Section 3.1.4.1.84: The FAX_SetMessage method is not supported on BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows NT, Windows 2000, Windows XP, and Windows Server 2003.

<163> Section 3.1.4.1.85: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<164> Section 3.1.4.1.86: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<165> Section 3.1.4.1.88: The Windows implementation of FAX_SetPort does not require FAX_OpenPort (section 3.1.4.1.65) to be executed with the PORT_OPEN_MODIFY access flag.

<166> Section 3.1.4.1.88: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<167> Section 3.1.4.1.88: The maximum number of devices is set by policy on all versions of Windows, with the exceptions listed in the table below. The name of this policy is "Microsoft-Windows-Fax-Common-DeviceLimit", and the default value is 1 device.

Platform Configuration

Device Limit

Windows XP and Windows Server 2003 Web Edition

The device limit is hard coded and is set to one device.

Windows 2000 and BackOffice Server 2000

The device limit is hard coded and is set to two devices.

Windows Server 2003, Windows Server 2003 Standard Edition, Windows Home Server, and Small Business Server 2000

The device limit is hard coded and is set to four devices.

Windows 2000 Communications Server Edition

The device limit is hard coded to 0xFFFFFFFF.

Windows NT, Windows Server 2003 Enterprise Edition, and Windows Server 2003 Datacenter Edition

There is no maximum device limit.

.

<168> Section 3.1.4.1.89: The maximum number of devices is set by policy on all versions of Windows, with the exceptions listed in the table below. The name of this policy is "Microsoft-Windows-Fax-Common-DeviceLimit", and the default value is 1 device.

Platfandm Configuration

Device Limit

Windows XP and Windows Server 2003 Web Edition

The device limit is hard coded and is set to one device.

Windows 2000 and BackOffice Server 2000

The device limit is hard coded and is set to two devices.

Windows Server 2003, Windows Server 2003 Standard Edition, and Small Business Server 2000

The device limit is hard coded and is set to four devices.

Windows 2000

The device limit is hard coded to 0xFFFFFFFF.

Windows NT, Windows Server 2003, and Windows Server 2003 Datacenter Edition

There is no maximum device limit.

<169> Section 3.1.4.1.91: The fax server implementations on BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows 2000, and Windows Server 2003 do not support email receipts. DRT_MSGBOX receipts are supported.

<170> Section 3.1.4.1.91: The fax server implementations on BackOffice Server 2000, Small Business Server 2000, Windows SBS 2003, Windows Home Server, Windows 2000, and Windows Server 2003 do not support DRT_MSGBOX receipts.

<171> Section 3.1.4.1.91: A fax server running on a Windows client operating system returns an error on receipt of this method call. The fax server returns ERROR_INVALID_PARAMETER to FAX_API_VERSION_0 protocol clients. The fax server returns FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU to protocol clients running other protocol versions.

<172> Section 3.1.4.1.93: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<173> Section 3.1.4.1.97: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<174> Section 3.1.4.1.101: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<175> Section 3.1.4.1.101: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<176> Section 3.1.4.1.102: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<177> Section 3.1.4.1.102: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<178> Section 3.1.4.1.103: On Windows, the fax server needs to be restarted in order for unregistration to take place.

<179> Section 3.1.4.1.104: The FAX_UnregisterServiceProviderEx method is not implemented in BackOffice Server 2000, Small Business Server 2000, Windows Home Server, Windows NT, Windows 2000, or Windows XP.

<180> Section 3.1.4.1.105: In Windows, the maximum size of each part (chunk) copied in one single FAX_WriteFile method call is 16,384 bytes.

<181> Section 3.1.4.1.105: The Windows implementation of FAX_WriteFile does not validate that the data size does not exceed the maximum allowed value, which is RPC_COPY_BUFFER_SIZE (16384 bytes). If the caller requests a larger data size than RPC_COPY_BUFFER_SIZE to be written with a single FAX_WriteFile call, the underlying RPC protocol [MS-RPCE] fails the call.

<182> Section 3.1.4.2: Opnums reserved for local use apply to Windows as follows.

Opnum

Description

30

Only used locally by Windows, never called remotely.

<183> Section 3.1.4.2.2: In Windows, the fax print queues cannot be shared on the Small Business Server products.

<184> Section 3.1.4.2.3: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<185> Section 3.1.4.2.5: The Windows implementation of FaxObs_OpenPort does not validate the value of the Flags parameter unless PORT_OPEN_MODIFY is requested and the specified port is in use. In this case, the server returns ERROR_INVALID_HANDLE.

<186> Section 3.1.4.2.5: The Windows implementation of FaxObs_GetPort (section 3.1.4.2.16) does not require that FaxObs_OpenPort is executed with the PORT_OPEN_QUERY access flag.

<187> Section 3.1.4.2.5: The Windows implementation of FaxObs_SetPort (section 3.1.4.2.17) does not require that FaxObs_OpenPort is executed with the PORT_OPEN_MODIFY access flag.

<188> Section 3.1.4.2.5: In Windows the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<189> Section 3.1.4.2.7: On Windows the implementation of the FaxObs_SendDocument method accepts a NULL pointer value for the RecipientNumber member of the JobParams structure. This occurs when one of the following conditions is true: the CallHandle member of the same structure is set to 0x00000000, or the first value of the Reserved field of the JobParams structure is set to 0xFFFFFFFF (32-bit), 0x00000000FFFFFFFF (64-bit), or zero.

<190> Section 3.1.4.2.7: In Windows the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<191> Section 3.1.4.2.8: In Windows, the fax server implementation of the FaxObs_GetQueueFileName method attempts to impersonate the client before creating the file with generic write access. If the client does not have generic write access to the location, the call fails and, in this case, there is no predefined specific error code to be returned by the server.

<192> Section 3.1.4.2.8: In Windows, the fax server implementation of this method does not validate that the FileName parameter is set to a valid pointer value.

<193> Section 3.1.4.2.8: In Windows, the fax server implementation of this method does not validate that the FileNameSize parameter is set to a value greater than zero.

<194> Section 3.1.4.2.9: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<195> Section 3.1.4.2.9: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<196> Section 3.1.4.2.11: In Windows, the fax server implementation of this method does not validate this condition.

<197> Section 3.1.4.2.12: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<198> Section 3.1.4.2.13: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<199> Section 3.1.4.2.15: In Windows the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<200> Section 3.1.4.2.16: In Windows the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<201> Section 3.1.4.2.17: In Windows the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<202> Section 3.1.4.2.18: In Windows the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<203> Section 3.1.4.2.18: In Windows the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<204> Section 3.1.4.2.19: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<205> Section 3.1.4.2.20: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<206> Section 3.1.4.2.20: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<207> Section 3.1.4.2.21: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<208> Section 3.1.4.2.22: In Windows the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<209> Section 3.1.4.2.25: In Windows, the fax server implementation of FaxObs_SetConfiguration does not validate the FAX_TIME(section 2.2.61) values submitted by the client through the StartCheapTime and StopCheapTime FAX_CONFIGURATIONW(section 2.2.28) structure members. The Fax Client API method FaxSetConfiguration (for more details, see [MSDN-FSCAR]) does validate the same FAX_CONFIGURATIONW members by checking that each Hour FAX_TIME structure member value is smaller than or equal to 24 hours and that each Minute FAX_TIME structure member value is smaller than or equal to 60 minutes.

<210> Section 3.1.4.2.26: In Windows the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<211> Section 3.1.4.2.28: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<212> Section 3.1.4.2.30: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<213> Section 3.1.4.2.31: In Windows, the fax server implementation does not call FAX_CloseConnection (section 3.2.4.4) to close a connection with the client that was opened with FAX_OpenConnection (section 3.2.4.5).

<214> Section 3.1.4.2.32: In Windows, the fax server implementation of this method returns ERROR_INVALID_CATEGORY when the Id parameter is set to a value greater than 1 but not when Id is set to a value of 1.

<215> Section 3.1.4.2.33: In Windows, the fax server implementation of this method returns ERROR_INVALID_CATEGORY when the Id member is set to a value greater than 1 but not when the Id member is set to a value of 1.

<216> Section 3.1.4.2.35: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<217> Section 3.1.4.2.35: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<218> Section 3.2.4.3: In Windows, the underlying RPC protocol [MS-RPCE] implementation can stop the invalid call and throw an exception before the call reaches the fax server.

<219> Section 5.1: Connection is attempted three times, twice using the RPC_C_AUTHN_LEVEL_PKT_PRIVACY authentication level and if the connection fails, it drops to the RPC_C_AUTHN_LEVEL_NONE authentication level. The AS used is RPC_C_AUTHN_WINNT (NTLM SPP authenticator).

<220> Section 5.1: The following access control entries are used by the fax service:

  1. Submit low-priority faxes: This privilege allows the user to submit low-priority fax jobs. Users can view and manage their jobs in the fax server's queue and their messages in the outgoing fax archive.

    By default, this privilege is given to interactive users, everyone, and administrators group.

  2. Submit normal-priority faxes: This privilege allows the user to submit normal-priority fax jobs. Users can view and manage their jobs in the fax server's queue and their messages in the outgoing fax archive.

    By default, this privilege is given to interactive users, everyone, and administrators group.

  3. Submit high-priority faxes: This privilege allows the user to submit high-priority fax jobs. By virtue of this privilege, the user can also submit low-priority and normal-priority fax jobs. Users can view and manage their jobs in the fax server's queue and their messages in the outgoing fax archive.

    By default, this privilege is given to interactive users and administrators group.

  4. View service configuration: This privilege allows the user to view and query the fax server's configuration data.

    By default, this privilege is given to interactive users and administrators group.

  5. Manage service configuration: This privilege allows the user to view, and set the fax server's configuration data.

    By default, this privilege is given to interactive users and administrators group.

  6. Manage server receive folder: This privilege allows the user to manage all the messages in the server's receive folder. This includes the right to reassign and delete messages.

    By default, this privilege is given to the administrators group.

    This privilege is available only in Windows Vista and is not applicable to other versions of Windows.

  7. View fax jobs: This privilege allows the user to view all outgoing jobs, including the jobs submitted by other users.

    By default, this privilege is given to the administrators group.

  8. Manage fax jobs: This privilege allows the user to manage all outgoing jobs, including the jobs submitted by other users.

    By default, this privilege is given to the administrators group.

  9. View message archives: This privilege allows the user to view all archived messages, including the archives of other users.

    By default, this privilege is given to the administrators group.

  10. Manage message archives: This privilege allows the user to manage all archive messages, including the archives of other users.

    By default, this privilege is given to the administrators group.

  11. View outgoing message archive: This privilege allows the user to view all outgoing archived messages, including the archives of other users.

    By default, this privilege is given to the administrators group.

    This privilege is not available on Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, and Windows Home Server 2011. This privilege is applicable to Windows NT, Windows 2000, Windows XP, and Windows Server 2003.

  12. Manage outgoing message archive: This privilege allows the user to manage all outgoing archived messages, including the archives of other users.

    By default, this privilege is given to the administrators group.

    This privilege is not available on Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, and Windows Home Server 2011. This privilege is applicable to Windows NT, Windows 2000, Windows XP, and Windows Server 2003.

  13. View incoming message archive: This privilege allows the user to view all incoming archived messages, including the archives of other users.

    By default, this privilege is given to the administrators group.

    This privilege is not available on Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, and Windows Home Server 2011. This privilege is applicable to Windows NT, Windows 2000, Windows XP, and Windows Server 2003.

  14. Manage incoming message archive: This privilege allows the user to manage all incoming archived messages, including the archives of other users.

    By default, this privilege is given to the administrators group.

    This privilege is not available on Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, and Windows Home Server 2011. This privilege is applicable to Windows NT, Windows 2000, Windows XP, and Windows Server 2003.