fax

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Syntax UUID
	FaxSyntaxUUID = &uuid.UUID{TimeLow: 0xea0a3165, TimeMid: 0x4834, TimeHiAndVersion: 0x11d2, ClockSeqHiAndReserved: 0xa6, ClockSeqLow: 0xf8, Node: [6]uint8{0x0, 0xc0, 0x4f, 0xa3, 0x46, 0xcc}}
	// Syntax ID
	FaxSyntaxV4_0 = &dcerpc.SyntaxID{IfUUID: FaxSyntaxUUID, IfVersionMajor: 4, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "fax"
)

Functions

func FaxServerHandle

func FaxServerHandle(ctx context.Context, o FaxServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

func NewFaxServerHandle

func NewFaxServerHandle(o FaxServer) dcerpc.ServerHandle

func RegisterFaxServer

func RegisterFaxServer(conn dcerpc.Conn, o FaxServer, opts ...dcerpc.Option)

Types

type AbortRequest

type AbortRequest struct {
	// JobId: A unique number that identifies the fax job to terminate.
	JobID uint32 `idl:"name:JobId" json:"job_id"`
}

AbortRequest structure represents the FAX_Abort operation request

func (*AbortRequest) MarshalNDR

func (o *AbortRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AbortRequest) UnmarshalNDR

func (o *AbortRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AbortResponse

type AbortResponse struct {
	// Return: The FAX_Abort return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AbortResponse structure represents the FAX_Abort operation response

func (*AbortResponse) MarshalNDR

func (o *AbortResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AbortResponse) UnmarshalNDR

func (o *AbortResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AccessCheckEx2Request

type AccessCheckEx2Request struct {
	// AccessMask: A DWORD ([MS-DTYP] section 2.2.9) variable that contains a set of bit
	// flags specified by the client to be validated. Zero is a valid value for this parameter
	// and means that no access rights are specified by the client to be validated. This
	// parameter can be any combination of fax-specific access rights, standard access rights,
	// and fax-generic access rights. If this parameter is set to 0x02000000 (MAXIMUM_ALLOWED),
	// on return, the lpdwRights parameter SHOULD receive the maximum access rights granted
	// to the client's fax user account.
	//
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	|        FAX-GENERIC ACCESS        |                                                                                  |
	//	|              RIGHTS              |                                   DESCRIPTION                                    |
	//	|                                  |                                                                                  |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_GENERIC_EXECUTE_2 0x00000001 | Includes the read-only rights granted by the FAX_ACCESS_SUBMIT access right.     |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_GENERIC_READ_2 0x00000020    | Includes the read-only rights granted by the FAX_ACCESS_QUERY_CONFIG access      |
	//	|                                  | right.                                                                           |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_GENERIC_WRITE_2 0x00000040   | Includes the read-only rights granted by the FAX_ACCESS_MANAGE_CONFIG access     |
	//	|                                  | right.                                                                           |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_GENERIC_ALL_2 0x000003FF     | Includes the read-only rights granted by the following fax-specific              |
	//	|                                  | access rights: § FAX_ACCESS_SUBMIT § FAX_ACCESS_SUBMIT_NORMAL §                  |
	//	|                                  | FAX_ACCESS_SUBMIT_HIGH § FAX_ACCESS_QUERY_OUT_JOBS § FAX_ACCESS_MANAGE_OUT_JOBS  |
	//	|                                  | § FAX_ACCESS_QUERY_CONFIG § FAX_ACCESS_MANAGE_CONFIG § FAX_ACCESS_QUERY_ARCHIVES |
	//	|                                  | § FAX_ACCESS_MANAGE_ARCHIVES § FAX_ACCESS_MANAGE_RECEIVE_FOLDER                  |
	//	+----------------------------------+----------------------------------------------------------------------------------+
	//
	//
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	|             FAX-SPECIFIC ACCESS             |                                                                                  |
	//	|                   RIGHTS                    |                                   DESCRIPTION                                    |
	//	|                                             |                                                                                  |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_SUBMIT 0x00000001                | Grants permission to send a low-priority fax transmission to one or more         |
	//	|                                             | recipients.                                                                      |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_SUBMIT_NORMAL 0x00000002         | Grants permission to send a normal-priority fax transmission to one or more      |
	//	|                                             | recipients.                                                                      |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_SUBMIT_HIGH 0x00000004           | Grants permission to send a high-priority fax transmission to one or more        |
	//	|                                             | recipients.                                                                      |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_QUERY_OUT_JOBS 0x00000008        | Grants permission to view the outgoing faxes in the fax queue. By default, no    |
	//	|                                             | users have this permission.                                                      |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_MANAGE_OUT_JOBS 0x00000010       | Grants permission to manage the outgoing faxes in the fax queue by using such    |
	//	|                                             | operations as pause, resume, restart, and delete (section 3.1.4.1.82). By        |
	//	|                                             | default, no users have this permission.                                          |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_QUERY_CONFIG 0x00000020          | Grants permission to view the properties of the Fax Service and to enumerate     |
	//	|                                             | accounts, and to read any account configuration information. By default,         |
	//	|                                             | non-administrator users do not have this permission. Without it, users cannot    |
	//	|                                             | view any of the tree nodes, except for the cover page node in the Fax Service    |
	//	|                                             | Manager.                                                                         |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_MANAGE_CONFIG 0x00000040         | Grants permission to modify the properties of the fax service. By default,       |
	//	|                                             | non-administrator users do not have this permission.                             |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_QUERY_ARCHIVES 0x00000080        | Grants permission to view the sent and received fax messages in the archives. By |
	//	|                                             | default, no users have this permission.                                          |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_MANAGE_ARCHIVES 0x00000100       | Grants permission to manage the sent and received fax messages in the archives   |
	//	|                                             | by using such operations as delete (section 3.1.4.1.70) and copy (sections       |
	//	|                                             | 3.1.4.1.96, 3.1.4.1.97, and 3.1.4.1.15). By default, no users have this          |
	//	|                                             | permission.                                                                      |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_MANAGE_RECEIVE_FOLDER 0x00000200 | When global routing is not enabled, this permission allows the user to delete    |
	//	|                                             | any messages. When global routing is active, it allows the user to see the       |
	//	|                                             | contents of all receive folder faxes, to delete faxes, and to cancel receive     |
	//	|                                             | transmissions in progress.                                                       |
	//	+---------------------------------------------+----------------------------------------------------------------------------------+
	AccessMask uint32 `idl:"name:AccessMask" json:"access_mask"`
	// lpdwRights: A pointer to a DWORD value that receives the fax access rights that this
	// caller is verified to have of those requested in the AccessMask parameter. This value
	// MUST be a DWORD bitwise OR combination of fax-specific access rights, standard access
	// rights, and/or fax-generic access rights limited to those specified by the client
	// in the AccessMask. In order for the client to be verified for the maximum allowed
	// rights, the caller MUST set the AccessMask to 0x02000000 (MAXIMUM_ALLOWED) and the
	// server SHOULD set this output value to the actual rights that this caller is verified
	// to have.
	Rights uint32 `idl:"name:lpdwRights;pointer:unique" json:"rights"`
}

AccessCheckEx2Request structure represents the FAX_AccessCheckEx2 operation request

func (*AccessCheckEx2Request) MarshalNDR

func (o *AccessCheckEx2Request) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AccessCheckEx2Request) UnmarshalNDR

func (o *AccessCheckEx2Request) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AccessCheckEx2Response

type AccessCheckEx2Response struct {
	// pfAccess: A pointer to a Boolean value that receives the access check return value.
	// This value MUST be TRUE if the client's fax user account has all of the fax access
	// rights specified by the AccessMask parameter; otherwise, this value MUST be FALSE.
	// If the value submitted by the client for the AccessMask is zero, the value pointed
	// to by the pfAccess parameter SHOULD be FALSE on return.
	Access bool `idl:"name:pfAccess;pointer:ref" json:"access"`
	// lpdwRights: A pointer to a DWORD value that receives the fax access rights that this
	// caller is verified to have of those requested in the AccessMask parameter. This value
	// MUST be a DWORD bitwise OR combination of fax-specific access rights, standard access
	// rights, and/or fax-generic access rights limited to those specified by the client
	// in the AccessMask. In order for the client to be verified for the maximum allowed
	// rights, the caller MUST set the AccessMask to 0x02000000 (MAXIMUM_ALLOWED) and the
	// server SHOULD set this output value to the actual rights that this caller is verified
	// to have.
	Rights uint32 `idl:"name:lpdwRights;pointer:unique" json:"rights"`
	// Return: The FAX_AccessCheckEx2 return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AccessCheckEx2Response structure represents the FAX_AccessCheckEx2 operation response

func (*AccessCheckEx2Response) MarshalNDR

func (o *AccessCheckEx2Response) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AccessCheckEx2Response) UnmarshalNDR

func (o *AccessCheckEx2Response) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AccessCheckRequest

type AccessCheckRequest struct {
	// AccessMask: A DWORD ([MS-DTYP] section 2.2.9) variable that MUST contain a set of
	// bit flags that define the fax access permissions specified by the client to be validated
	// against the access permissions of the client's fax user account. This parameter can
	// be any bitwise OR combination of fax-specific access rights, standard access rights,
	// and fax-generic access rights. For a list of standard access rights, see [MSDN-SAR].
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|       FAX-GENERIC ACCESS       |                                                                                  |
	//	|             RIGHTS             |                                     MEANING                                      |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_GENERIC_EXECUTE 0x00000001 | Identical to the FAX_ACCESS_SUBMIT access right.                                 |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_GENERIC_READ 0x000002A8    | Includes the read-only rights that are granted by the following specific         |
	//	|                                | access rights: § FAX_ACCESS_QUERY_JOBS § FAX_ACCESS_QUERY_CONFIG §               |
	//	|                                | FAX_ACCESS_QUERY_IN_ARCHIVE § FAX_ACCESS_QUERY_OUT_ARCHIVE                       |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_GENERIC_WRITE 0x00000550   | Includes the management rights that are granted by the following specific        |
	//	|                                | access rights: § FAX_ACCESS_MANAGE_JOBS § FAX_ACCESS_MANAGE_CONFIG §             |
	//	|                                | FAX_ACCESS_MANAGE_IN_ARCHIVE § FAX_ACCESS_MANAGE_OUT_ARCHIVE                     |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_GENERIC_ALL 0x000007FF     | Includes all the following specific fax permissions: § 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                     |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	//
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	|           FAX-SPECIFIC ACCESS            |                                                                                  |
	//	|                  RIGHTS                  |                                   DESCRIPTION                                    |
	//	|                                          |                                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_SUBMIT 0x00000001             | Grants permission to send a low-priority fax transmission to one or more         |
	//	|                                          | recipients.                                                                      |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_SUBMIT_NORMAL 0x00000002      | Grants permission to send a normal-priority fax transmission to one or more      |
	//	|                                          | recipients.                                                                      |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_SUBMIT_HIGH 0x00000004        | Grants permission to send a high-priority fax transmission to one or more        |
	//	|                                          | recipients.                                                                      |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_QUERY_JOBS 0x00000008         | Grants permission to view all the incoming and outgoing faxes in the Incoming    |
	//	|                                          | and Outbox queues, including those that belong to other users. By default,       |
	//	|                                          | without this permission, non-administrator users can view their own outgoing     |
	//	|                                          | messages in the Outbox queue but cannot view the Incoming queue. Also,           |
	//	|                                          | non-administrator users cannot view incoming or outgoing faxes that belong to    |
	//	|                                          | other users.                                                                     |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_MANAGE_JOBS 0x00000010        | Grants permission to manage all the incoming and outgoing faxes in the Incoming  |
	//	|                                          | and Outbox queues, including those that belong to other users. By default,       |
	//	|                                          | without this permission, non-administrator users can manage their own outgoing   |
	//	|                                          | messages in the Outgoing queue (defined in section 3.1.1) but cannot manage the  |
	//	|                                          | Incoming queue. Also, non-administrator users cannot manage incoming or outgoing |
	//	|                                          | faxes that belong to other users.                                                |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_QUERY_CONFIG 0x00000020       | Grants permission to view the properties of the Fax Service. By default,         |
	//	|                                          | non-administrator users do not have this permission. Without this permission,    |
	//	|                                          | users cannot view any of the tree nodes, except for the cover page node in the   |
	//	|                                          | Fax Service Manager.                                                             |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_MANAGE_CONFIG 0x00000040      | Grants permission to modify the properties of the fax service. By default,       |
	//	|                                          | non-administrator users do not have this permission.                             |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_QUERY_IN_ARCHIVE 0x00000080   | Grants permission to view all successfully received messages in the Inbox        |
	//	|                                          | archive. By default, without this permission, non-administrator users cannot     |
	//	|                                          | view archived incoming faxes.                                                    |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_MANAGE_IN_ARCHIVE 0x00000100  | Grants permission to manage all successfully received messages in the Inbox      |
	//	|                                          | archive. By default, without this permission, non-administrator users cannot     |
	//	|                                          | manage archived incoming faxes.                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_QUERY_OUT_ARCHIVE 0x00000200  | Grants permission to view all successfully sent messages in the Sent Items       |
	//	|                                          | archive, including those belonging to other users. By default, without this      |
	//	|                                          | permission, non-administrator users can view archives of their own sent messages |
	//	|                                          | but cannot view archives that belong to other users.                             |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ACCESS_MANAGE_OUT_ARCHIVE 0x00000400 | Grants permission to manage all successfully sent messages in the Sent Items     |
	//	|                                          | archive, including those that belong to other users. By default, without this    |
	//	|                                          | permission, non-administrator users can manage archives of their own sent        |
	//	|                                          | messages but cannot manage archives that belong to other users.                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//
	//
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	|     STANDARD ACCESS     |                                                                                  |
	//	|         RIGHTS          |                                   DESCRIPTIION                                   |
	//	|                         |                                                                                  |
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	| DELETE 0x00010000       | Delete access.                                                                   |
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	| READ_CONTROL 0x00020000 | Read access to the owner, group, and discretionary access control list (ACL) of  |
	//	|                         | the security descriptor.                                                         |
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	| WRITE_DAC 0x00040000    | Write access to the ACL.                                                         |
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	| WRITE_OWNER 0x00080000  | Write access to the owner.                                                       |
	//	+-------------------------+----------------------------------------------------------------------------------+
	//	| SYNCHRONIZE 0x00100000  | Allow use of the object for synchronization.                                     |
	//	+-------------------------+----------------------------------------------------------------------------------+
	//
	//
	//	+-----------------------------+------------------------------------------------+
	//	|    MISCELLANEOUS ACCESS     |                                                |
	//	|           RIGHTS            |                  DESCRIPTION                   |
	//	|                             |                                                |
	//	+-----------------------------+------------------------------------------------+
	//	+-----------------------------+------------------------------------------------+
	//	| MAXIMUM_ALLOWED 0x02000000  | Maximum allowed access rights for this server. |
	//	+-----------------------------+------------------------------------------------+
	AccessMask uint32 `idl:"name:AccessMask" json:"access_mask"`
	// lpdwRights: A pointer to a DWORD value to receive the fax access rights that this
	// caller is verified to have of those requested in the AccessMask parameter. This value
	// MUST be a DWORD bitwise OR combination of fax-specific access rights, standard access
	// rights, and/or fax-generic access rights limited to those specified by the client
	// in the AccessMask. In order for the client to be verified for the maxiumum allowed
	// rights, the caller MUST set the AccessMask to 0x02000000 (MAXIMUM_ALLOWED) and the
	// server SHOULD set this output value to the actual rights that this caller is verified
	// to have.
	Rights uint32 `idl:"name:lpdwRights;pointer:unique" json:"rights"`
}

AccessCheckRequest structure represents the FAX_AccessCheck operation request

func (*AccessCheckRequest) MarshalNDR

func (o *AccessCheckRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AccessCheckRequest) UnmarshalNDR

func (o *AccessCheckRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AccessCheckResponse

type AccessCheckResponse struct {
	// pfAccess: A pointer to a BOOL ([MS-DTYP] section 2.2.3) to receive the access check
	// return value. This value MUST be TRUE if the client's fax user account has all of
	// the fax access rights specified by the AccessMask parameter; otherwise, this value
	// MUST be FALSE. If the value submitted by the client for the AccessMask is zero, the
	// value pointed to by the pfAccess parameter SHOULD be FALSE on return.
	Access bool `idl:"name:pfAccess;pointer:ref" json:"access"`
	// lpdwRights: A pointer to a DWORD value to receive the fax access rights that this
	// caller is verified to have of those requested in the AccessMask parameter. This value
	// MUST be a DWORD bitwise OR combination of fax-specific access rights, standard access
	// rights, and/or fax-generic access rights limited to those specified by the client
	// in the AccessMask. In order for the client to be verified for the maxiumum allowed
	// rights, the caller MUST set the AccessMask to 0x02000000 (MAXIMUM_ALLOWED) and the
	// server SHOULD set this output value to the actual rights that this caller is verified
	// to have.
	Rights uint32 `idl:"name:lpdwRights;pointer:unique" json:"rights"`
	// Return: The FAX_AccessCheck return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AccessCheckResponse structure represents the FAX_AccessCheck operation response

func (*AccessCheckResponse) MarshalNDR

func (o *AccessCheckResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AccessCheckResponse) UnmarshalNDR

func (o *AccessCheckResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddOutboundGroupRequest

type AddOutboundGroupRequest struct {
	// lpwstrGroupName: A pointer to a null-terminated character string that uniquely identifies
	// a new group name. This value cannot be NULL. The group name is expected to be case-insensitive.
	GroupName string `idl:"name:lpwstrGroupName;string;pointer:ref" json:"group_name"`
}

AddOutboundGroupRequest structure represents the FAX_AddOutboundGroup operation request

func (*AddOutboundGroupRequest) MarshalNDR

func (o *AddOutboundGroupRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddOutboundGroupRequest) UnmarshalNDR

func (o *AddOutboundGroupRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddOutboundGroupResponse

type AddOutboundGroupResponse struct {
	// Return: The FAX_AddOutboundGroup return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddOutboundGroupResponse structure represents the FAX_AddOutboundGroup operation response

func (*AddOutboundGroupResponse) MarshalNDR

func (o *AddOutboundGroupResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddOutboundGroupResponse) UnmarshalNDR

func (o *AddOutboundGroupResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddOutboundRuleRequest

type AddOutboundRuleRequest struct {
	// dwAreaCode: The area code of the rule. A value of zero indicates the special any-area
	// value ROUTING_RULE_AREA_CODE_ANY. The combination of the dwAreaCode and dwCountryCode
	// parameters is a unique key.
	AreaCode uint32 `idl:"name:dwAreaCode" json:"area_code"`
	// dwCountryCode: The country/region code of the rule. The value of this argument MUST
	// NOT be zero. A value of zero indicates the special any-country, any-region value
	// ROUTING_RULE_COUNTRY_CODE_ANY, which is not valid for this argument. The combination
	// of dwAreaCode and dwCountryCode is a unique key.
	CountryCode uint32 `idl:"name:dwCountryCode" json:"country_code"`
	// dwDeviceId: The destination device of the rule. This value is valid only if the bUseGroup
	// parameter is FALSE. The value of dwDeviceId MUST be greater than zero.
	DeviceID uint32 `idl:"name:dwDeviceId" json:"device_id"`
	// lpwstrGroupName: The destination group of the rule. This value is valid only if bUseGroup
	// is TRUE.
	GroupName string `idl:"name:lpwstrGroupName;string;pointer:unique" json:"group_name"`
	// bUseGroup: A Boolean value that specifies whether the group SHOULD be used as the
	// destination.
	UseGroup bool `idl:"name:bUseGroup" json:"use_group"`
}

AddOutboundRuleRequest structure represents the FAX_AddOutboundRule operation request

func (*AddOutboundRuleRequest) MarshalNDR

func (o *AddOutboundRuleRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddOutboundRuleRequest) UnmarshalNDR

func (o *AddOutboundRuleRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddOutboundRuleResponse

type AddOutboundRuleResponse struct {
	// Return: The FAX_AddOutboundRule return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddOutboundRuleResponse structure represents the FAX_AddOutboundRule operation response

func (*AddOutboundRuleResponse) MarshalNDR

func (o *AddOutboundRuleResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddOutboundRuleResponse) UnmarshalNDR

func (o *AddOutboundRuleResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CheckServerProtocolSeqRequest

type CheckServerProtocolSeqRequest struct {
	// lpdwProtSeq: A variable into which the requested sequence is specified. If the specified
	// protocol sequence is supported, upon return, lpdwProtSeq contains the value for this
	// validated sequence.
	//
	//	+-------------------+------------------------------------------+
	//	|                   |                                          |
	//	|    VALUE/CODE     |                 MEANING                  |
	//	|                   |                                          |
	//	+-------------------+------------------------------------------+
	//	+-------------------+------------------------------------------+
	//	| RPC_PROT_TCP_IP 1 | Check the protocol sequence for TCP/IP.  |
	//	+-------------------+------------------------------------------+
	//	| RPC_PROT_SPX 2    | Check the protocol sequence for IPX/SPX. |
	//	+-------------------+------------------------------------------+
	ProtocolSeq uint32 `idl:"name:lpdwProtSeq;pointer:unique" json:"protocol_seq"`
}

CheckServerProtocolSeqRequest structure represents the FAX_CheckServerProtSeq operation request

func (*CheckServerProtocolSeqRequest) MarshalNDR

func (*CheckServerProtocolSeqRequest) UnmarshalNDR

func (o *CheckServerProtocolSeqRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CheckServerProtocolSeqResponse

type CheckServerProtocolSeqResponse struct {
	// lpdwProtSeq: A variable into which the requested sequence is specified. If the specified
	// protocol sequence is supported, upon return, lpdwProtSeq contains the value for this
	// validated sequence.
	//
	//	+-------------------+------------------------------------------+
	//	|                   |                                          |
	//	|    VALUE/CODE     |                 MEANING                  |
	//	|                   |                                          |
	//	+-------------------+------------------------------------------+
	//	+-------------------+------------------------------------------+
	//	| RPC_PROT_TCP_IP 1 | Check the protocol sequence for TCP/IP.  |
	//	+-------------------+------------------------------------------+
	//	| RPC_PROT_SPX 2    | Check the protocol sequence for IPX/SPX. |
	//	+-------------------+------------------------------------------+
	ProtocolSeq uint32 `idl:"name:lpdwProtSeq;pointer:unique" json:"protocol_seq"`
	// Return: The FAX_CheckServerProtSeq return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

CheckServerProtocolSeqResponse structure represents the FAX_CheckServerProtSeq operation response

func (*CheckServerProtocolSeqResponse) MarshalNDR

func (*CheckServerProtocolSeqResponse) UnmarshalNDR

type CheckValidFaxFolderRequest

type CheckValidFaxFolderRequest struct {
	// lpcwstrPath: A pointer to a null-terminated character string that contains the path
	// to validate, specified as a complete file path. The path can be a UNC path or a path
	// that begins with a drive letter. The path MUST contain a file name. The length of
	// the path, including the terminating null character, MUST be under 180 characters.
	Path string `idl:"name:lpcwstrPath;string;pointer:ref" json:"path"`
}

CheckValidFaxFolderRequest structure represents the FAX_CheckValidFaxFolder operation request

func (*CheckValidFaxFolderRequest) MarshalNDR

func (o *CheckValidFaxFolderRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CheckValidFaxFolderRequest) UnmarshalNDR

func (o *CheckValidFaxFolderRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CheckValidFaxFolderResponse

type CheckValidFaxFolderResponse struct {
	// Return: The FAX_CheckValidFaxFolder return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

CheckValidFaxFolderResponse structure represents the FAX_CheckValidFaxFolder operation response

func (*CheckValidFaxFolderResponse) MarshalNDR

func (*CheckValidFaxFolderResponse) UnmarshalNDR

func (o *CheckValidFaxFolderResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ClosePortRequest

type ClosePortRequest struct {
	// FaxPortHandle: A pointer to a fax port handle.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
}

ClosePortRequest structure represents the FAX_ClosePort operation request

func (*ClosePortRequest) MarshalNDR

func (o *ClosePortRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClosePortRequest) UnmarshalNDR

func (o *ClosePortRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ClosePortResponse

type ClosePortResponse struct {
	// FaxPortHandle: A pointer to a fax port handle.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
	// Return: The FAX_ClosePort return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ClosePortResponse structure represents the FAX_ClosePort operation response

func (*ClosePortResponse) MarshalNDR

func (o *ClosePortResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClosePortResponse) UnmarshalNDR

func (o *ClosePortResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ConnectFaxServerRequest

type ConnectFaxServerRequest struct {
	// dwClientAPIVersion: A DWORD ([MS-DTYP] section 2.2.9) that MUST contain the protocol
	// version (fax API version) of the client module. This value MUST be one of the constants
	// defined in section 2.2.85 (Protocol and Fax API Version Constants). The value determines
	// the specific FAX_ERR error codes that can be returned by the fax server, as described
	// in the following table. If the fax server receives from the fax client a version
	// number greater than the server’s version number, the server MUST accept the request
	// and MUST consider the client version to be the same as the version supported by the
	// fax server.
	//
	//	+------------------------------+------------------------------------------------------------------+
	//	|                              |                                                                  |
	//	|            VALUE             |                             MEANING                              |
	//	|                              |                                                                  |
	//	+------------------------------+------------------------------------------------------------------+
	//	+------------------------------+------------------------------------------------------------------+
	//	| FAX_API_VERSION_0 0x00000000 | No FAX_ERR_* values can be returned.                             |
	//	+------------------------------+------------------------------------------------------------------+
	//	| FAX_API_VERSION_1 0x00010000 | FAX_ERR_* values in the FAX_ERR 7001-7012 range can be returned. |
	//	+------------------------------+------------------------------------------------------------------+
	//	| FAX_API_VERSION_2 0x00020000 | FAX_ERR_* values in the FAX_ERR 7001-7013 range can be returned. |
	//	+------------------------------+------------------------------------------------------------------+
	//	| FAX_API_VERSION_3 0x00030000 | FAX_ERR_* values in the FAX_ERR 7001-7013 range can be returned. |
	//	+------------------------------+------------------------------------------------------------------+
	ClientAPIVersion uint32 `idl:"name:dwClientAPIVersion" json:"client_api_version"`
}

ConnectFaxServerRequest structure represents the FAX_ConnectFaxServer operation request

func (*ConnectFaxServerRequest) MarshalNDR

func (o *ConnectFaxServerRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ConnectFaxServerRequest) UnmarshalNDR

func (o *ConnectFaxServerRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ConnectFaxServerResponse

type ConnectFaxServerResponse struct {
	// lpdwServerAPIVersion: A pointer to a DWORD that contains the protocol and fax API
	// version of the fax server that is reported back by the fax server to the fax client.
	// This value MUST be one of the constants defined in section 2.2.85.
	ServerAPIVersion uint32 `idl:"name:lpdwServerAPIVersion;pointer:ref" json:"server_api_version"`
	// pHandle: The connection handle returned by the fax server. The client MUST use this
	// connection handle as the Handle argument for the FAX_ConnectionRefCount call made
	// to disconnect from the fax server at the end of the session.
	Handle *fax.Service `idl:"name:pHandle;pointer:ref" json:"handle"`
	// Return: The FAX_ConnectFaxServer return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ConnectFaxServerResponse structure represents the FAX_ConnectFaxServer operation response

func (*ConnectFaxServerResponse) MarshalNDR

func (o *ConnectFaxServerResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ConnectFaxServerResponse) UnmarshalNDR

func (o *ConnectFaxServerResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ConnectionReferenceCountRequest

type ConnectionReferenceCountRequest struct {
	// Handle: The connection handle that references a connection to the fax server. If
	// Connect is set to 0x00000001 (Connect), a new handle is returned in this parameter.
	// Otherwise, this parameter MUST be set to a handle returned from a previous call to
	// this method, or to FAX_ConnectFaxServer.
	Handle *fax.Service `idl:"name:Handle" json:"handle"`
	// Connect: A DWORD ([MS-DTYP] section 2.2.9) value that specifies connection information.
	//
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	|                       |                                                                                  |
	//	|         VALUE         |                                     MEANING                                      |
	//	|                       |                                                                                  |
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	| Disconnect 0x00000000 | Close the fax server connection. The handle specified in Handle MUST have been   |
	//	|                       | returned by a previous call to FAX_ConnectFaxServer or FAX_ConnectionRefCount    |
	//	|                       | with a Connect value of 1 (Connect). After this call, the handle in Handle will  |
	//	|                       | be invalid and MUST NOT be used in any subsequent calls.                         |
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	| Connect 0x00000001    | Connect to the fax server. Calling FAX_ConnectionRefCount with this value        |
	//	|                       | is equivalent to calling FAX_ConnectFaxServer with an API version of             |
	//	|                       | FAX_API_VERSION_0.                                                               |
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	| Release 0x00000002    | Release a connection to the fax server. The handle specified in Handle           |
	//	|                       | MUST have been returned by a previous call to FAX_ConnectFaxServer or            |
	//	|                       | FAX_ConnectionRefCount with a Connect value of 1 (Connect). After this call,     |
	//	|                       | the handle in Handle MUST NOT be used in any subsequent calls except a call to   |
	//	|                       | FAX_ConnectionRefCount with a Connect value of 0 (Disconnect).                   |
	//	+-----------------------+----------------------------------------------------------------------------------+
	//
	// *
	//
	// The call sequence SHOULD have values for the Connect argument in the following order:
	//
	// *
	//
	// 1 (Connect): To obtain a valid Handle and connect to the fax server. (This call is
	// optional and can be replaced by a *FAX_ConnectFaxServer* call.
	//
	// *
	//
	// 2 (Release): Step "1 (Connect)" is mandatory for this call to succeed.
	//
	// *
	//
	// 0 (Disconnect): Step "1 (Connect)" is mandatory for this call to succeed.
	//
	// *
	//
	// The following sequence of calls on the same handle MUST result in an ERROR_INVALID_PARAMETER
	// error:
	//
	// *
	//
	// Consecutive calls with a Connect argument value of 2 (Release) or 0 (Disconnect)
	// without obtaining a valid Handle in between two calls (through step "1 (Connect)"
	// above).
	//
	// *
	//
	// A call with a Connect argument value of 0 (Disconnect) following a call with a Connect
	// argument value of 2 (Release).
	Connect uint32 `idl:"name:Connect" json:"connect"`
}

ConnectionReferenceCountRequest structure represents the FAX_ConnectionRefCount operation request

func (*ConnectionReferenceCountRequest) MarshalNDR

func (*ConnectionReferenceCountRequest) UnmarshalNDR

type ConnectionReferenceCountResponse

type ConnectionReferenceCountResponse struct {
	// Handle: The connection handle that references a connection to the fax server. If
	// Connect is set to 0x00000001 (Connect), a new handle is returned in this parameter.
	// Otherwise, this parameter MUST be set to a handle returned from a previous call to
	// this method, or to FAX_ConnectFaxServer.
	Handle *fax.Service `idl:"name:Handle" json:"handle"`
	// CanShare: The server MUST return a nonzero value in the DWORD referenced by this
	// parameter if the fax print queues can be shared as described in section 3.1.1, and
	// a zero value otherwise.<74>
	//
	//	+-------------------------+----------------------------------------+
	//	|        POSSIBLE         |                                        |
	//	|          VALUE          |              DESCRIPTION               |
	//	|                         |                                        |
	//	+-------------------------+----------------------------------------+
	//	+-------------------------+----------------------------------------+
	//	| 0x00000000              | The fax print queues can be shared.    |
	//	+-------------------------+----------------------------------------+
	//	| 0x00000001 — 0xFFFFFFFF | The fax print queues cannot be shared. |
	//	+-------------------------+----------------------------------------+
	CanShare uint32 `idl:"name:CanShare" json:"can_share"`
	// Return: The FAX_ConnectionRefCount return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ConnectionReferenceCountResponse structure represents the FAX_ConnectionRefCount operation response

func (*ConnectionReferenceCountResponse) MarshalNDR

func (*ConnectionReferenceCountResponse) UnmarshalNDR

type CreateAccountRequest

type CreateAccountRequest struct {
	// level: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the type of structure
	// to return in Buffer. The value passed in this parameter MUST be zero.
	Level uint32 `idl:"name:level" json:"level"`
	// Buffer: A pointer to a FAX_ACCOUNT_INFO_0 that contains fax account information.
	// The lpcwstrAccountName member of the FAX_ACCOUNT_INFO_0 MUST be set to the name of
	// the operating system user account for which the new fax user account is to be created,
	// using the same account name. The format of the user account name string is described
	// in section 2.2.24 (FAX_ACCOUNT_INFO_0).
	Buffer []byte `idl:"name:Buffer;size_is:(BufferSize);pointer:ref" json:"buffer"`
	// BufferSize: A DWORD value that indicates the return size, in bytes, of the buffer
	// that is pointed to by the Buffer parameter. The maximum size is FAX_MAX_RPC_BUFFER(section
	// 2.2.82).
	BufferSize uint32 `idl:"name:BufferSize" json:"buffer_size"`
}

CreateAccountRequest structure represents the FAX_CreateAccount operation request

func (*CreateAccountRequest) MarshalNDR

func (o *CreateAccountRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CreateAccountRequest) UnmarshalNDR

func (o *CreateAccountRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CreateAccountResponse

type CreateAccountResponse struct {
	// Return: The FAX_CreateAccount return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

CreateAccountResponse structure represents the FAX_CreateAccount operation response

func (*CreateAccountResponse) MarshalNDR

func (o *CreateAccountResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CreateAccountResponse) UnmarshalNDR

func (o *CreateAccountResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteAccountRequest

type DeleteAccountRequest struct {
	// lpcwstrAccountName: A pointer to a constant, null-terminated character string that
	// contains the name of the account to delete. The value for this parameter can be obtained
	// using the FAX_EnumAccounts (section 3.1.4.1.18) method.
	AccountName string `idl:"name:lpcwstrAccountName;string;pointer:unique" json:"account_name"`
}

DeleteAccountRequest structure represents the FAX_DeleteAccount operation request

func (*DeleteAccountRequest) MarshalNDR

func (o *DeleteAccountRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteAccountRequest) UnmarshalNDR

func (o *DeleteAccountRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteAccountResponse

type DeleteAccountResponse struct {
	// Return: The FAX_DeleteAccount return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeleteAccountResponse structure represents the FAX_DeleteAccount operation response

func (*DeleteAccountResponse) MarshalNDR

func (o *DeleteAccountResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteAccountResponse) UnmarshalNDR

func (o *DeleteAccountResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnableRoutingMethodRequest

type EnableRoutingMethodRequest struct {
	// FaxPortHandle: An RPC context handle that references a specified fax port. This parameter
	// MUST NOT be NULL.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
	// RoutingGuid: A curly-braced GUID string that MUST specify the GUID that uniquely
	// identifies the fax routing method upon which to act. For more information about routing
	// methods, see [MSDN-FRM]. The routing methods and the associated curly-braced GUID
	// string values that can be used for this parameter are discoverable by calling FAX_EnumRoutingMethods
	// (section 3.1.4.1.31). Included in this list are the default routing methods described
	// in section 2.2.87.
	RoutingGUID string `idl:"name:RoutingGuid;string;pointer:unique" json:"routing_guid"`
	// Enabled: A Boolean variable that indicates whether the application is enabling or
	// disabling the fax routing method that is specified by the RoutingGuid. If this parameter
	// is TRUE, the application is requesting that the server enable the routing method;
	// if this parameter is FALSE, the application is requesting that the server disable
	// the routing method.
	Enabled bool `idl:"name:Enabled" json:"enabled"`
}

EnableRoutingMethodRequest structure represents the FAX_EnableRoutingMethod operation request

func (*EnableRoutingMethodRequest) MarshalNDR

func (o *EnableRoutingMethodRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnableRoutingMethodRequest) UnmarshalNDR

func (o *EnableRoutingMethodRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnableRoutingMethodResponse

type EnableRoutingMethodResponse struct {
	// Return: The FAX_EnableRoutingMethod return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnableRoutingMethodResponse structure represents the FAX_EnableRoutingMethod operation response

func (*EnableRoutingMethodResponse) MarshalNDR

func (*EnableRoutingMethodResponse) UnmarshalNDR

func (o *EnableRoutingMethodResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EndCopyRequest

type EndCopyRequest struct {
	// lphCopy: A copy handle that MUST be returned by FAX_StartCopyToServer or FAX_StartCopyMessageFromServer.
	LphCopy *fax.Copy `idl:"name:lphCopy;pointer:ref" json:"lph_copy"`
}

EndCopyRequest structure represents the FAX_EndCopy operation request

func (*EndCopyRequest) MarshalNDR

func (o *EndCopyRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EndCopyRequest) UnmarshalNDR

func (o *EndCopyRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EndCopyResponse

type EndCopyResponse struct {
	// lphCopy: A copy handle that MUST be returned by FAX_StartCopyToServer or FAX_StartCopyMessageFromServer.
	LphCopy *fax.Copy `idl:"name:lphCopy;pointer:ref" json:"lph_copy"`
	// Return: The FAX_EndCopy return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EndCopyResponse structure represents the FAX_EndCopy operation response

func (*EndCopyResponse) MarshalNDR

func (o *EndCopyResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EndCopyResponse) UnmarshalNDR

func (o *EndCopyResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EndMessagesEnumRequest

type EndMessagesEnumRequest struct {
	// lpHandle: The parameter lpHandle MUST have been returned by FAX_StartMessagesEnum
	// (section 3.1.4.1.98).
	Handle *fax.MessageEnum `idl:"name:lpHandle;pointer:ref" json:"handle"`
}

EndMessagesEnumRequest structure represents the FAX_EndMessagesEnum operation request

func (*EndMessagesEnumRequest) MarshalNDR

func (o *EndMessagesEnumRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EndMessagesEnumRequest) UnmarshalNDR

func (o *EndMessagesEnumRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EndMessagesEnumResponse

type EndMessagesEnumResponse struct {
	// lpHandle: The parameter lpHandle MUST have been returned by FAX_StartMessagesEnum
	// (section 3.1.4.1.98).
	Handle *fax.MessageEnum `idl:"name:lpHandle;pointer:ref" json:"handle"`
	// Return: The FAX_EndMessagesEnum return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EndMessagesEnumResponse structure represents the FAX_EndMessagesEnum operation response

func (*EndMessagesEnumResponse) MarshalNDR

func (o *EndMessagesEnumResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EndMessagesEnumResponse) UnmarshalNDR

func (o *EndMessagesEnumResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EndServerNotificationRequest

type EndServerNotificationRequest struct {
	// lpHandle: A pointer to a previously registered subscription context handle. The lpHandle
	// parameter MUST match the one supplied by the server when the FAX_StartServerNotification
	// family of calls is in use.
	Handle *fax.EventEx `idl:"name:lpHandle;pointer:ref" json:"handle"`
}

EndServerNotificationRequest structure represents the FAX_EndServerNotification operation request

func (*EndServerNotificationRequest) MarshalNDR

func (*EndServerNotificationRequest) UnmarshalNDR

func (o *EndServerNotificationRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EndServerNotificationResponse

type EndServerNotificationResponse struct {
	// lpHandle: A pointer to a previously registered subscription context handle. The lpHandle
	// parameter MUST match the one supplied by the server when the FAX_StartServerNotification
	// family of calls is in use.
	Handle *fax.EventEx `idl:"name:lpHandle;pointer:ref" json:"handle"`
	// Return: The FAX_EndServerNotification return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EndServerNotificationResponse structure represents the FAX_EndServerNotification operation response

func (*EndServerNotificationResponse) MarshalNDR

func (*EndServerNotificationResponse) UnmarshalNDR

func (o *EndServerNotificationResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumAccountsRequest

type EnumAccountsRequest struct {
	// level: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the type of structure
	// that is pointed to by Buffer. The value passed in this parameter MUST be zero.
	Level uint32 `idl:"name:level" json:"level"`
}

EnumAccountsRequest structure represents the FAX_EnumAccounts operation request

func (*EnumAccountsRequest) MarshalNDR

func (o *EnumAccountsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumAccountsRequest) UnmarshalNDR

func (o *EnumAccountsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumAccountsResponse

type EnumAccountsResponse struct {
	// Buffer: A pointer to an array of FAX_ACCOUNT_INFO_0 (section 2.2.24) structures that
	// contain fax account information.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD value that specifies the size, in bytes, of the
	// buffer that is pointed to by the Buffer parameter.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// lpdwAccounts: A DWORD that contains the number of accounts whose information is being
	// returned.
	Accounts uint32 `idl:"name:lpdwAccounts;pointer:ref" json:"accounts"`
	// Return: The FAX_EnumAccounts return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumAccountsResponse structure represents the FAX_EnumAccounts operation response

func (*EnumAccountsResponse) MarshalNDR

func (o *EnumAccountsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumAccountsResponse) UnmarshalNDR

func (o *EnumAccountsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumGlobalRoutingInfoRequest

type EnumGlobalRoutingInfoRequest struct {
}

EnumGlobalRoutingInfoRequest structure represents the FAX_EnumGlobalRoutingInfo operation request

func (*EnumGlobalRoutingInfoRequest) MarshalNDR

func (*EnumGlobalRoutingInfoRequest) UnmarshalNDR

func (o *EnumGlobalRoutingInfoRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumGlobalRoutingInfoResponse

type EnumGlobalRoutingInfoResponse struct {
	// RoutingInfoBuffer:  A pointer to the address of a buffer to receive an array of
	// _FAX_GLOBAL_ROUTING_INFOW (section 2.2.33) structures. Each structure contains information
	// about one fax routing method, as it pertains to the entire Fax Service.
	RoutingInfoBuffer []byte `idl:"name:RoutingInfoBuffer;size_is:(, RoutingInfoBufferSize)" json:"routing_info_buffer"`
	// RoutingInfoBufferSize: A variable to return the size, in bytes, of the routing information
	// buffer.
	RoutingInfoBufferSize uint32 `idl:"name:RoutingInfoBufferSize;pointer:ref" json:"routing_info_buffer_size"`
	// MethodsReturned: A pointer to a DWORD ([MS-DTYP] section 2.2.9) variable to receive
	// the number of _FAX_GLOBAL_ROUTING_INFOW  that the method returns in the RoutingInfoBuffer
	// parameter. This number SHOULD equal the total number of fax routing methods installed
	// on the target server.
	MethodsReturned uint32 `idl:"name:MethodsReturned;pointer:ref" json:"methods_returned"`
	// Return: The FAX_EnumGlobalRoutingInfo return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumGlobalRoutingInfoResponse structure represents the FAX_EnumGlobalRoutingInfo operation response

func (*EnumGlobalRoutingInfoResponse) MarshalNDR

func (*EnumGlobalRoutingInfoResponse) UnmarshalNDR

func (o *EnumGlobalRoutingInfoResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumJobsEx2Request

type EnumJobsEx2Request struct {
	// fAllAccounts: Flag indicating whether the jobs for all accounts are enumerated. If
	// this parameter is nonzero, the jobs for all accounts are enumerated and lpcwstrAccountName
	// is reset to NULL and not taken into account. Otherwise, the lpcwstrAccountName parameter
	// SHOULD indicate which accounts are to be enumerated.
	AllAccounts bool `idl:"name:fAllAccounts" json:"all_accounts"`
	// lpcwstrAccountName: Pointer to a constant, null-terminated character string that
	// indicates which account to enumerate. If this value is set to NULL, the current account's
	// jobs are enumerated. Cross-account enumeration is currently not supported. If the
	// fAllAccounts parameter is nonzero, this value is reset to NULL. The value for this
	// parameter can be obtained using the FAX_EnumAccounts (section 3.1.4.1.18) method.
	AccountName string `idl:"name:lpcwstrAccountName;string;pointer:unique" json:"account_name"`
	// dwJobTypes: A DWORD ([MS-DTYP] section 2.2.9) value that MUST consist of a bitwise
	// combination of the job types defined in section 3.1.1. Only jobs that are of the
	// requested types SHOULD be returned in the buffer.
	JobTypes uint32 `idl:"name:dwJobTypes" json:"job_types"`
	// level: A DWORD value that indicates the type of structure to return in the Buffer
	// parameter. The value MUST be set to 1.
	Level uint32 `idl:"name:level" json:"level"`
}

EnumJobsEx2Request structure represents the FAX_EnumJobsEx2 operation request

func (*EnumJobsEx2Request) MarshalNDR

func (o *EnumJobsEx2Request) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumJobsEx2Request) UnmarshalNDR

func (o *EnumJobsEx2Request) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumJobsEx2Response

type EnumJobsEx2Response struct {
	// Buffer: Pointer to the address of a buffer that will receive an array of FAX_JOB_ENTRY_EX_1
	// (section 2.2.34) structures. Each structure describes one fax job.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: Pointer to a DWORD value that returns the size, in bytes, of Buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// lpdwJobs: Pointer to a DWORD value that receives the number of FAX_JOB_ENTRY_EX_1
	// that the method returns in Buffer.
	Jobs uint32 `idl:"name:lpdwJobs;pointer:ref" json:"jobs"`
	// Return: The FAX_EnumJobsEx2 return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumJobsEx2Response structure represents the FAX_EnumJobsEx2 operation response

func (*EnumJobsEx2Response) MarshalNDR

func (o *EnumJobsEx2Response) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumJobsEx2Response) UnmarshalNDR

func (o *EnumJobsEx2Response) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumJobsExRequest

type EnumJobsExRequest struct {
	// dwJobTypes: A DWORD ([MS-DTYP] section 2.2.9) value. The dwJobTypes parameter SHOULD
	// be a bitwise combination of job types defined in section 3.1.1. Only jobs that are
	// of the requested types SHOULD be returned in the buffer. If zero is passed as a value
	// for the parameter (0 is not a valid job type), the server will return success, but
	// with a zero-byte buffer.
	JobTypes uint32 `idl:"name:dwJobTypes" json:"job_types"`
}

EnumJobsExRequest structure represents the FAX_EnumJobsEx operation request

func (*EnumJobsExRequest) MarshalNDR

func (o *EnumJobsExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumJobsExRequest) UnmarshalNDR

func (o *EnumJobsExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumJobsExResponse

type EnumJobsExResponse struct {
	// Buffer: A pointer to the address of a buffer to receive an array of FAX_JOB_ENTRY_EXW
	// (section 2.2.35) structures followed by an array of the same number of FAX_JOB_STATUS
	// (section 2.2.36) structures, followed by other data pointed at from these structures
	// (from pointer type fields). Each FAX_JOB_ENTRY_EXW and FAX_JOB_STATUS pair describes
	// one fax job. For each returned FAX_JOB_ENTRY_EXW, if the pStatus pointer is not NULL,
	// it MUST point to one of the FAX_JOB_STATUS in the buffer. If the pStatus pointer
	// is NULL, the FAX_JOB_STATUS attached to the current FAX_JOB_ENTRY_EXW is located
	// at the corresponding index position in the structure array. This data is serialized
	// on the wire. The field length MUST be clamped to 32 bits before serialization.
	//
	// For example, when three jobs are successfully enumerated, the call returns ERROR_SUCCESS
	// with a value of 3 for the *lpdwJobs output argument. The returned data is arranged
	// in memory as follows, from the start of the address specified by the Buffer parameter:
	//
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	//	|       DATA        |                                                                          |                                                                                  |
	//	|     STRUCTURE     |                                   SIZE                                   |                                   DESCRIPTION                                    |
	//	|                   |                                                                          |                                                                                  |
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_JOB_ENTRY_EXW | sizeof(FAX_JOB_ENTRY_EXW)                                                | The first FAX_JOB_ENTRY_EXW in the buffer, corresponding to the first            |
	//	|                   |                                                                          | FAX_JOB_STATUS in the buffer if pStatus is NULL in this FAX_JOB_ENTRY_EXW.       |
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_JOB_ENTRY_EXW | sizeof(FAX_JOB_ENTRY_EXW)                                                | The second FAX_JOB_ENTRY_EXW in the buffer, corresponding to the second          |
	//	|                   |                                                                          | FAX_JOB_STATUS in the buffer if pStatus is NULL in this FAX_JOB_ENTRY_EXW.       |
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_JOB_ENTRY_EXW | sizeof(FAX_JOB_ENTRY_EXW)                                                | The third FAX_JOB_ENTRY_EXW in the buffer, corresponding to the third            |
	//	|                   |                                                                          | FAX_JOB_STATUS in the buffer if pStatus is NULL in this FAX_JOB_ENTRY_EXW.       |
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_JOB_STATUS    | sizeof(FAX_JOB_STATUS)                                                   | The first FAX_JOB_STATUS in the buffer, corresponding to the first               |
	//	|                   |                                                                          | FAX_JOB_ENTRY_EXW in the buffer if pStatus is NULL in this FAX_JOB_ENTRY_EXW.    |
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_JOB_STATUS    | sizeof(FAX_JOB_STATUS)                                                   | The second FAX_JOB_STATUS in the buffer, corresponding to the second             |
	//	|                   |                                                                          | FAX_JOB_ENTRY_EXW in the buffer if pStatus is NULL in this FAX_JOB_ENTRY_EXW.    |
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_JOB_STATUS    | sizeof(FAX_JOB_STATUS)                                                   | The third FAX_JOB_STATUS in the buffer, corresponding to the third               |
	//	|                   |                                                                          | FAX_JOB_ENTRY_EXW in the buffer if pStatus is NULL in this FAX_JOB_ENTRY_EXW.    |
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	//	| Other data        | *BufferSize – (3 * (sizeof(FAX_JOB_ENTRY_EXW) + sizeof(FAX_JOB_STATUS))) | Data pointed at by pointer fields in FAX_JOB_ENTRY_EXW and FAX_JOB_STATUS at the |
	//	|                   |                                                                          | beginning of the buffer.                                                         |
	//	+-------------------+--------------------------------------------------------------------------+----------------------------------------------------------------------------------+
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A variable to return the size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// lpdwJobs: A pointer to a DWORD ([MS-DTYP] section 2.2.9) variable to receive the
	// number of FAX_JOB_ENTRY_EXW and FAX_JOB_STATUS that the method returns in the Buffer
	// parameter.
	Jobs uint32 `idl:"name:lpdwJobs;pointer:ref" json:"jobs"`
	// Return: The FAX_EnumJobsEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumJobsExResponse structure represents the FAX_EnumJobsEx operation response

func (*EnumJobsExResponse) MarshalNDR

func (o *EnumJobsExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumJobsExResponse) UnmarshalNDR

func (o *EnumJobsExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumJobsRequest

type EnumJobsRequest struct {
}

EnumJobsRequest structure represents the FAX_EnumJobs operation request

func (*EnumJobsRequest) MarshalNDR

func (o *EnumJobsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumJobsRequest) UnmarshalNDR

func (o *EnumJobsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumJobsResponse

type EnumJobsResponse struct {
	// Buffer: A pointer to the address of a buffer to receive an array of _FAX_JOB_ENTRY
	// (section 2.2.6) structures.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A variable to return the size, in bytes, of the job information buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// JobsReturned: A pointer to a DWORD ([MS-DTYP] section 2.2.9) variable to receive
	// the number of _FAX_JOB_ENTRY that the method returns in the Buffer parameter.
	JobsReturned uint32 `idl:"name:JobsReturned;pointer:ref" json:"jobs_returned"`
	// Return: The FAX_EnumJobs return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumJobsResponse structure represents the FAX_EnumJobs operation response

func (*EnumJobsResponse) MarshalNDR

func (o *EnumJobsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumJobsResponse) UnmarshalNDR

func (o *EnumJobsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumMessagesExRequest

type EnumMessagesExRequest struct {
	// hEnum: The enumeration handle returned through the lpHandle output argument by FAX_StartMessagesEnum
	// or FAX_StartMessagesEnumEx.
	Enum *fax.MessageEnum `idl:"name:hEnum;pointer:ref" json:"enum"`
	// dwNumMessages: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the maximum
	// number of messages that the caller requires to enumerate. This value MUST NOT be
	// zero.
	MessagesLength uint32 `idl:"name:dwNumMessages" json:"messages_length"`
}

EnumMessagesExRequest structure represents the FAX_EnumMessagesEx operation request

func (*EnumMessagesExRequest) MarshalNDR

func (o *EnumMessagesExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumMessagesExRequest) UnmarshalNDR

func (o *EnumMessagesExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumMessagesExResponse

type EnumMessagesExResponse struct {
	// lppBuffer: A pointer to an array of FAX_MESSAGE_1 (section 2.2.37) structures that
	// contain lpdwNumMessagesRetrieved entries.
	Buffer []byte `idl:"name:lppBuffer;size_is:(, lpdwBufferSize)" json:"buffer"`
	// lpdwBufferSize: A pointer to a DWORD value that specifies the size, in bytes, of
	// the buffer.
	BufferSize uint32 `idl:"name:lpdwBufferSize;pointer:ref" json:"buffer_size"`
	// lpdwNumMessagesRetrieved: A pointer to a DWORD value that indicates the actual number
	// of retrieved messages. This value SHOULD NOT exceed dwNumMessages.
	MessagesRetrievedLength uint32 `idl:"name:lpdwNumMessagesRetrieved;pointer:ref" json:"messages_retrieved_length"`
	// lpdwLevel: A pointer to a DWORD value that indicates the structure to return.
	Level uint32 `idl:"name:lpdwLevel;pointer:ref" json:"level"`
	// Return: The FAX_EnumMessagesEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumMessagesExResponse structure represents the FAX_EnumMessagesEx operation response

func (*EnumMessagesExResponse) MarshalNDR

func (o *EnumMessagesExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumMessagesExResponse) UnmarshalNDR

func (o *EnumMessagesExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumMessagesRequest

type EnumMessagesRequest struct {
	// hEnum:  The enumeration handle returned through the lpHandle output argument by
	// FAX_StartMessagesEnum.
	Enum *fax.MessageEnum `idl:"name:hEnum;pointer:ref" json:"enum"`
	// dwNumMessages: A DWORD ([MS-DTYP] section 2.2.9) value indicating the maximum number
	// of messages the caller requires to enumerate. This value MUST NOT be zero.
	MessagesLength uint32 `idl:"name:dwNumMessages" json:"messages_length"`
}

EnumMessagesRequest structure represents the FAX_EnumMessages operation request

func (*EnumMessagesRequest) MarshalNDR

func (o *EnumMessagesRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumMessagesRequest) UnmarshalNDR

func (o *EnumMessagesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumMessagesResponse

type EnumMessagesResponse struct {
	// lppBuffer: A pointer to a buffer of FAX_MESSAGEW (section 2.2.38) structures. This
	// buffer contains lpdwNumMessagesRetrieved entries.
	Buffer []byte `idl:"name:lppBuffer;size_is:(, lpdwBufferSize)" json:"buffer"`
	// lpdwBufferSize: A pointer to a DWORD in which to return the size, in bytes, of the
	// buffer.
	BufferSize uint32 `idl:"name:lpdwBufferSize;pointer:ref" json:"buffer_size"`
	// lpdwNumMessagesRetrieved: A pointer to a DWORD value indicating the actual number
	// of messages retrieved. This value SHOULD NOT exceed dwNumMessages.
	MessagesRetrievedLength uint32 `idl:"name:lpdwNumMessagesRetrieved;pointer:ref" json:"messages_retrieved_length"`
	// Return: The FAX_EnumMessages return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumMessagesResponse structure represents the FAX_EnumMessages operation response

func (*EnumMessagesResponse) MarshalNDR

func (o *EnumMessagesResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumMessagesResponse) UnmarshalNDR

func (o *EnumMessagesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumOutboundGroupsRequest

type EnumOutboundGroupsRequest struct {
}

EnumOutboundGroupsRequest structure represents the FAX_EnumOutboundGroups operation request

func (*EnumOutboundGroupsRequest) MarshalNDR

func (o *EnumOutboundGroupsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumOutboundGroupsRequest) UnmarshalNDR

func (o *EnumOutboundGroupsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumOutboundGroupsResponse

type EnumOutboundGroupsResponse struct {
	// ppData: The address of a pointer to a buffer containing an array of _RPC_FAX_OUTBOUND_ROUTING_GROUPW
	// (section 2.2.40) structures.
	Data []byte `idl:"name:ppData;size_is:(, lpdwDataSize)" json:"data"`
	// lpdwDataSize: The size, in bytes, of the returned ppData buffer.
	DataSize uint32 `idl:"name:lpdwDataSize;pointer:ref" json:"data_size"`
	// lpdwNumGroups: The number of groups that are returned.
	GroupsLength uint32 `idl:"name:lpdwNumGroups;pointer:ref" json:"groups_length"`
	// Return: The FAX_EnumOutboundGroups return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumOutboundGroupsResponse structure represents the FAX_EnumOutboundGroups operation response

func (*EnumOutboundGroupsResponse) MarshalNDR

func (o *EnumOutboundGroupsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumOutboundGroupsResponse) UnmarshalNDR

func (o *EnumOutboundGroupsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumOutboundRulesRequest

type EnumOutboundRulesRequest struct {
}

EnumOutboundRulesRequest structure represents the FAX_EnumOutboundRules operation request

func (*EnumOutboundRulesRequest) MarshalNDR

func (o *EnumOutboundRulesRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumOutboundRulesRequest) UnmarshalNDR

func (o *EnumOutboundRulesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumOutboundRulesResponse

type EnumOutboundRulesResponse struct {
	// ppData: A pointer to a buffer containing an array of _RPC_FAX_OUTBOUND_ROUTING_RULEW
	// (section 2.2.42) structures.
	Data []byte `idl:"name:ppData;size_is:(, lpdwDataSize)" json:"data"`
	// lpdwDataSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the
	// size, in bytes, of the lpData buffer.
	DataSize uint32 `idl:"name:lpdwDataSize;pointer:ref" json:"data_size"`
	// lpdwNumRules: A pointer to a DWORD value indicating the number of rules retrieved.
	RulesLength uint32 `idl:"name:lpdwNumRules;pointer:ref" json:"rules_length"`
	// Return: The FAX_EnumOutboundRules return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumOutboundRulesResponse structure represents the FAX_EnumOutboundRules operation response

func (*EnumOutboundRulesResponse) MarshalNDR

func (o *EnumOutboundRulesResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumOutboundRulesResponse) UnmarshalNDR

func (o *EnumOutboundRulesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPortsExRequest

type EnumPortsExRequest struct {
}

EnumPortsExRequest structure represents the FAX_EnumPortsEx operation request

func (*EnumPortsExRequest) MarshalNDR

func (o *EnumPortsExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPortsExRequest) UnmarshalNDR

func (o *EnumPortsExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPortsExResponse

type EnumPortsExResponse struct {
	// Buffer: A pointer to the address of a buffer to receive an array of _FAX_PORT_INFO_EXW
	// (section 2.2.46) structures. Each structure describes one fax port. The data includes,
	// among other items, the line identifier and the current status and capability of the
	// port.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the
	// size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// lpdwNumPorts: A pointer to a DWORD variable that receives the number of ports that
	// are returned by the method.
	PortsLength uint32 `idl:"name:lpdwNumPorts;pointer:ref" json:"ports_length"`
	// Return: The FAX_EnumPortsEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPortsExResponse structure represents the FAX_EnumPortsEx operation response

func (*EnumPortsExResponse) MarshalNDR

func (o *EnumPortsExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPortsExResponse) UnmarshalNDR

func (o *EnumPortsExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPortsRequest

type EnumPortsRequest struct {
}

EnumPortsRequest structure represents the FAX_EnumPorts operation request

func (*EnumPortsRequest) MarshalNDR

func (o *EnumPortsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPortsRequest) UnmarshalNDR

func (o *EnumPortsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPortsResponse

type EnumPortsResponse struct {
	// PortBuffer: A pointer to the address of a buffer to receive an array of _FAX_PORT_INFO
	// (section 2.2.8) structures. Each structure describes one fax port.
	PortBuffer []byte `idl:"name:PortBuffer;size_is:(, BufferSize)" json:"port_buffer"`
	// BufferSize: A variable to return the size, in bytes, of the port buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// PortsReturned: A pointer to a DWORD ([MS-DTYP] section 2.2.9) variable to receive
	// the number of _FAX_PORT_INFO that the method returns in the PortBuffer parameter.
	PortsReturned uint32 `idl:"name:PortsReturned;pointer:ref" json:"ports_returned"`
	// Return: The FAX_EnumPorts return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPortsResponse structure represents the FAX_EnumPorts operation response

func (*EnumPortsResponse) MarshalNDR

func (o *EnumPortsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPortsResponse) UnmarshalNDR

func (o *EnumPortsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumRoutingExtensionsRequest

type EnumRoutingExtensionsRequest struct {
}

EnumRoutingExtensionsRequest structure represents the FAX_EnumRoutingExtensions operation request

func (*EnumRoutingExtensionsRequest) MarshalNDR

func (*EnumRoutingExtensionsRequest) UnmarshalNDR

func (o *EnumRoutingExtensionsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumRoutingExtensionsResponse

type EnumRoutingExtensionsResponse struct {
	// Buffer: A pointer to the address of a buffer to receive an array of FAX_ROUTING_EXTENSION_INFO
	// (section 2.2.49) structures. Each structure contains information about one fax routing
	// extension, as it pertains to the entire Fax Service.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the
	// size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// lpdwNumExts: A pointer to a DWORD variable to receive the number of FAX_ROUTING_EXTENSION_INFO
	// that the method returns in the ppRoutingExtensions parameter. This number MUST equal
	// the total number of fax device routing extensions that are installed on the target
	// server.
	ExtsLength uint32 `idl:"name:lpdwNumExts;pointer:ref" json:"exts_length"`
	// Return: The FAX_EnumRoutingExtensions return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumRoutingExtensionsResponse structure represents the FAX_EnumRoutingExtensions operation response

func (*EnumRoutingExtensionsResponse) MarshalNDR

func (*EnumRoutingExtensionsResponse) UnmarshalNDR

func (o *EnumRoutingExtensionsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumRoutingMethodsRequest

type EnumRoutingMethodsRequest struct {
	// FaxPortHandle: An RPC context handle that references a specified fax port.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
}

EnumRoutingMethodsRequest structure represents the FAX_EnumRoutingMethods operation request

func (*EnumRoutingMethodsRequest) MarshalNDR

func (o *EnumRoutingMethodsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumRoutingMethodsRequest) UnmarshalNDR

func (o *EnumRoutingMethodsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumRoutingMethodsResponse

type EnumRoutingMethodsResponse struct {
	// RoutingInfoBuffer: A pointer to the address of a buffer to receive an array of FAX_ROUTING_METHOD
	// (section 2.2.9) structures. Each structure contains information about one fax routing
	// method.
	RoutingInfoBuffer []byte `idl:"name:RoutingInfoBuffer;size_is:(, RoutingInfoBufferSize)" json:"routing_info_buffer"`
	// RoutingInfoBufferSize: A variable to return the size, in bytes, of the routing method
	// buffer.
	RoutingInfoBufferSize uint32 `idl:"name:RoutingInfoBufferSize;pointer:ref" json:"routing_info_buffer_size"`
	// PortsReturned: A pointer to a DWORD ([MS-DTYP] section 2.2.9) variable to receive
	// the number of FAX_ROUTING_METHOD  that are returned by the RoutingInfoBuffer parameter.
	PortsReturned uint32 `idl:"name:PortsReturned;pointer:ref" json:"ports_returned"`
	// Return: The FAX_EnumRoutingMethods return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumRoutingMethodsResponse structure represents the FAX_EnumRoutingMethods operation response

func (*EnumRoutingMethodsResponse) MarshalNDR

func (o *EnumRoutingMethodsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumRoutingMethodsResponse) UnmarshalNDR

func (o *EnumRoutingMethodsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumerateProvidersRequest

type EnumerateProvidersRequest struct {
}

EnumerateProvidersRequest structure represents the FAX_EnumerateProviders operation request

func (*EnumerateProvidersRequest) MarshalNDR

func (o *EnumerateProvidersRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumerateProvidersRequest) UnmarshalNDR

func (o *EnumerateProvidersRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumerateProvidersResponse

type EnumerateProvidersResponse struct {
	// Buffer: A pointer to the address of a buffer to receive an array of FAX_DEVICE_PROVIDER_INFO
	// (section 2.2.30) structures. Each structure contains information about one fax device
	// provider, as it pertains to the entire fax service.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the
	// size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// lpdwNumProviders: A pointer to a DWORD variable to receive the number of FAX_DEVICE_PROVIDER_INFO
	// that the method returns in Buffer. This number MUST be equal to the total number
	// of FSPs installed on the target server.
	ProvidersLength uint32 `idl:"name:lpdwNumProviders;pointer:ref" json:"providers_length"`
	// Return: The FAX_EnumerateProviders return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumerateProvidersResponse structure represents the FAX_EnumerateProviders operation response

func (*EnumerateProvidersResponse) MarshalNDR

func (o *EnumerateProvidersResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumerateProvidersResponse) UnmarshalNDR

func (o *EnumerateProvidersResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type FaxClient

type FaxClient interface {

	// The fax client application calls the FAX_GetServicePrinters (Opnum 0) method to obtain
	// a list of printers that are visible to the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server failed   |
	//	|                                    | to allocate sufficient memory to hold the array of FAX_PRINTER_INFOW structures  |
	//	|                                    | to be returned to the client.                                                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The lpBuffer parameter is set to a NULL pointer      |
	//	|                                    | value.<136>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of FAX_PRINTER_INFOW           |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetServicePrinters(context.Context, *GetServicePrintersRequest, ...dcerpc.CallOption) (*GetServicePrintersResponse, error)

	// The FAX_ConnectionRefCount (Opnum 1) method is called by the client.<73>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The Connect parameter is set to a value of 0x00000001          |
	//	|                                    | (Connect), and the client's fax user account does not have the                   |
	//	|                                    | ALL_FAX_USER_ACCESS_RIGHTS access rights required for the connect operation.     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The Connect parameter is set to a value of 0x00000000      |
	//	|                                    | (Disconnect) or to a value of 0x00000002 (Release), and the Handle parameter is  |
	//	|                                    | set to a NULL value.<75> § The Connect parameter is set to a value of 0x00000001 |
	//	|                                    | (Connect), and the CanShare parameter is set to a NULL pointer value.<76> §      |
	//	|                                    | The Connect parameter is set to a value other than 0x00000000 (Disconnect),      |
	//	|                                    | 0x00000001 (Connect), or 0x00000002 (Release).                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Fax clients call this method to connect or disconnect from the fax server.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	ConnectionReferenceCount(context.Context, *ConnectionReferenceCountRequest, ...dcerpc.CallOption) (*ConnectionReferenceCountResponse, error)

	// The FAX_OpenPort (Opnum 2) method is called by the client. In response, the server
	// opens a fax port for subsequent use in other fax methods, and it returns a fax port
	// handle for use by the fax client application.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied: the client's fax user account does not have either the         |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG or the FAX_ACCESS_MANAGE_CONFIG access permissions.      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | The call was made with the Flags argument containing the PORT_OPEN_MODIFY flag   |
	//	|                                    | and the port is already opened to be modified by another call.                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_UNIT 0x00000014          | The system cannot find the port for the receiving device by using the line       |
	//	|                                    | identifier specified by the DeviceId argument.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The FaxPortHandle argument is NULL.<140>                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	OpenPort(context.Context, *OpenPortRequest, ...dcerpc.CallOption) (*OpenPortResponse, error)

	// The FAX_ClosePort (Opnum 3) method is called by the client to close an open fax port.
	// The client passes FaxPortHandle, which it received from a call to FAX_OpenPort (section
	// 3.1.4.1.65).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | FaxPortHandle is not a valid open port handle returned by FAX_OpenPort. <71>     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The RPC_FAX_PORT_HANDLE fax data type referenced by the FaxPortHandle parameter  |
	//	|                                    | is set to a NULL pointer value.<72>                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	ClosePort(context.Context, *ClosePortRequest, ...dcerpc.CallOption) (*ClosePortResponse, error)

	// The FAX_EnumJobs (Opnum 4) method is called by the client to enumerate all the fax
	// jobs on the specified fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_JOBS access right.                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the array of FAX_JOB_ENTRY  |
	//	|                                    | (section 2.2.5) structures to be returned to the client.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The Buffer parameter is set to a NULL pointer        |
	//	|                                    | value.<87>                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the array of FAX_JOB_ENTRY to be returned to |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumJobs(context.Context, *EnumJobsRequest, ...dcerpc.CallOption) (*EnumJobsResponse, error)

	// The FAX_GetJob (Opnum 5) method is called by the client to retrieve information regarding
	// a specific job. The job is specified by the JobId parameter. The value for the JobId
	// parameter can be obtained using one of the following methods: FAX_EnumJobs (section
	// 3.1.4.1.21), FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | The client's fax user account does not have access to query the job specified    |
	//	|                                    | by the JobId parameter. This error can happen in any of the following cases: §   |
	//	|                                    | The job specified by the JobId parameter is an outgoing job; the client (the fax |
	//	|                                    | user account currently logged in on the client) is not the owner of this job and |
	//	|                                    | does not have the FAX_ACCESS_QUERY_OUT_JOBS access rights. § The job specified   |
	//	|                                    | by the JobId parameter is an incoming job; incoming faxes are not public and     |
	//	|                                    | the client's fax user account does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER |
	//	|                                    | rights.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the FAX_JOB_ENTRY (section  |
	//	|                                    | 2.2.5) structure to be returned to the client.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The Buffer parameter is set to a NULL pointer value.<110>  |
	//	|                                    | § The fax job specified by the JobId parameter cannot be found (does not         |
	//	|                                    | exist) in the fax server queue. § The fax job specified by JobId cannot be       |
	//	|                                    | queried: the job type is JT_BROADCAST, JS_DELETING, or JS_COMPLETED. For more    |
	//	|                                    | information about job types, see the description of the dwJobType member of the  |
	//	|                                    | FAX_JOB_STATUS (section 2.2.36) structure.                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the FAX_JOB_ENTRY to be returned to the      |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetJob(context.Context, *GetJobRequest, ...dcerpc.CallOption) (*GetJobResponse, error)

	// The FAX_SetJob (Opnum 6) method is called by the client. The value for the JobId
	// parameter can be obtained using one of the following methods: FAX_EnumJobs (section
	// 3.1.4.1.21), FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// On success, the server MUST pause, resume, cancel, or restart the specified fax job
	// and MUST set the job status (section 3.1.1) to reflect the new job state.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | required to perform this operation: § For an outgoing fax job, the client's fax  |
	//	|                                    | user account is not the owner of the fax job and the client's fax user account   |
	//	|                                    | does not have the FAX_ACCESS_MANAGE_OUT_JOBS rights. § For an incoming fax job,  |
	//	|                                    | incoming faxes are not public, and the client's fax user account does not have   |
	//	|                                    | the FAX_ACCESS_MANAGE_RECEIVE_FOLDER rights.                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The fax job indicated by the JobId argument cannot be    |
	//	|                                    | found by the fax server. § The specified Command argument value is JC_DELETE and |
	//	|                                    | the fax job specified by the JobId argument indicates a fax job that is already  |
	//	|                                    | in a state of being deleted or was already deleted. § The specified Command      |
	//	|                                    | argument value is JC_UNKNOWN (0). § The specified Command argument value is not  |
	//	|                                    | JC_DELETE, JC_PAUSE, or JC_RESUME/JC_RESTART. § The specified Command argument   |
	//	|                                    | value is JC_DELETE and the type of the fax job specified by the JobId parameter  |
	//	|                                    | is JT_BROADCAST See the definition of the dwJobType member of the FAX_JOB_STATUS |
	//	|                                    | structure (section 2.2.36).                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_OPERATION 0x000010DD | The specified Command argument value is JC_DELETE, and the specified JobId       |
	//	|                                    | represents a fax job with a current job status other than JS_PENDING or          |
	//	|                                    | JS_RETRYING.                                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetJob(context.Context, *SetJobRequest, ...dcerpc.CallOption) (*SetJobResponse, error)

	// The FAX_GetPageData (Opnum 7) method is called by the client to retrieve data in
	// the first page of an outgoing fax job. The information that is returned in the buffer
	// is an in-memory copy of the first page of the TIFF file. The value for the JobId
	// parameter can be obtained using one of the following methods: FAX_EnumJobs (section
	// 3.1.4.1.21), FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The caller does not have the access rights required for this   |
	//	|                                    | operation: ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The job identified by the JobId parameter is not an outgoing fax job or is not   |
	//	|                                    | a valid fax job for which the fax server can extract the first page of the TIFF  |
	//	|                                    | file.                                                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § One or more of the following parameters are null         |
	//	|                                    | pointers: Buffer, ImageWidth, ImageHeight.<120> § The fax server cannot find the |
	//	|                                    | fax job indicated by JobId.                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPageData(context.Context, *GetPageDataRequest, ...dcerpc.CallOption) (*GetPageDataResponse, error)

	// The FAX_GetDeviceStatus (Opnum 8) method is called by the client to retrieve information
	// about a specified fax device (port).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the FAX_DEVICE_STATUS to be |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The FaxPortHandle parameter is not set to a valid port handle obtained using     |
	//	|                                    | FAX_OpenPort.<106>                                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The StatusBuffer parameter is set to a NULL pointer      |
	//	|                                    | value.<107> § The FaxPortHandle parameter is set to a NULL value.<108>           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the FAX_DEVICE_STATUS to be returned to the  |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetDeviceStatus(context.Context, *GetDeviceStatusRequest, ...dcerpc.CallOption) (*GetDeviceStatusResponse, error)

	// The FAX_Abort (Opnum 9) method is called by the client to abort the specified fax
	// job on the server. The value for the JobId parameter can be obtained using one of
	// the following methods: FAX_EnumJobs (section 3.1.4.1.21), FAX_EnumJobsEx (section
	// 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return either one of the following error codes, one of the fax-specific errors
	// that are defined in section 2.2.52, or one of the other standard errors defined in
	// [MS-ERREF] section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error code is returned when any of the following          |
	//	|                                    | conditions happen: § The client's fax user account does not have                 |
	//	|                                    | FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission, and the specified JobId             |
	//	|                                    | represents an incoming fax job. § The client's fax user account does not have    |
	//	|                                    | FAX_ACCESS_MANAGE_OUT_JOBS permission, and the specified JobId represents an     |
	//	|                                    | outgoing fax job of a different user.                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The fax job identified by the specified JobId is not     |
	//	|                                    | found. § The specified job has already been canceled or is in the process of     |
	//	|                                    | being canceled. § The type of the fax job specified by the JobId parameter is    |
	//	|                                    | JT_BROADCAST (the description of the dwJobType member of the FAX_JOB_STATUS      |
	//	|                                    | structure specified in section 2.2.36).                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_OPERATION 0x000010DD | The operation is invalid. This error code is returned under any of the following |
	//	|                                    | conditions: § The specified JobId represents an incoming fax job (the dwJobType  |
	//	|                                    | member of the FAX_JOB_STATUS describing the job is set to 0x0002), which is      |
	//	|                                    | being routed (the dwQueueStatus member of the FAX_JOB_STATUS describing the job  |
	//	|                                    | is set to JS_ROUTING) and cannot be aborted at this stage. § The specified JobId |
	//	|                                    | represents a fax job in progress (the dwJobType member of the FAX_JOB_STATUS     |
	//	|                                    | describing the job is set to 0x0003), which the fax server failed to route       |
	//	|                                    | (the dwQueueStatus member of the FAX_JOB_STATUS describing the job is set to     |
	//	|                                    | JS_IN_PROGRESS) and cannot be aborted at this stage.                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	Abort(context.Context, *AbortRequest, ...dcerpc.CallOption) (*AbortResponse, error)

	// The FAX_EnumPorts (Opnum 10) method is called by the client to obtain port state
	// information.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the array of _FAX_PORT_INFO to be returned to |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met:<95> § The PortBuffer parameter is set to a NULL pointer      |
	//	|                                    | value. § The PortsReturned parameter is set to a NULL pointer value.             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of _FAX_PORT_INFO to be        |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumPorts(context.Context, *EnumPortsRequest, ...dcerpc.CallOption) (*EnumPortsResponse, error)

	// The FAX_GetPort (Opnum 11) method is called by the client to retrieve port status
	// information for a requested port at the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the FAX_PORT_INFO (section  |
	//	|                                    | 2.2.7) data structure to be returned to the client.                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The FaxPortHandle parameter is not set to a valid port handle obtained using     |
	//	|                                    | FAX_OpenPort.<124>                                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The PortBuffer parameter is set to a NULL pointer          |
	//	|                                    | value.<125> § The FaxPortHandle parameter is set to NULL.<126>                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the FAX_PORT_INFO to be returned to the      |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPort(context.Context, *GetPortRequest, ...dcerpc.CallOption) (*GetPortResponse, error)

	// A fax client application uses the FAX_SetPort (Opnum 12) method to set fax device
	// information. The function sets extension configuration properties that are stored
	// at the device level, such as enabling or disabling sending and receiving, and the
	// auto or manual answering of calls.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the                |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG fax access right.                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D                | The handle specified by the FaxPortHandle argument is not a valid fax port       |
	//	|                                              | handle obtained by a call to FAX_OpenPort.<166>                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                              | conditions are met: § The pointer specified by the PortInfo argument is NULL.    |
	//	|                                              | § The handle specified by the FaxPortHandle argument is NULL. § The requested    |
	//	|                                              | value of the Priority member of the PortInfo parameter is 0, or is greater than  |
	//	|                                              | the total number of installed fax devices. § The size of the PortInfo argument   |
	//	|                                              | specified in the SizeOfStruct field is not the correct size, in bytes, for the   |
	//	|                                              | FAX_PORT_INFO. § When FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED is to be returned, but   |
	//	|                                              | the fax client does not support this error code (the fax client API version      |
	//	|                                              | described in section 3.1.4.1.10 is FAX_API_VERSION_0).                           |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED 0x00001B62 | The fax server cannot complete the operation because all of the following        |
	//	|                                              | conditions are true: If the fax server has an implementation-dependent maximum   |
	//	|                                              | number of supported devices set<167> and the number of fax devices currently     |
	//	|                                              | connected to the server is equal to or exceeds this maximum number of supported  |
	//	|                                              | devices. The device is not send, receive, or manual-receive enabled.             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetPort(context.Context, *SetPortRequest, ...dcerpc.CallOption) (*SetPortResponse, error)

	// The FAX_EnumRoutingMethods (Opnum 13) method is called by the client to enumerate
	// all the routing methods for a specified port that are registered with the fax server
	// in the fax server's list of routing methods. The client calls Fax_OpenPort (section
	// 3.1.4.1.65) to get the value for FaxPortHandle. The function returns detailed information
	// about each of the enumerated routing methods.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_FUNCTION 0x00000001  | The fax server failed to enumerate any routing methods for the fax port          |
	//	|                                    | specified through the FaxPortHandle parameter.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the array of FAX_ROUTING_METHOD to be         |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | This error SHOULD be returned if the FaxPortHandle argument is not a valid       |
	//	|                                    | handle obtained using FAX_OpenPort.<99>                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The RoutingInfoBuffer parameter is set to a NULL pointer value. <100>            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of FAX_ROUTING_METHOD          |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumRoutingMethods(context.Context, *EnumRoutingMethodsRequest, ...dcerpc.CallOption) (*EnumRoutingMethodsResponse, error)

	// The FAX_EnableRoutingMethod (Opnum 14) method is called by the client for a specified
	// fax device (port).
	//
	// The user is expected to set the proper configuration settings on the client before
	// enabling any routing method. For example, in order to enable email, the user SHOULD
	// specify the proper SMTP details, and the client SHOULD then call the FAX_SetReceiptsConfiguration
	// (section 3.1.4.1.91) method, with the bIsToUseForMSRouteThroughEmailMethod value
	// in the pReceipts parameter set to true. Also, the user can ensure that the proper
	// routing method destinations, such as EmailID, Printer, and Folder values, have been
	// specified. The client can use the FAX_SetExtensionData (section 3.1.4.1.79) method
	// to set the EmailID, Printer, and Folder once the user has entered the proper values.
	//
	// On success, the server MUST enable or disable a fax routing method for a specific
	// fax device. The server MUST validate that the client's fax user account has access
	// to enable or disable routing methods. The RoutingGUID parameter MUST be for a valid
	// routing method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG access right.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The data is invalid. The GUID specified by the RoutingGuid parameter is not a    |
	//	|                                    | routing method GUID.                                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This is returned when RoutingGuid is set to NULL.    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnableRoutingMethod(context.Context, *EnableRoutingMethodRequest, ...dcerpc.CallOption) (*EnableRoutingMethodResponse, error)

	// The FAX_GetRoutingInfo (Opnum 15) method is called by the client to retrieve information
	// about a specified routing method that is identified by the passed-in GUID.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the fax routing information |
	//	|                                    | data to be returned to the client.                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | This error code is returned if any of the following conditions are met: § The    |
	//	|                                    | port handle specified by the FaxPortHandle parameter is not a valid fax port     |
	//	|                                    | handle obtained with FAX_OpenPort (section 3.1.4.1.65).<131> § The server cannot |
	//	|                                    | find the routing method identified by the GUID specified by the RoutingGuid      |
	//	|                                    | parameter.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The RoutingGuid parameter is set to a NULL pointer value.  |
	//	|                                    | § The RoutingInfoBuffer parameter is set to a NULL pointer value.<132> § The     |
	//	|                                    | FaxPortHandle parameter is set to a NULL value.<133>                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetRoutingInfo(context.Context, *GetRoutingInfoRequest, ...dcerpc.CallOption) (*GetRoutingInfoResponse, error)

	// The FAX_SetRoutingInfo (Opnum 16) method is called by the client to set routing information
	// for a fax routing method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | The client's fax user account does not have the FAX_ACCESS_MANAGE_CONFIG         |
	//	|                                    | permission.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | This error code is returned if any of the following conditions are met: § The    |
	//	|                                    | FaxPortHandle parameter is not set to a valid fax port handle obtained with      |
	//	|                                    | FAX_OpenPort. § The RoutingGuid parameter is not set to a GUID representing a    |
	//	|                                    | valid routing method.                                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error code is returned if any of the following conditions are met: § The    |
	//	|                                    | RoutingGuid parameter is set to a NULL pointer value. § The RoutingInfoBuffer    |
	//	|                                    | parameter is set to a NULL pointer value. § The RoutingInfoBufferSize parameter  |
	//	|                                    | is set to a value of 0. § The FaxPortHandle parameter is set to a NULL           |
	//	|                                    | value.<172>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetRoutingInfo(context.Context, *SetRoutingInfoRequest, ...dcerpc.CallOption) (*SetRoutingInfoResponse, error)

	// The FAX_EnumGlobalRoutingInfo (Opnum 17) method is called by the client to enumerate
	// global routing information.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_FUNCTION 0x00000001  | The server failed to enumerate the routing methods.                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the array of                |
	//	|                                    | _FAX_GLOBAL_ROUTING_INFOW structures to be returned to the client.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The RoutingInfoBuffer parameter is set to a NULL pointer value.<86>              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the array of _FAX_GLOBAL_ROUTING_INFOW       |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumGlobalRoutingInfo(context.Context, *EnumGlobalRoutingInfoRequest, ...dcerpc.CallOption) (*EnumGlobalRoutingInfoResponse, error)

	// The fax client application calls the FAX_SetGlobalRoutingInfo (Opnum 18) method to
	// set global routing properties such as the routing method priority.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The fax server cannot find the routing method specified by the Guid structure    |
	//	|                                    | field of the RoutingInfo parameter.                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The RoutingInfo parameter is set to a NULL pointer value.  |
	//	|                                    | § The SizeOfStruct structure field of RoutingInfo is not set to the correct      |
	//	|                                    | size, in bytes, for the FAX_GLOBAL_ROUTING_INFOW structure.                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetGlobalRoutingInfo(context.Context, *SetGlobalRoutingInfoRequest, ...dcerpc.CallOption) (*SetGlobalRoutingInfoResponse, error)

	// The FAX_GetConfiguration (Opnum 19) method is called by the client to query the general
	// configuration of the fax server that is described by the _FAX_CONFIGURATIONW (section
	// 2.2.29) structure.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the FAX_CONFIGURATION       |
	//	|                                    | (section 2.2.28) data structure to be returned to the client.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The buffer parameter is set to a NULL pointer value.<104>                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the FAX_CONFIGURATION to be returned to the  |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetConfiguration(context.Context, *GetConfigurationRequest, ...dcerpc.CallOption) (*GetConfigurationResponse, error)

	// The fax client application calls the FAX_SetConfiguration (Opnum 20) method to change
	// the general configuration of the fax server. The FAX_CONFIGURATIONW (section 2.2.28)
	// structure describes the general configuration of the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | access rights, in this case FAX_ACCESS_MANAGE_CONFIG.                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The pointer specified with the FaxConfig argument is     |
	//	|                                    | NULL.<157> § The dwSizeOfStruct member of the FAX_CONFIGURATIONW specified by    |
	//	|                                    | the FaxConfig parameter is different from the correct size, in bytes, for the    |
	//	|                                    | FAX_CONFIGURATIONW, described in section 2.2.28. § The ArchiveOutgoingFaxes      |
	//	|                                    | member of the FAX_CONFIGURATIONW specified by FaxConfig is set to TRUE, and      |
	//	|                                    | the ArchiveDirectory member of the same data structure is set to a NULL pointer  |
	//	|                                    | value.<158>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contain        |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetConfiguration(context.Context, *SetConfigurationRequest, ...dcerpc.CallOption) (*SetConfigurationResponse, error)

	// The FAX_GetLoggingCategories (Opnum 21) method is called by the client. In response,
	// the server MUST return the current logging categories for the fax server to which
	// the client has connected. A logging category determines the errors or other events
	// that the fax server records in the application event log.
	//
	// The client SHOULD free the returned buffer.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have the                |
	//	|                                      | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008   | The server cannot allocate sufficient memory to hold the array of                |
	//	|                                      | FAX_LOG_CATEGORY to be returned to the client.                                   |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned if any of the            |
	//	|                                      | following conditions are met: § The BufferSize parameter is set to a NULL        |
	//	|                                      | pointer value.<114> § The NumberCategories parameter is set to a NULL pointer    |
	//	|                                      | value.<115>                                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ARITHMETIC_OVERFLOW 0x00000216 | This error code is returned if any of the following conditions are met: § The    |
	//	|                                      | total number of logging categories multiplied by the size, in bytes, of the      |
	//	|                                      | FAX_LOG_CATEGORY Fixed_Size block results in a number that exceeds the maximum   |
	//	|                                      | value for a DWORD (0xFFFFFFFF). § The total number of logging categories         |
	//	|                                      | multiplied by the size, in bytes, of the FAX_LOG_CATEGORY Fixed_Size block       |
	//	|                                      | plus the sum of all lengths, in bytes, including NULL terminators, of all Name   |
	//	|                                      | strings from the Variable_Data blocks results in a number that exceeds the       |
	//	|                                      | maximum value for a DWORD (0xFFFFFFFF).                                          |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F      | The server failed to custom marshal the array of FAX_LOG_CATEGORY to be returned |
	//	|                                      | to the client.                                                                   |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetLoggingCategories(context.Context, *GetLoggingCategoriesRequest, ...dcerpc.CallOption) (*GetLoggingCategoriesResponse, error)

	// The FAX_SetLoggingCategories (Opnum 22) method is called by the client. On success,
	// the server MUST modify the current logging categories for the fax server to which
	// the client has connected. A logging category determines the errors or other events
	// that the fax server records in the application event log.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG access rights required for this call.                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The value specified for the Buffer parameter is NULL. §  |
	//	|                                    | The value specified for the BufferSize parameter is 0. § The fax server cannot   |
	//	|                                    | parse the FAX_LOG_CATEGORY pointed at by Buffer, possibly because the buffer     |
	//	|                                    | data is corrupted. § One of the pointer fields of one of the FAX_LOG_CATEGORY    |
	//	|                                    | pointed at by Buffer point to memory locations outside of the memory block       |
	//	|                                    | specified by the Buffer and BufferSize parameters.                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The fax server cannot write to register the modified  |
	//	|                                    | logging categories.                                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	//
	// The FAX_LOG_CATEGORY array MUST be serialized. For more information, see [MSDN-FAX_LOG_CATEGORY].
	// The variable data fields, such as strings, SHOULD be filled with the offset to the
	// string from the beginning of the buffer and not the actual address.
	SetLoggingCategories(context.Context, *SetLoggingCategoriesRequest, ...dcerpc.CallOption) (*SetLoggingCategoriesResponse, error)

	// The FAX_GetSecurity (Opnum 23) method is called by the client to retrieve information
	// about the fax security descriptor from the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	|                 RETURN                  |                                                                                  |
	//	|               VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                         |                                                                                  |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005          | Access is denied. The client's fax user account does not have a permission level |
	//	|                                         | of at least READ_CONTROL.                                                        |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008      | Not enough storage is available to process this command.                         |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057      | The parameter is incorrect. This is returned when pSecurityDescriptor is NULL.   |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_SECURITY_DESCR 0x0000053A | The security descriptor structure is invalid.                                    |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetSecurity(context.Context, *GetSecurityRequest, ...dcerpc.CallOption) (*GetSecurityResponse, error)

	// The FAX_SetSecurity (Opnum 24) method is called by the client. On success, the server
	// MUST set the fax server's security descriptor.
	//
	// Protocol version FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call
	// by returning ERROR_NOT_SUPPORTED (0x00000032). The fax client SHOULD NOT call this
	// method if the protocol version reported by the server is FAX_API_VERSION_3 (0x00030000).
	// For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10). The fax client
	// SHOULD call FAX_SetSecurityEx2 (section 3.1.4.1.95) instead.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access         |
	//	|                                    | rights required for this operation. This error code is returned under any        |
	//	|                                    | of the following conditions, listed by required access right: § WRITE_OWNER,     |
	//	|                                    | when the fax server is a FAX_API_VERSION_1 server and the SecurityInformation    |
	//	|                                    | parameter contains the OWNER_SECURITY_INFORMATION value. § WRITE_DAC, when the   |
	//	|                                    | fax server is a FAX_API_VERSION_1 server and SecurityInformation contains the    |
	//	|                                    | GROUP_SECURITY_INFORMATION or DACL_SECURITY_INFORMATION values. § READ_CONTROL,  |
	//	|                                    | when the fax server is a FAX_API_VERSION_2 server and SecurityInformation        |
	//	|                                    | contains the GROUP_SECURITY_INFORMATION, DACL_SECURITY_INFORMATION,              |
	//	|                                    | or OWNER_SECURITY_INFORMATION values. § ACCESS_SYSTEM_SECURITY, when             |
	//	|                                    | SecurityInformation contains the SACL_SECURITY_INFORMATION value.                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The data contained in the buffer specified by the pSecurityDescriptor parameter  |
	//	|                                    | is not a valid SECURITY_DESCRIPTOR.                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032     | The fax server does not support this operation. This error SHOULD be returned by |
	//	|                                    | FAX_API_VERSION_3 servers.                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § pSecurityInformation is set to a NULL pointer value. §   |
	//	|                                    | The dwBufferSize parameter is set to a value of 0.                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                    | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                    | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                    | corrupted.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetSecurity(context.Context, *SetSecurityRequest, ...dcerpc.CallOption) (*SetSecurityResponse, error)

	// The FAX_AccessCheck (Opnum 25) method is called when the client needs to check whether
	// the client's fax user account has certain access permissions on the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The user does not have a valid fax user account on the         |
	//	|                                    | server.<65>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The pfAccess argument is NULL,<66> or the access     |
	//	|                                    | mask specified by the AccessMask argument contains invalid fax-specific access   |
	//	|                                    | rights.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	AccessCheck(context.Context, *AccessCheckRequest, ...dcerpc.CallOption) (*AccessCheckResponse, error)

	// The FAX_CheckServerProtSeq (Opnum 26) method is called by the client to validate
	// whether a specified protocol sequence is supported by the server.<70> In response,
	// the server MUST validate the specified protocol sequence.
	//
	// Protocol version FAX_API_VERSION_2 (0x00020000) and FAX_API_VERSION_3 (0x00030000)
	// fax servers SHOULD fail this call by returning ERROR_NOT_SUPPORTED (0x00000032).
	// The fax client SHOULD NOT call this method if the protocol version reported by the
	// server is FAX_API_VERSION_2 (0x00020000) or FAX_API_VERSION_3 (0x00030000). For more
	// information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//	|                 RETURN                  |                                                                               |
	//	|               VALUE/CODE                |                                  DESCRIPTION                                  |
	//	|                                         |                                                                               |
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057      | The parameter is incorrect. The lpdwProtSeq argument specified is NULL.       |
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//	| RPC_S_PROTSEQ_NOT_SUPPORTED 0x0000006A7 | The protocol sequence specified by the lpdwProtSeq argument is not supported. |
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	CheckServerProtocolSeq(context.Context, *CheckServerProtocolSeqRequest, ...dcerpc.CallOption) (*CheckServerProtocolSeqResponse, error)

	// The FAX_SendDocumentEx (Opnum 27) method is called by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors (section
	// 2.2.52) or one of the standard errors ([MS-ERREF] section 2.2).
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. This error is returned when any of the following conditions    |
	//	|                                              | are met: § The limit on the number of recipients for a single fax broadcast      |
	//	|                                              | was reached and FAX_ERR_RECIPIENTS_LIMIT couldn't be returned because this       |
	//	|                                              | error code is unsupported by the fax client API version (FAX_API_VERSION_0       |
	//	|                                              | or FAX_API_VERSION_1, described in section 3.1.4.1.10). § The client's fax       |
	//	|                                              | user account does not have the required access rights to submit the fax:         |
	//	|                                              | FAX_ACCESS_SUBMIT (for FAX_PRIORITY_TYPE_LOW), FAX_ACCESS_SUBMIT_NORMAL          |
	//	|                                              | (for FAX_PRIORITY_TYPE_NORMAL), or FAX_ACCESS_SUBMIT_HIGH (for                   |
	//	|                                              | FAX_PRIORITY_TYPE_HIGH), where the FAX_PRIORITY_TYPE value comes from the        |
	//	|                                              | Priority field of the specified lpJobParams structure.                           |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008           | Not enough storage is available to process this command.                         |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D                | The file specified by lpcwstrFileName argument is empty (has a size of 0 bytes). |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_WRITE_PROTECT 0x00000013               | The outgoing fax queue is blocked: The queue state is FAX_OUTBOX_BLOCKED as      |
	//	|                                              | described in the FAX_SetQueue (section 3.1.4.1.90) method.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032               | The fax server SHOULD return this error code when the request described by the   |
	//	|                                              | lpJobParams argument is not supported by the fax server.<152>                    |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                              | following conditions: § One or more of the following arguments are NULL          |
	//	|                                              | or 0: dwNumRecipients, lpcSenderProfile, lpcRecipientList, lpJobParams,          |
	//	|                                              | lpdwlMessageId, lpdwlRecipientMessageIds,<153>lpcCoverPageInfo. § The file       |
	//	|                                              | name indicated by the lpcstwrFileName argument does not indicate a file          |
	//	|                                              | of the expected TIFF format. § The lpwstrCoverPageFileName field of the          |
	//	|                                              | lpcCoverPageInfo structure is not in the expected COV format. § The Priority     |
	//	|                                              | field of the lpJobParams structure is not one of the following values:           |
	//	|                                              | FAX_PRIORITY_TYPE_LOW, FAX_PRIORITY_TYPE_NORMAL, FAX_PRIORITY_TYPE_HIGH. § The   |
	//	|                                              | requested receipt delivery types are invalid (the dwReceiptDeliveryType field    |
	//	|                                              | of the lpJobParams structure), not DRT_EMAIL, DRT_MSGBOX, and/or DRT_NONE. §     |
	//	|                                              | The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client  |
	//	|                                              | fax API version. FAX_API_VERSION_0 (described in section 3.1.4.1.10) does not    |
	//	|                                              | support this error code.                                                         |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_UNSUPPORTED_TYPE 0x0000065E            | Data of this type is not supported. The requested receipt delivery type          |
	//	|                                              | specified by the dwReceiptDeliveryType field of the lpJobParams structure is not |
	//	|                                              | supported by the fax server.                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<154>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_RECIPIENTS_LIMIT 0x00001B65          | The limit on the number of recipients for a single fax broadcast was reached.    |
	//	|                                              | ERROR_ACCESS_DENIED is returned instead of this error code when the client       |
	//	|                                              | does not support it (client-supported fax API version is FAX_API_VERSION_0 or    |
	//	|                                              | FAX_API_VERSION_1, described in section 3.1.4.1.10).                             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SendDocumentEx(context.Context, *SendDocumentExRequest, ...dcerpc.CallOption) (*SendDocumentExResponse, error)

	// The FAX_EnumJobsEx (Opnum 28) method is called by the client to enumerate a specified
	// set of jobs on the server's queue. The type of jobs to enumerate is described by
	// the dwJobTypes argument.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the         |
	//	|                                    | access rights defined in ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83) when        |
	//	|                                    | enumerating jobs of type JT_SEND. The client's fax user account does not have    |
	//	|                                    | the FAX_ACCESS_MANAGE_RECEIVE_FOLDER access right when enumerating jobs of type  |
	//	|                                    | JT_RECEIVE or JT_ROUTING.                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | At least one of the following arguments has been specified as NULL: Buffer,      |
	//	|                                    | BufferSize, or lpdwJobs.<88>                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumJobsEx(context.Context, *EnumJobsExRequest, ...dcerpc.CallOption) (*EnumJobsExResponse, error)

	// The FAX_GetJobEx (Opnum 29) is called by the client to retrieve information about
	// a specified job at the server. The job is identified by the job message ID. The job
	// message ID can be obtained using one of the following methods: FAX_EnumJobs (section
	// 3.1.4.1.21), FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                      | required for this operation: ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).        |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008   | The server cannot allocate memory for the data to be returned to the caller.     |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | This error code is returned under any of the following conditions:<111> § The    |
	//	|                                      | pointer submitted for the Buffer argument is NULL. § The pointer submitted for   |
	//	|                                      | the BufferSize argument is NULL.                                                 |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | The fax server cannot find the fax job indicated by the dwlMessageId argument.   |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetJobEx(context.Context, *GetJobExRequest, ...dcerpc.CallOption) (*GetJobExResponse, error)

	// The FAX_GetCountryList (Opnum 30) method is called by the client to retrieve the
	// list of country/region information that is defined on the server. TAPI maintains
	// this list, which contains information like the country/region name or country/region
	// ID.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the         |
	//	|                                    | permissions covered by the ALL_FAX_USER_ACCESS_RIGHTS enumeration (section       |
	//	|                                    | 2.2.83).                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the FAX_TAPI_LINECOUNTRY_LISTW to be returned |
	//	|                                    | to the client.                                                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error is returned if the Buffer parameter is    |
	//	|                                    | set to a NULL pointer value.<105>                                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the FAX_TAPI_LINECOUNTRY_LISTW to be     |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetCountryList(context.Context, *GetCountryListRequest, ...dcerpc.CallOption) (*GetCountryListResponse, error)

	// The FAX_GetPersonalProfileInfo (Opnum 31) method is called by the client to retrieve
	// information about the personal profile (section 3.1.1) of the sender or the receiver
	// of a fax from the specified fax message that is present in the described message
	// folder. The Folder value MUST be one of the enumerations defined by FAX_ENUM_MESSAGE_FOLDER
	// (section 2.2.2) except FAX_MESSAGE_FOLDER_INBOX. The ProfType value MUST be one of
	// the enumerations that are defined by FAX_ENUM_PERSONAL_PROF_TYPES (section 2.2.4).
	// The dwlMessageId parameter specifies a particular message and can be obtained using
	// the following methods: FAX_EnumJobs (section 3.1.4.1.21), FAX_EnumJobsEx (section
	// 3.1.4.1.22), FAX_EnumMessages (section 3.1.4.1.24), or FAX_EnumMessagesEx (section
	// 3.1.4.1.25).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have any of the         |
	//	|                                      | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS.                               |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_FORMAT 0x0000000B          | The message identified by dwlMessageId is an archived sent message and there was |
	//	|                                      | an error in reading the message file.                                            |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned when any of              |
	//	|                                      | the following conditions happen: § The pointer specified by the Buffer           |
	//	|                                      | parameter is NULL.<122> § The value of the Folder parameter specified is not     |
	//	|                                      | FAX_MESSAGE_FOLDER_QUEUE or FAX_MESSAGE_FOLDER_SENTITEMS.                        |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59   | The fax server failed to allocate memory needed for internal execution of this   |
	//	|                                      | operation.                                                                       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | This error code is returned when any of the following conditions happen: § The   |
	//	|                                      | message identified by the dwlMessageId parameter is not found. § The dwFolder    |
	//	|                                      | parameter is specified as FAX_MESSAGE_FOLDER_QUEUE, but the message identified   |
	//	|                                      | by dwlMessageId is not an outgoing queued message. § The message identified      |
	//	|                                      | by dwlMessageId is an outgoing queued message being deleted. § The message       |
	//	|                                      | identified by dwlMessageId is an outgoing queued message of a different user,    |
	//	|                                      | and this user does not have FAX_ACCESS_QUERY_OUT_JOBS permission. § The message  |
	//	|                                      | identified by dwlMessageId is an archived sent message of a different user, and  |
	//	|                                      | this user does not have FAX_ACCESS_QUERY_ARCHIVES permission.                    |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPersonalProfileInfo(context.Context, *GetPersonalProfileInfoRequest, ...dcerpc.CallOption) (*GetPersonalProfileInfoResponse, error)

	// The FAX_GetQueueStates (Opnum 32) method is called by the client to retrieve the
	// state of the fax queues at the server.
	//
	// The pdwQueueStates parameter MUST NOT be NULL. On success, the server MUST return
	// the state information about the fax service.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the         |
	//	|                                    | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The pdwQueueStates parameter is set to a NULL        |
	//	|                                    | pointer value. <128>                                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetQueueStates(context.Context, *GetQueueStatesRequest, ...dcerpc.CallOption) (*GetQueueStatesResponse, error)

	// The fax client application calls the FAX_SetQueue (Opnum 33) method to change the
	// state of the server queue. In response, the server MUST validate whether the client's
	// fax user account has authorization to set the Queue State of the server. On success,
	// the server MUST set its Queue State as specified by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_OUTOFMEMORY 0x0000000E       | The fax server cannot allocate sufficient memory for a FAX_EVENT_EX_1 (section   |
	//	|                                    | 2.2.68) structure that describes a FAX_EVENT_QUEUE_TYPE_QUEUE_STATE event to be  |
	//	|                                    | signaled to the client. For more details, see FAX_ClientEventQueueEx (section    |
	//	|                                    | 3.2.4.3).                                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The dwQueueStates parameter is set to a              |
	//	|                                    | combination of values that does not contain any of the supported values:         |
	//	|                                    | FAX_INCOMING_BLOCKED, FAX_OUTBOX_BLOCKED, or FAX_OUTBOX_PAUSED.                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                    | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                    | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                    | corrupted.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| RPC_E_SYS_CALL_FAILED 0x80010100   | dwQueueStates includes the FAX_OUTBOX_PAUSED value and the fax server cannot     |
	//	|                                    | pause the server queue, or dwQueueStates does not include the FAX_OUTBOX_PAUSED  |
	//	|                                    | value and the fax server cannot resume the server queue.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetQueue(context.Context, *SetQueueRequest, ...dcerpc.CallOption) (*SetQueueResponse, error)

	// The FAX_GetReceiptsConfiguration (Opnum 34) method is called by the client. On success,
	// the server MUST return the receipt configuration information of the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors ([MS-ERREF] section
	// 2.2).
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the _FAX_RECEIPTS_CONFIGW to be returned to   |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The Buffer parameter is set to a NULL pointer        |
	//	|                                    | value.<129>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the _FAX_RECEIPTS_CONFIGW to be returned |
	//	|                                    | to the client.                                                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	GetReceiptsConfiguration(context.Context, *GetReceiptsConfigurationRequest, ...dcerpc.CallOption) (*GetReceiptsConfigurationResponse, error)

	// The FAX_SetReceiptsConfiguration (Opnum 35) method is called by the client. On success,
	// the server MUST set the receipt configuration information that is used by the fax
	// server to send delivery receipts for fax transmissions.<169>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the required       |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032               | The dwAllowedReceipts member of the pReceipts parameter contains the DRT_MSGBOX  |
	//	|                                              | flag value (described in FAX_ENUM_DELIVERY_REPORT_TYPES), and the fax server     |
	//	|                                              | does not support this type of fax receipts.<170>                                 |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned if any of the            |
	//	|                                              | following conditions are met: § The dwSizeOfStruct member of pReceipts           |
	//	|                                              | is not equal to the correct size, in bytes, for the FAX_RECEIPTS_CONFIGW.        |
	//	|                                              | § The dwAllowedReceipts member of pReceipts contains one or more invalid         |
	//	|                                              | flag values (not defined for the FAX_ENUM_DELIVERY_REPORT_TYPES (section         |
	//	|                                              | 2.2.76) enumeration). § The following member values are set in the submitted     |
	//	|                                              | pReceipts: the DRT_EMAIL flag is set within the dwAllowedReceipts member,        |
	//	|                                              | the bIsToUseForMSRouteThroughEmailMethod member is set to FALSE, and the         |
	//	|                                              | lpwstrSMTPPasswordmember is set to a non-NULL pointer value. § In the submitted  |
	//	|                                              | pReceipts, the DRT_EMAIL flag is set within the dwAllowedReceipts member         |
	//	|                                              | or the bIsToUseForMSRouteThroughEmailMethod member is set to TRUE and the        |
	//	|                                              | SMTPAuthOption member is set to a value lower than FAX_SMTP_AUTH_ANONYMOUS       |
	//	|                                              | or greater than FAX_SMTP_AUTH_NTLM. § The fax server tried to return             |
	//	|                                              | FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client fax API version                 |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<171>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetReceiptsConfiguration(context.Context, *SetReceiptsConfigurationRequest, ...dcerpc.CallOption) (*SetReceiptsConfigurationResponse, error)

	// The FAX_GetReceiptsOptions (Opnum 36) method is called by the client to retrieve
	// the supported receipt options on the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have any of the         |
	//	|                                | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	GetReceiptsOptions(context.Context, *GetReceiptsOptionsRequest, ...dcerpc.CallOption) (*GetReceiptsOptionsResponse, error)

	// The fax client application calls the FAX_GetVersion (Opnum 37) method to obtain the
	// version of the fax server it is connected to.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error codes, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have the                |
	//	|                                | ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83) access rights required for this      |
	//	|                                | operation.                                                                       |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetVersion(context.Context, *GetVersionRequest, ...dcerpc.CallOption) (*GetVersionResponse, error)

	// The FAX_GetOutboxConfiguration (Opnum 38) method is called by the client to retrieve
	// the outbox configuration at the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the FAX_OUTBOX_CONFIG to be returned to the   |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The Buffer parameter is set to a NULL pointer        |
	//	|                                    | value.<119>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetOutboxConfiguration(context.Context, *GetOutboxConfigurationRequest, ...dcerpc.CallOption) (*GetOutboxConfigurationResponse, error)

	// The fax client application calls the FAX_SetOutboxConfiguration (Opnum 39) method
	// to set the current Outbox configuration such as the Discount Time.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions occur: § The dwSizeOfStruct member of the structure pointed at by     |
	//	|                                    | the pOutboxCfg parameter is not the correct size for the FAX_OUTBOX_CONFIG.      |
	//	|                                    | § The dtDiscountStart or dtDiscountEnd members of the structure pointed to by    |
	//	|                                    | pOutboxCfg contain one or more invalid Hour (value greater than 24) or Minute    |
	//	|                                    | (value greater than 60) fields.                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                    | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                    | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                    | corrupted.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetOutboxConfiguration(context.Context, *SetOutboxConfigurationRequest, ...dcerpc.CallOption) (*SetOutboxConfigurationResponse, error)

	// The FAX_GetPersonalCoverPagesOption (Opnum 40) method is called by the client to
	// retrieve information about the supported personal cover-page options.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have any of the         |
	//	|                                | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).<121>         |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPersonalCoverPagesOption(context.Context, *GetPersonalCoverPagesOptionRequest, ...dcerpc.CallOption) (*GetPersonalCoverPagesOptionResponse, error)

	// The FAX_GetArchiveConfiguration (Opnum 41) method is called by the client to retrieve
	// the current archive configuration on the fax server. In response, the server returns
	// archive configuration information about the fax server.
	//
	// Protocol version FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call
	// by returning ERROR_NOT_SUPPORTED (0x00000032). The fax client SHOULD NOT call this
	// method if the protocol version reported by the server is FAX_API_VERSION_3 (0x00030000).
	// For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10). The fax client
	// SHOULD call FAX_GetGeneralConfiguration (section 3.1.4.1.40) instead.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the            |
	//	|                                    | following conditions are met: § The Buffer parameter is set to a NULL            |
	//	|                                    | pointer value. <102> § The value specified for the Folder parameter is not       |
	//	|                                    | FAX_MESSAGE_FOLDER_SENTITEMS or FAX_MESSAGE_FOLDER_INBOX.                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the FAX_ARCHIVE_CONFIGW to be returned to the |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032     | The fax server does not implement this method. Protocol version                  |
	//	|                                    | FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call by returning    |
	//	|                                    | this error code.                                                                 |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetArchiveConfiguration(context.Context, *GetArchiveConfigurationRequest, ...dcerpc.CallOption) (*GetArchiveConfigurationResponse, error)

	// The fax client application calls the FAX_SetArchiveConfiguration (Opnum 42) method
	// to set the archive configuration for a specific fax folder on the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors (section
	// 2.2.52), or one of the other standard errors ([MS-ERREF] section 2.2).
	//
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                 |                                                                                  |
	//	|              VALUE/CODE               |                                   DESCRIPTION                                    |
	//	|                                       |                                                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005        | Access is denied. The client's fax user account does not have the required       |
	//	|                                       | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032        | The fax server does not support this operation. This error code SHOULD be        |
	//	|                                       | returned by the FAX_API_VERSION_3 servers.                                       |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057    | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                       | following conditions: § The dwSizeOfStruct member of the FAX_ARCHIVE_CONFIGW     |
	//	|                                       | specified by the pArchiveCfg parameter is set to an incorrect value. § The       |
	//	|                                       | Folder parameter is set to a value other than FAX_MESSAGE_FOLDER_SENTITEMS and   |
	//	|                                       | FAX_MESSAGE_FOLDER_INBOX. § The bUseArchive member of the FAX_ARCHIVE_CONFIGW    |
	//	|                                       | specified by pArchiveCfg is set to TRUE, and any of the three following          |
	//	|                                       | conditions are also met: § The value of the dwSizeQuotaHighWatermark member      |
	//	|                                       | of the same structure is smaller than the value of the dwSizeQuotaLowWatermark   |
	//	|                                       | member. § The lpcstrFolder member of the same structure is set to NULL. § The    |
	//	|                                       | lpcstrFolder member of the same structure is set to point to an empty character  |
	//	|                                       | string.                                                                          |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F      | The file name is too long. The bUseArchive member of the FAX_ARCHIVE_CONFIGW     |
	//	|                                       | specified by pArchiveCfg is set to a value of TRUE, and the length of the file   |
	//	|                                       | name specified by the lpcstrFolder of the same structure is set to a character   |
	//	|                                       | string longer than 180 characters, excluding the length of the null terminator.  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7     | The fax server cannot store the new archive configuration to the registry. The   |
	//	|                                       | registry could be corrupted.                                                     |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_DIRECTORY_IN_USE 0x00001B5F   | The bUseArchive member of the FAX_ARCHIVE_CONFIGW specified by pArchiveCfg is    |
	//	|                                       | set to a value of TRUE, and the file specified by the lpcstrFolder member of     |
	//	|                                       | the same structure is invalid: the directory of the file is the same as the fax  |
	//	|                                       | queue directory.                                                                 |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_FILE_ACCESS_DENIED 0x00001B60 | The bUseArchive member of the FAX_ARCHIVE_CONFIGW specified by pArchiveCfg       |
	//	|                                       | is set to a value of TRUE, and the file specified by the lpcstrFolder member     |
	//	|                                       | of the same structure is invalid: the fax server encountered an access denied    |
	//	|                                       | (ERROR_ACCESS_DENIED) or a sharing violation (ERROR_SHARING_VIOLATION) error     |
	//	|                                       | when attempting to access the file.                                              |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetArchiveConfiguration(context.Context, *SetArchiveConfigurationRequest, ...dcerpc.CallOption) (*SetArchiveConfigurationResponse, error)

	// The FAX_GetActivityLoggingConfiguration (Opnum 43) method is called by the client
	// to retrieve the current activity logging configuration.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the _FAX_ACTIVITY_LOGGING_CONFIGW to be       |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The Buffer parameter is set to a NULL pointer value. <101>                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the _FAX_ACTIVITY_LOGGING_CONFIGW to be  |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetActivityLoggingConfiguration(context.Context, *GetActivityLoggingConfigurationRequest, ...dcerpc.CallOption) (*GetActivityLoggingConfigurationResponse, error)

	// The fax client application calls the FAX_SetActivityLoggingConfiguration (Opnum 44)
	// method to set options for activity logging. This includes setting whether entries
	// for incoming and outgoing faxes SHOULD be logged and the location of the log file.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                 |                                                                                  |
	//	|              VALUE/CODE               |                                   DESCRIPTION                                    |
	//	|                                       |                                                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005        | Access denied. This error code is returned under any of the following            |
	//	|                                       | conditions: § The client's fax user account does not have the required           |
	//	|                                       | FAX_ACCESS_MANAGE_CONFIG authorization to manage the server configuration. §     |
	//	|                                       | The directory specified by the lpwstrDBPath member of the pActivLogCfg structure |
	//	|                                       | is not a valid fax folder (the fax server does not have rights to create files,  |
	//	|                                       | write to files, enumerate files and/or delete files), the server needs to return |
	//	|                                       | FAX_ERR_FILE_ACCESS_DENIED, and the client does not support this error code.     |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057    | This error code is returned under any of the following conditions: § The         |
	//	|                                       | dwSizeOfStruct member of the FAX_ACTIVITY_LOGGING_CONFIGW specified by the       |
	//	|                                       | pActivLogCfg parameter is set to an incorrect value. The correct size, in bytes, |
	//	|                                       | described in the FAX_ACTIVITY_LOGGING_CONFIGW structure. § The lpwstrDBPath      |
	//	|                                       | field of the structure specified by the pActivLogCfg argument contains an empty  |
	//	|                                       | string or is set to NULL. § The lpwstrDBPath member of the structure specified   |
	//	|                                       | by the pActivLogCfg argument does not indicate a complete path name.             |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F      | The file name is too long. The lpwstrDBPath field of the structure specified by  |
	//	|                                       | the pActivityLog argument contains a path name longer than 248 characters, not   |
	//	|                                       | counting the terminating null character.                                         |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7     | The fax server cannot store the new activity logging configuration in the        |
	//	|                                       | registry. This error can happen if the registry is corrupted.                    |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_FILE_ACCESS_DENIED 0x00001B60 | This error code is returned under any of the following conditions: § The         |
	//	|                                       | folder specified by the lpwstrDBPath member of the pActivityLog structure        |
	//	|                                       | is not a valid fax folder where the server has rights to create, enumerate,      |
	//	|                                       | write to, and delete files. § The fax server cannot create a new (if different   |
	//	|                                       | from the respective existing file) file specified by the lpwstrDBPath            |
	//	|                                       | member of pActivLogCfg, because the server encountered an access denied          |
	//	|                                       | (ERROR_ACCESS_DENIED) or sharing violation error (ERROR_SHARING_VIOLATION) when  |
	//	|                                       | attempting to create the specified file.                                         |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetActivityLoggingConfiguration(context.Context, *SetActivityLoggingConfigurationRequest, ...dcerpc.CallOption) (*SetActivityLoggingConfigurationResponse, error)

	// The FAX_EnumerateProviders (Opnum 45) method is called by the client to enumerate
	// all the FSPs installed on the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error is returned if the BufferSize and/or the  |
	//	|                                    | lpdwNumProviders parameters are set to NULL pointer values.                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of FAX_DEVICE_PROVIDER_INFO    |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59 | The fax server failed to allocate sufficient memory for the return buffer to     |
	//	|                                    | hold the FAX_DEVICE_PROVIDER_INFO to be returned to the client.                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumerateProviders(context.Context, *EnumerateProvidersRequest, ...dcerpc.CallOption) (*EnumerateProvidersResponse, error)

	// The FAX_GetPortEx (Opnum 46) method is called by the client to retrieve port status
	// information for a requested port at the server. The device ID that is passed in SHOULD
	// be obtained from FAX_EnumPorts (section 3.1.4.1.28). This method is an extended version
	// of FAX_GetPort (section 3.1.4.1.51).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this call.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the FAX_PORT_INFO_EXW (section 2.2.45)        |
	//	|                                    | structure to be returned to the client.                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_UNIT 0x00000014          | The system cannot find the port for the receiving device by using the line       |
	//	|                                    | identifier specified by the dwDeviceId argument.                                 |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The Buffer parameter is set to a NULL pointer        |
	//	|                                    | value.<127>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the FAX_PORT_INFO_EXW to be returned to  |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPortEx(context.Context, *GetPortExRequest, ...dcerpc.CallOption) (*GetPortExResponse, error)

	// A fax client application uses the FAX_SetPortEx (Opnum 47) method to set fax device
	// information. The function sets extension configuration properties that are stored
	// at the device level, such as enable or disable sending and receiving, and the auto
	// or manual answering of calls. The value for the dwDeviceId parameter can be obtained
	// using the FAX_EnumPorts (section 3.1.4.1.28) method or the FAX_EnumPortsEx (section
	// 3.1.4.1.29) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The caller does not have the required FAX_ACCESS_MANAGE_CONFIG |
	//	|                                              | authorization for this operation.                                                |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_UNIT 0x00000014                    | The fax server cannot find the device specified by the dwDeviceId parameter.     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | This error code is returned under any of the following conditions: § The         |
	//	|                                              | value of dwDeviceId is zero. § The size of the structure pointed at by           |
	//	|                                              | the pPortInfo parameter, or the value of the dwSizeOfStruct field of this        |
	//	|                                              | structure, do not match the correct size for the FAX_PORT_INFO_EXW. § The        |
	//	|                                              | ReceiveMode field of the structure pointed at by pPortInfo does not contain a    |
	//	|                                              | valid value of the FAX_ENUM_DEVICE_RECEIVE_MODE (section 2.2.55) enumeration.    |
	//	|                                              | § The device specified by dwDeviceId is a virtual device (the Flags field        |
	//	|                                              | of the FAX_PORT_INFO (section 2.2.7) structure is set to FPF_VIRTUAL)            |
	//	|                                              | and the ReceiveMode field of the structure pointed at by pPortInfo is            |
	//	|                                              | FAX_DEVICE_RECEIVE_MODE_MANUAL.                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The length of the lpwstrDescription character string field of the data structure |
	//	|                                              | pointed at by pPortInfo exceeds 253 characters, excluding the length of the NULL |
	//	|                                              | string terminator.                                                               |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The fax server cannot store the updated device information to Registry. The      |
	//	|                                              | Registry might be corrupt.                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED 0x00001B62 | The fax server cannot complete the operation because the number of active        |
	//	|                                              | fax devices that are allowed for this version of the operating system was        |
	//	|                                              | exceeded.<168>                                                                   |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetPortEx(context.Context, *SetPortExRequest, ...dcerpc.CallOption) (*SetPortExResponse, error)

	// The FAX_EnumPortsEx (Opnum 48) method is called by the client to enumerate detailed
	// port state information for each device that is connected to the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the array of _FAX_PORT_INFO_EXW to be         |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The Buffer parameter is set to a NULL pointer value. <96>                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of _FAX_PORT_INFO_EXW to be    |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumPortsEx(context.Context, *EnumPortsExRequest, ...dcerpc.CallOption) (*EnumPortsExResponse, error)

	// The FAX_GetExtensionData (Opnum 49) method is called by the client to retrieve the
	// private configuration data for a fax routing extension or a routing method. Such
	// private configuration data is written with a FAX_SetExtensionData (section 3.1.4.1.79)
	// call. The lpcwstrNameGUID parameter MUST be for a valid routing extension or routing
	// method for which the client requests the private data. The value for the dwDeviceId
	// parameter can be obtained from either the FAX_EnumPorts (section 3.1.4.1.28) or the
	// FAX_EnumPortsEx (section 3.1.4.1.29) methods.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_FILE_NOT_FOUND 0x00000002    | The fax server cannot find the requested data.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: <109> § The lpcwstrNameGUID parameter is set to a NULL       |
	//	|                                    | pointer value. § The ppData parameter is set to a NULL pointer value. § The      |
	//	|                                    | lpdwDataSize parameter is set to a NULL pointer value. § The lpcwstrNameGUID     |
	//	|                                    | parameter holds an invalid curly-braced GUID string.                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contain        |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetExtensionData(context.Context, *GetExtensionDataRequest, ...dcerpc.CallOption) (*GetExtensionDataResponse, error)

	// The fax client application calls the FAX_SetExtensionData (Opnum 50) method in order
	// to write the private data for a routing extension or routing method for one or all
	// fax devices installed on the fax server. The corresponding method that the fax client
	// calls to read this private data is FAX_GetExtensionData (section 3.1.4.1.39). The
	// value for the dwDeviceId parameter can be obtained using either the FAX_EnumPorts
	// (section 3.1.4.1.28) or FAX_EnumPortsEx (section 3.1.4.1.29) method. The lpcwstrNameGUID
	// parameter MUST be for a valid routing extension or routing method for which the client
	// requests the private data to be written.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met:<161> § The lpcwstrComputerName parameter is set to a NULL    |
	//	|                                    | pointer value. § The lpcwstrNameGUID parameter is set to a NULL pointer value.   |
	//	|                                    | § The pData parameter is set to a NULL pointer value. § The dwDataSize parameter |
	//	|                                    | is set to zero. § The lpcwstrNameGUID parameter holds an invalid curly-braced    |
	//	|                                    | GUID string.                                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contain        |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetExtensionData(context.Context, *SetExtensionDataRequest, ...dcerpc.CallOption) (*SetExtensionDataResponse, error)

	// The FAX_AddOutboundGroup (Opnum 51) method is called by the client to add a new outbound
	// routing group.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the                |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG access rights.                                          |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_DUP_NAME 0x00000034                    | The group name specified by the lpwstrGroupName parameter is "< All devices>".   |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU, but the client |
	//	|                                              | fax API version FAX_API_VERSION_0 (described in section 3.1.4.1.10) does not     |
	//	|                                              | support this error code.                                                         |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The length of the character string specified by the lpwstrGroupName parameter,   |
	//	|                                              | excluding the length of the terminating null terminator, is equal to or greater  |
	//	|                                              | than 128 characters.                                                             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The fax server cannot store the new outbound routing group configuration in the  |
	//	|                                              | registry. The registry could be corrupted.                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<68>              |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those by the underlying RPC protocol
	// [MS-RPCE].
	AddOutboundGroup(context.Context, *AddOutboundGroupRequest, ...dcerpc.CallOption) (*AddOutboundGroupResponse, error)

	// The fax client application calls the FAX_SetOutboundGroup (Opnum 52) method to set
	// a new device list to an existing group. The name of the group to remove is specified
	// using the lpwstrGroupName parameter. The value for lpwstrGroupName can be obtained
	// using FAX_EnumOutboundGroups (section 3.1.4.1.26).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | The client's fax user account does not have the required                         |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned when any of the          |
	//	|                                              | following conditions occur: § The dwSizeOfStruct member of the pGroup parameter  |
	//	|                                              | is not equal to the correct size of the RPC_FAX_OUTBOUND_ROUTING_GROUPW. §       |
	//	|                                              | The lpwstrGroupName member of pGroup is set to a NULL pointer value. § The       |
	//	|                                              | lpdwDevices member of pGroup is set to NULL and the dwNumDevices member of       |
	//	|                                              | the same pGroup is set to a value greater than zero. § The fax server tried      |
	//	|                                              | to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client fax API version       |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The length (excluding the terminating null character) of the character           |
	//	|                                              | string pointed at by the lpwstrGroupName member of pGroup is longer than 128     |
	//	|                                              | characters.                                                                      |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<163>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetOutboundGroup(context.Context, *SetOutboundGroupRequest, ...dcerpc.CallOption) (*SetOutboundGroupResponse, error)

	// The fax client application calls the FAX_RemoveOutboundGroup (Opnum 53) method to
	// remove an existing outbound routing group from the fax server. The name of the group
	// to remove is specified using the lpwstrGroupName parameter. The value for lpwstrGroupName
	// can be obtained using FAX_EnumOutboundGroups (section 3.1.4.1.26).<149>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the                |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG access rights.                                          |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client  |
	//	|                                              | fax API version (FAX_API_VERSION_0, described in the section 3.1.4.1.10) does    |
	//	|                                              | not support this error code.                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The group name specified by the lpwstrGroupName argument (excluding the length   |
	//	|                                              | of the terminating null character) is longer than 128 characters.                |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The fax server cannot access the local machine's fax routing group information   |
	//	|                                              | in the registry. The registry could be corrupt.                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_OPERATION 0x000010DD           | The lpwstrGroupName parameter specifies the special routing group "<All          |
	//	|                                              | Devices>".                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_GROUP_NOT_FOUND 0x000001B5A          | The group specified by the lpwstrGroupName argument cannot be found.             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_GROUP_IN_USE 0x00001B5C              | The fax server cannot remove the outbound routing group identified by            |
	//	|                                              | lpwstrGroupName. The outbound routing group is in use by one or more outbound    |
	//	|                                              | routing rules.                                                                   |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in the section 3.1.4.1.10) is       |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<150>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	RemoveOutboundGroup(context.Context, *RemoveOutboundGroupRequest, ...dcerpc.CallOption) (*RemoveOutboundGroupResponse, error)

	// The FAX_EnumOutboundGroups (Opnum 54) method is called by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                              | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | This error code is returned under any of the following conditions: § The         |
	//	|                                              | pointer referenced by the ppData argument is NULL.<92> § The fax server tried    |
	//	|                                              | to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU, but the client fax API version      |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module's API version (described in section 3.1.4.1.10) is         |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running. on a version of the   |
	//	|                                              | operating system that does not support the requested operation.<93>              |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumOutboundGroups(context.Context, *EnumOutboundGroupsRequest, ...dcerpc.CallOption) (*EnumOutboundGroupsResponse, error)

	// The FAX_SetDeviceOrderInGroup (Opnum 55) method is called by the client. The value
	// for the dwDeviceId parameter can be obtained using the FAX_EnumPorts (section 3.1.4.1.28)
	// method or the FAX_EnumPortsEx (section 3.1.4.1.29) method. The name of the group
	// to remove is specified using the lpwstrGroupName parameter. The value for lpwstrGroupName
	// can be obtained using FAX_EnumOutboundGroups (section 3.1.4.1.26).
	//
	// The order is the 1-based location of the device in the group. The value of 1 indicates
	// the device is ordered first in the group. The order of devices in the group determines
	// the order in which they are used to send outgoing faxes when the group is selected
	// by an outbound routing rule.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the required       |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The group name is too long. The length of the character string specified by the  |
	//	|                                              | lpwstrGroupName parameter, excluding the length of the null terminator, exceeds  |
	//	|                                              | 128 characters.                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                              | conditions are met: § The dwDeviceId or the dwNewOrder parameter is set to a     |
	//	|                                              | value of 0. § The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU,  |
	//	|                                              | but the client fax API version (FAX_API_VERSION_0, described in section          |
	//	|                                              | 3.1.4.1.10) does not support this error code.                                    |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_BAD_GROUP_CONFIGURATION 0x00001B5B   | The device specified by dwDeviceId does not exist in the group identified by     |
	//	|                                              | the lpwstrGroupName, or the value of dwNewOrder is greater than the number of    |
	//	|                                              | devices in the group.                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (as described in section 3.1.4.1.10) is        |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<160>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetDeviceOrderInGroup(context.Context, *SetDeviceOrderInGroupRequest, ...dcerpc.CallOption) (*SetDeviceOrderInGroupResponse, error)

	// The FAX_AddOutboundRule (Opnum 56) method is called by the client to add a new outbound
	// rule for the specified outbound group to the fax server’s rules map. The value
	// for the dwDeviceId parameter can be obtained using the FAX_EnumPorts (section 3.1.4.1.28)
	// method or the FAX_EnumPortsEx (section 3.1.4.1.29) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have authorization      |
	//	|                                              | required for this call (FAX_ACCESS_MANAGE_CONFIG).                               |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_UNIT 0x00000014                    | The system cannot find the device specified by the dwDeviceId argument.          |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_GEN_FAILURE 0x0000001F                 | The fax server encountered an exception while processing the character string    |
	//	|                                              | specified by the lpwstrGroupName argument.                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned when any of              |
	//	|                                              | the following conditions are met: § The country code specified with the          |
	//	|                                              | dwCountryCode argument is ROUTING_RULE_COUNTRY_CODE_ANY (not a valid             |
	//	|                                              | rule dialing location). § The lpwstrGroupName argument value is NULL.            |
	//	|                                              | § The value of the dwDeviceId argument is 0. § The fax server needs to           |
	//	|                                              | return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU, but the client fax API version         |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The destination group of the rule specified by the lpwstrGroupName argument      |
	//	|                                              | is longer than the maximum supported value of 128 characters (excluding the      |
	//	|                                              | terminating null character).                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_BAD_GROUP_CONFIGURATION 0x00001B5B   | The fax server encountered an outbound routing group with a bad configuration,   |
	//	|                                              | or the group device list is empty; the status for the new rule object created    |
	//	|                                              | by the server based on the specified dialing location and device ID is           |
	//	|                                              | FAX_RULE_STATUS_ALL_GROUP_DEV_NOT_VALID or FAX_RULE_STATUS_EMPTY_GROUP.          |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<69>              |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	AddOutboundRule(context.Context, *AddOutboundRuleRequest, ...dcerpc.CallOption) (*AddOutboundRuleResponse, error)

	// The FAX_RemoveOutboundRule (Opnum 57) method removes an existing outbound routing
	// rule from the rules map. The default outbound rule cannot be removed.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the required       |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG access rights to perform this operation.                |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. The country code specified by the dwCountryCode      |
	//	|                                              | argument is ROUTING_RULE_COUNTRY_CODE_ANY. Also returned if the fax server       |
	//	|                                              | tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client fax API version |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The fax server encountered a registry error when attempting to remove the        |
	//	|                                              | specified outbound rule registration. The registry could be corrupt.             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_RULE_NOT_FOUND 0x00001B5D            | The fax server failed to locate an outbound routing rule by country/region code  |
	//	|                                              | and area code.                                                                   |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax server is running on a version of the operating system that does not     |
	//	|                                              | support the requested operation.<151>                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	RemoveOutboundRule(context.Context, *RemoveOutboundRuleRequest, ...dcerpc.CallOption) (*RemoveOutboundRuleResponse, error)

	// A fax client application uses the FAX_SetOutboundRule (Opnum 58) method to set the
	// information about an individual fax outbound routing rule.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the required       |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                              | conditions occur: § The lpwstrGroupName member of the Destination member of      |
	//	|                                              | the pRule parameter is set to a NULL pointer value. § The dwDeviceId member      |
	//	|                                              | of the Destination member of pRule is set to zero. § The fax server tried        |
	//	|                                              | to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client fax API version       |
	//	|                                              | (FAX_API_VERSION_0 (described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The length (excluding the terminating null character) of the character string    |
	//	|                                              | pointed at by the lpwstrGroupName member of the Destination member of pRule is   |
	//	|                                              | greater than 128 characters.                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_BAD_GROUP_CONFIGURATION 0x00001B5B   | This error code is returned if any of the following conditions occur: § The      |
	//	|                                              | fax server encountered an outbound routing group with a bad configuration,       |
	//	|                                              | or the group device list is empty. § The status for the outbound routing rule    |
	//	|                                              | object indicated by the specified dialing location (the dwCountryCode and        |
	//	|                                              | dwAreaCode members of pRule) and group name (the lpwstrGroupName member of       |
	//	|                                              | the Destination member of pRule) is FAX_GROUP_STATUS_ALL_ DEV_NOT_VALID or       |
	//	|                                              | FAX_RULE_STATUS_EMPTY_GROUP.                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<164>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetOutboundRule(context.Context, *SetOutboundRuleRequest, ...dcerpc.CallOption) (*SetOutboundRuleResponse, error)

	// The FAX_EnumOutboundRules (Opnum 59) method is called by the client to enumerate
	// all the outbound routing rules that are present on the specified fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                              | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client  |
	//	|                                              | fax API version (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not    |
	//	|                                              | support this error code.                                                         |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module's API version (described in section 3.1.4.1.10) is         |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<94>              |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumOutboundRules(context.Context, *EnumOutboundRulesRequest, ...dcerpc.CallOption) (*EnumOutboundRulesResponse, error)

	// The fax client application calls the FAX_RegisterServiceProviderEx (Opnum 60) method
	// to register a fax service provider (FSP) with the Fax Service. Registration takes
	// place after the Fax Service restarts.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the authorization  |
	//	|                                    | for FAX_ACCESS_MANAGE_CONFIG required for this operation.                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The lpcwstrGuid parameter contains an invalid GUID. §      |
	//	|                                    | The dwFSPIVersion parameter is set to a value other than 0x00010000. § The       |
	//	|                                    | dwCapabilities parameter is set to a value other than 0. § The file path         |
	//	|                                    | specified by the lpcwstrImageName parameter does not exist, or the fax server    |
	//	|                                    | does not have access to the file.                                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The length of the lpcwstrFriendlyName, lpcwstrImageName or lpcwstrTspName        |
	//	|                                    | character strings exceeds MAX_FAX_STRING_LEN characters, excluding the length of |
	//	|                                    | the NULL string terminator.                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ALREADY_EXISTS 0x000000B7    | An FSP is already registered with the same GUID (specified by the lpcwstrGUID    |
	//	|                                    | parameter) or with the same telephony service provider (specified by the         |
	//	|                                    | lpcwstrTspName parameter).                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contains       |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	RegisterServiceProviderEx(context.Context, *RegisterServiceProviderExRequest, ...dcerpc.CallOption) (*RegisterServiceProviderExResponse, error)

	// The FAX_UnregisterServiceProviderEx (Opnum 61) method is called when the client needs
	// to unregister a fax service provider (FSP). In response, the server MUST validate
	// that the client's fax user account has write access. On success, the server MUST
	// remove the service provider for the fax server.<179>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The caller does not have the required FAX_ACCESS_MANAGE_CONFIG |
	//	|                                | authorization for this operation.                                                |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	UnregisterServiceProviderEx(context.Context, *UnregisterServiceProviderExRequest, ...dcerpc.CallOption) (*UnregisterServiceProviderExResponse, error)

	// The FAX_UnregisterRoutingExtension (Opnum 62) method unregisters an existing inbound
	// routing extension.<178>
	//
	// There are no corresponding routing extension registration functions exposed to the
	// FAX client. Registration is a non-RPC process that is done locally on the fax server
	// using any implementation-specific method.
	//
	// On success, the server MUST unregister the specified routing extension.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have sufficient rights  |
	//	|                                | to perform the operation (FAX_ACCESS_MANAGE_CONFIG) or the user account does not |
	//	|                                | exist.                                                                           |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	UnregisterRoutingExtension(context.Context, *UnregisterRoutingExtensionRequest, ...dcerpc.CallOption) (*UnregisterRoutingExtensionResponse, error)

	// The FAX_StartMessagesEnum (Opnum 63) method is called by the client. On success,
	// the server MUST start enumerating messages in one of the archives.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The caller does not have the required                          |
	//	|                                    | ALL_FAX_USERS_ACCESS_RIGHTS access right to execute this call.                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of             |
	//	|                                    | the following conditions: § The value specified for the level argument           |
	//	|                                    | is not equal to 1. § The value specified for the Folder argument is not          |
	//	|                                    | equal to FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS. § The         |
	//	|                                    | lpcwstrAccountName parameter is not NULL and passes validation checks but does   |
	//	|                                    | not correspond to an existing account name. § The account name specified by the  |
	//	|                                    | lpcwstrAccountName argument is a valid account name but it refers to a different |
	//	|                                    | user than the caller.                                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NO_MORE_ITEMS 0x00000103     | No data is available. There are no messages to be enumerated.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	StartMessagesEnum(context.Context, *StartMessagesEnumRequest, ...dcerpc.CallOption) (*StartMessagesEnumResponse, error)

	// The FAX_EndMessagesEnum (Opnum 64) method is called by the client.
	//
	// On success, the server MUST halt the enumerating of messages in the specified archives.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | This error code SHOULD be returned if the handle pointed to by the specified     |
	//	|                                    | lpHandle parameter is not a valid handle returned by FAX_StartMessagesEnum.<79>  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error SHOULD be returned if the handle pointed to by the specified lpHandle |
	//	|                                    | is NULL.<80>                                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EndMessagesEnum(context.Context, *EndMessagesEnumRequest, ...dcerpc.CallOption) (*EndMessagesEnumResponse, error)

	// The FAX_EnumMessages (Opnum 65) method is called by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The fax server failed to allocate memory for the return buffer.                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error code is returned if any of the following conditions are met: § One    |
	//	|                                    | or more of the pointer values specified by the following arguments are NULL:     |
	//	|                                    | lppBuffer, lpdwBufferSize, and lpdwNumMessagesRetrieved. § The hEnum parameter   |
	//	|                                    | is NULL.<89> § The maximum number of messages, specified by the dwNumMessages    |
	//	|                                    | argument, is set to zero.                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The fax server encountered an integer overflow condition while processing        |
	//	|                                    | the request for the maximum number of messages specified by the dwNumMessages    |
	//	|                                    | argument.                                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NO_MORE_ITEMS 0x00000103     | No more data is available. The method reached the end of the lppBuffer message   |
	//	|                                    | buffer and there are no more messages to be enumerated.                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59 | The fax server failed to allocate memory needed for internal execution of the    |
	//	|                                    | command.                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The client expects that this method is incremental and uses an internal context cursor
	// to point to the next set of messages to retrieve for each call. The cursor is set
	// to point to the beginning of the messages in the archive after a successful call
	// to FAX_StartMessagesEnum. Each successful call to FAX_EnumMessages advances the cursor
	// by the number of messages retrieved. After the cursor reaches the end of the enumeration,
	// the method fails with the 0x00000103 (ERROR_NO_MORE_ITEMS) error code. The FAX_EndMessagesEnum
	// (section 3.1.4.1.16) method SHOULD then be called.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumMessages(context.Context, *EnumMessagesRequest, ...dcerpc.CallOption) (*EnumMessagesResponse, error)

	// The FAX_GetMessage (Opnum 66) method is called by the client. The archive can be
	// one of the enumerations that are defined by FAX_ENUM_MESSAGE_FOLDER (section 2.2.2)
	// except FAX_MESSAGE_FOLDER_QUEUE. The dwlMessageId parameter specifies a particular
	// message and can be obtained using the FAX_EnumMessages (section 3.1.4.1.24) method
	// or the FAX_EnumMessagesEx (section 3.1.4.1.25) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have any of the         |
	//	|                                      | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008   | Not enough storage is available to process this command. The fax server failed   |
	//	|                                      | to allocate sufficient memory to hold the FAX_MESSAGEW to be returned to the     |
	//	|                                      | client.                                                                          |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned when any of the          |
	//	|                                      | following conditions are met: § The lppBuffer or lpdwBufferSize parameters       |
	//	|                                      | are set to NULL pointer values.<116> § The dwlMessageId parameter is set         |
	//	|                                      | to a value of 0, and the value of the specified Folder parameter is not          |
	//	|                                      | FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS.                        |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F      | The fax server failed to custom marshal the FAX_MESSAGEW to be returned to the   |
	//	|                                      | client.                                                                          |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | The fax server cannot find the job or message by its identifier.  This           |
	//	|                                      | error code is returned when any of the following conditions are met:             |
	//	|                                      | § The message identified by dwlMessageId is not found. § The message             |
	//	|                                      | identified by dwlMessageId is an unassigned incoming fax. The incoming           |
	//	|                                      | faxes are not public (accessible to all users), and the user does not            |
	//	|                                      | have FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission. § The message identified       |
	//	|                                      | by dwlMessageId is for a different user, and this user does not have             |
	//	|                                      | FAX_ACCESS_QUERY_ARCHIVES permission.                                            |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetMessage(context.Context, *GetMessageRequest, ...dcerpc.CallOption) (*GetMessageResponse, error)

	// The fax client application calls the FAX_RemoveMessage (Opnum 67) method to remove
	// a message from a specific Fax Archive Folder. The dwlMessageId parameter specifies
	// a particular message and can be obtained using the FAX_EnumMessages (section 3.1.4.1.24)
	// method or the FAX_EnumMessagesEx (section 3.1.4.1.25) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section  2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                 |                                                                                  |
	//	|              VALUE/CODE               |                                   DESCRIPTION                                    |
	//	|                                       |                                                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005        | Access is denied. The caller does not have the required access rights            |
	//	|                                       | (ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83)) for this operation.                |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057    | This error code is returned under any of the following conditions: § The value   |
	//	|                                       | of the dwlMessageId parameter is 0. § The value of the Folder parameter is not   |
	//	|                                       | FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENT_ITEMS.                       |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_FILE_ACCESS_DENIED 0x00001B60 | The fax server failed to remove the fax message. When trying to delete the fax   |
	//	|                                       | archived file (the file that represents the fax message to be removed), the fax  |
	//	|                                       | server internally encountered an access denied or sharing violation error.       |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61  | The fax server cannot find the message to be deleted (indicated by               |
	//	|                                       | dwlMessageId). When trying to delete the fax archived file (the file that        |
	//	|                                       | represents the fax message to be removed), the fax server internally encountered |
	//	|                                       | a file not found error.                                                          |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	RemoveMessage(context.Context, *RemoveMessageRequest, ...dcerpc.CallOption) (*RemoveMessageResponse, error)

	// The client calls the FAX_StartCopyToServer (Opnum 68) method to start a copy of a
	// file to the server queue directory (section 3.1.1) for which the client's fax user
	// account has access to submit faxes. The server MUST generate a unique file name and
	// create a file with that name in the server queue directory. Then the server MUST
	// create a copy handle and return it to the client to indicate success.
	//
	// The copy handle returned by the fax server with the lpHandle output argument is valid
	// until the fax client calls FAX_EndCopy (section 3.1.4.1.15), until the fax server
	// is shut down or restarted, or until an implementation-specific condition occurs that
	// invalidates the copy handle on the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the access  |
	//	|                                    | rights required for this operation: FAX_ACCESS_SUBMIT, FAX_ACCESS_SUBMIT_NORMAL, |
	//	|                                    | or FAX_ACCESS_SUBMIT_HIGH.                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The lpcwstrFileExt parameter is set to a NULL pointer    |
	//	|                                    | value.<173> § The file extension that is specified by lpcwstrFileExt is not      |
	//	|                                    | ".cov" or ".tif".                                                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The file name is too long. The buffer specified by the lpwstrServerFileName      |
	//	|                                    | parameter does not have sufficient space to accommodate the server file name.    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	StartCopyToServer(context.Context, *StartCopyToServerRequest, ...dcerpc.CallOption) (*StartCopyToServerResponse, error)

	// The FAX_StartCopyMessageFromServer (Opnum 69) method is called by the fax client
	// to start a copy operation of a fax message from the Fax Archive Folder (section 3.1.1)
	// or of a fax job from the server queue directory (section 3.1.1).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|          RETURN/ERROR CODE           |                                                                                  |
	//	|                VALUES                |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. The dwlMessageId specified is 0 and/or the           |
	//	|                                      | specified Folder enumeration value is not FAX_MESSAGE_FOLDER_QUEUE,              |
	//	|                                      | FAX_MESSAGE_FOLDER_INBOX, or FAX_MESSAGE_FOLDER_SENTITEMS.                       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | This error code is returned if any of the following conditions are met: §        |
	//	|                                      | The fax server cannot find the fax queue entry referenced by the specified       |
	//	|                                      | dwMessageId (invalid job identifier) or the user does not have sufficient        |
	//	|                                      | rights to access the fax queue. § FAX_MESSAGE_FOLDER_QUEUE was specified         |
	//	|                                      | for the Folder parameter, the specified message is not owned by the client's     |
	//	|                                      | fax user account, and the client's fax user account does not have either         |
	//	|                                      | the FAX_ACCESS_QUERY_OUT_JOBS permission or the FAX_ACCESS_MANAGE_OUT_JOBS       |
	//	|                                      | permission. § FAX_MESSAGE_FOLDER_INBOX was specified for Folder, the client's    |
	//	|                                      | fax user account does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission,  |
	//	|                                      | and the bIncomingMessagesArePublic option is not specified in the server         |
	//	|                                      | configuration. § FAX_MESSAGE_FOLDER_SENTITEMS was specified for Folder,          |
	//	|                                      | the client's fax user account does not have the FAX_ACCESS_QUERY_ARCHIVES        |
	//	|                                      | permission, and the specified message is not owned by the client's fax user      |
	//	|                                      | account.                                                                         |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	StartCopyMessageFromServer(context.Context, *StartCopyMessageFromServerRequest, ...dcerpc.CallOption) (*StartCopyMessageFromServerResponse, error)

	// The FAX_WriteFile (Opnum 70) method is called by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.<181>
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | The handle value specified by the hCopy argument is not a valid copy handle      |
	//	|                                    | returned by FAX_StartCopyToServer.                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_GEN_FAILURE 0x0000001F       | A device attached to the system is not functioning. The call was unable to write |
	//	|                                    | the full amount of the data that was requested to be written.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The following conditions can lead to this value being returned: § The parameter  |
	//	|                                    | is incorrect. § The dwDataSize parameter is 0. § The handle value specified by   |
	//	|                                    | the hCopy argument is NULL or the buffer size specified by the dwDataSize is     |
	//	|                                    | zero.                                                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	WriteFile(context.Context, *WriteFileRequest, ...dcerpc.CallOption) (*WriteFileResponse, error)

	// The fax client application calls the FAX_ReadFile (Opnum 71) method to copy a file
	// from the server (in chunks).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | The handle specified by the hCopy argument is not a valid copy handle            |
	//	|                                    | returned by FAX_StartCopyMessageFromServer for which FAX_EndCopy has not been    |
	//	|                                    | called.<142>                                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The handle specified by the hCopy argument is NULL.<143> |
	//	|                                    | § The value specified for the dwMaxDataSize argument is zero. § The value        |
	//	|                                    | specified for the *lpdwDataSize at input (when the call is made) is different    |
	//	|                                    | than the value specified for the dwMaxDataSize argument.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	ReadFile(context.Context, *ReadFileRequest, ...dcerpc.CallOption) (*ReadFileResponse, error)

	// The FAX_EndCopy (Opnum 72) method is called by the client to end a copy operation
	// process from or to the server, and to close the respective copy handle.
	//
	// On success, the server MUST terminate the specified copy operation previously begun
	// with FAX_StartCopyToServer (section 3.1.4.1.97) or FAX_StartCopyMessageFromServer
	// (section 3.1.4.1.96).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN              |                                                                                  |
	//	|           VALUE/CODE            |                                   DESCRIPTION                                    |
	//	|                                 |                                                                                  |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006 | This error code SHOULD be returned if the handle pointed to by the specified     |
	//	|                                 | lphCopy parameter is not a valid handle returned by FAX_StartCopyToServer or     |
	//	|                                 | FAX_StartCopyMessageFromServer.<78>                                              |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EndCopy(context.Context, *EndCopyRequest, ...dcerpc.CallOption) (*EndCopyResponse, error)

	// The FAX_StartServerNotification (Opnum 73) method is called by the client to get
	// notification about legacy events. On success, the server MUST start to notify the
	// fax client about the occurring fax events.
	//
	// Protocol version FAX_API_VERSION_2 (0x00020000) and FAX_API_VERSION_3 (0x00030000)
	// fax servers SHOULD fail this call by returning ERROR_NOT_SUPPORTED (0x00000032).
	// The fax client SHOULD NOT call this method if the protocol version reported by the
	// server is FAX_API_VERSION_2 (0x00020000) or FAX_API_VERSION_3 (0x00030000). For more
	// information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | The client's fax user account does not have sufficient rights for this call,     |
	//	|                                | which is ALL_FAX_USER_ACCESS_RIGHTS, or the user account does not exist.         |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_FORMAT 0x0000000B    | The length, including the terminating null character, of the string specified    |
	//	|                                | by the lpcwstrMachineName argument is greater than 256 characters. The length,   |
	//	|                                | including the terminating null character, of the string specified by the         |
	//	|                                | lpcwstrEndPoint argument is greater than 11 characters.                          |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032 | The request is not supported.                                                    |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// A fax client calls FAX_StartServerNotification to inform the server that it needs
	// to receive the notifications of legacy fax events. The fax server SHOULD call FAX_OpenConnection
	// on the client by using the supplied endpoint, protocol sequence information, and
	// context handle information. The server then sends the notification of legacy events
	// to the client by using FAX_ClientEventQueue (section 3.2.4.2). When the client no
	// longer needs to receive notifications, it calls FAX_EndServerNotification, and the
	// server SHOULD call FAX_CloseConnection (section 3.2.4.4) to close the connection.
	//
	// Note  This method only supports TCP/IP as the transport protocol.
	StartServerNotification(context.Context, *StartServerNotificationRequest, ...dcerpc.CallOption) (*StartServerNotificationResponse, error)

	// The FAX_StartServerNotificationEx (Opnum 74) method is called by the client to get
	// notification about extended or legacy events. On success, the server MUST start to
	// notify the fax client about the occurring fax events.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section  2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error code is returned under any of the following         |
	//	|                                    | conditions: § The value specified for the dwEventTypes argument contains         |
	//	|                                    | the FAX_EVENT_TYPE_NEW_CALL and/or FAX_EVENT_TYPE_IN_QUEUE flags and the         |
	//	|                                    | caller cannot access unsigned faxes: incoming faxes are not public and the       |
	//	|                                    | caller does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER rights. § The value    |
	//	|                                    | specified for the dwEventTypes argument contains the FAX_EVENT_TYPE_CONFIG,      |
	//	|                                    | FAX_EVENT_TYPE_DEVICE_STATUS and/or the FAX_EVENT_TYPE_ACTIVITY flags and the    |
	//	|                                    | caller does not have the FAX_ACCESS_QUERY_CONFIG rights.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_FORMAT 0x0000000B        | This error code is returned under any of the following conditions: § The length  |
	//	|                                    | of the fax client machine name specified by the lpcwstrMachineName argument,     |
	//	|                                    | excluding the length of the terminating null character, is longer than 256       |
	//	|                                    | characters. § The length of the endpoint string specified by the lpcwstrEndPoint |
	//	|                                    | argument, excluding the length of the terminating null character, is longer than |
	//	|                                    | or equal to 11 characters.                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_OUTOFMEMORY 0x0000000E       | Not enough storage is available to complete this operation.                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | Invalid parameter. This error code is returned under any of the following        |
	//	|                                    | conditions: § Any of these arguments specify a NULL pointer value:               |
	//	|                                    | lcpwstrEndPoint, lpcwstrMachineName, lpHandle.<175> § The value specified for    |
	//	|                                    | the dwEventTypes argument is not a bitwise OR combination of the following       |
	//	|                                    | FAX_ENUM_EVENT_TYPE values: § FAX_EVENT_TYPE_IN_QUEUE § FAX_EVENT_TYPE_OUT_QUEUE |
	//	|                                    | § FAX_EVENT_TYPE_CONFIG § FAX_EVENT_TYPE_ACTIVITY § FAX_EVENT_TYPE_QUEUE_STATE   |
	//	|                                    | § FAX_EVENT_TYPE_IN_ARCHIVE § FAX_EVENT_TYPE_OUT_ARCHIVE §                       |
	//	|                                    | FAX_EVENT_TYPE_FXSSVC_ENDED § FAX_EVENT_TYPE_DEVICE_STATUS §                     |
	//	|                                    | FAX_EVENT_TYPE_NEW_CALL                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// A fax client calls FAX_StartServerNotificationEx to inform the server that it needs
	// to receive the notifications of extended or legacy fax events. The fax server SHOULD
	// call FAX_OpenConnection on the client by using the supplied endpoint, protocol sequence
	// information, and context handle information. The server then sends notification of
	// events to the client by using either FAX_ClientEventQueueEx (section 3.2.4.3) or
	// FAX_ClientEventQueue (section 3.2.4.2) as specified by the bEventEx parameter. When
	// the client no longer needs to receive notifications, it calls FAX_EndServerNotification;
	// the server SHOULD call FAX_CloseConnection (section 3.2.4.4) to close the connection.
	StartServerNotificationEx(context.Context, *StartServerNotificationExRequest, ...dcerpc.CallOption) (*StartServerNotificationExResponse, error)

	// The FAX_EndServerNotification (Opnum 75) method is called by the client to stop the
	// notifications from the server, which were initiated by a call to 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).
	//
	// On success, the server MUST stop notifying the client of events.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | This error SHOULD be returned if the lpHandle parameter is not a valid           |
	//	|                                    | handle obtained using the FAX_StartServerNotification method, the                |
	//	|                                    | FAX_StartServerNotificationEx method, or the FAX_StartServerNotificationEx2      |
	//	|                                    | method.<81>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | lpHandle is specified as NULL.<82>                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// To stop notifications, the client SHOULD call FAX_EndServerNotification; the server
	// SHOULD call FAX_CloseConnection section 3.2.4.4) to close the connection.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EndServerNotification(context.Context, *EndServerNotificationRequest, ...dcerpc.CallOption) (*EndServerNotificationResponse, error)

	// The fax client application calls the FAX_GetServerActivity (Opnum 76) method to retrieve
	// the status of the fax queue activity and event log reports.
	//
	// The client MUST allocate memory for the pServerActivity argument. It MUST also set
	// the dwSizeOfStruct field to the correct size, in bytes, of the FAX_SERVER_ACTIVITY
	// structure as described in section 2.2.19.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The dwSizeOfStruct member of the FAX_SERVER_ACTIVITY |
	//	|                                    | specified by the pServerActivity parameter on input is set by the client to an   |
	//	|                                    | incorrect value. For more details about the correct size to be filled in this    |
	//	|                                    | member, see the FAX_SERVER_ACTIVITY.                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetServerActivity(context.Context, *GetServerActivityRequest, ...dcerpc.CallOption) (*GetServerActivityResponse, error)

	// The FAX_SetConfigWizardUsed (Opnum 77) method is called by the client. The server
	// MUST validate that the client's fax user account has access to manage configuration
	// information on the server. On success, the server MUST set a value in the registry
	// indicating whether or not the configuration wizard was used. <159>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	|              RETURN               |                                                                                  |
	//	|            VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                   |                                                                                  |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005    | Access is denied. The caller does not have the required rights                   |
	//	|                                   | (FAX_ACCESS_MANAGE_CONFIG) to perform this operation.                            |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7 | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                   | data is corrupted, or the system's memory image of the file is corrupted.        |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetConfigWizardUsed(context.Context, *SetConfigWizardUsedRequest, ...dcerpc.CallOption) (*SetConfigWizardUsedResponse, error)

	// The FAX_EnumRoutingExtensions (Opnum 78) function is called by the client to enumerate
	// all the routing extensions that are registered with the specified fax server. The
	// function returns detailed information about each of the routing extensions.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the array of FAX_ROUTING_EXTENSION_INFO       |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The Buffer parameter is set to a NULL pointer value. <97>                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of FAX_ROUTING_EXTENSION_INFO  |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumRoutingExtensions(context.Context, *EnumRoutingExtensionsRequest, ...dcerpc.CallOption) (*EnumRoutingExtensionsResponse, error)

	// The FAX_ConnectFaxServer (Opnum 80) method is called by the client to create a connection
	// to the fax server.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000) fax servers SHOULD NOT implement
	// this method.
	//
	// If the underlying RPC layer fails this call by returning RPC_S_PROCNUM_OUT_OF_RANGE
	// (0x000006D1), the fax client SHOULD consider the server protocol (and API version)
	// to be FAX_API_VERSION_0 and MAY retry this request by switching to the FaxObs Server
	// Interface (section 3.1.4.2) and calling the FaxObs_ConnectionRefCount (section 3.1.4.2.2)
	// method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The bAutoCreateAccountOnConnect field of the                   |
	//	|                                | FAX_GENERAL_CONFIG structure is set to FALSE and the calling user's              |
	//	|                                | authenticated user identity does not have a fax user account associated on       |
	//	|                                | the fax server, or the does not have any of the access rights defined in         |
	//	|                                | ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).                                     |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	ConnectFaxServer(context.Context, *ConnectFaxServerRequest, ...dcerpc.CallOption) (*ConnectFaxServerResponse, error)

	// The FAX_GetSecurityEx (Opnum 81) method is called by the clients to retrieve information
	// about the fax security descriptor from the fax server.<134>
	//
	// Protocol version FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call
	// by returning ERROR_NOT_SUPPORTED (0x00000032). The fax client SHOULD NOT call this
	// method if the protocol version reported by the server is FAX_API_VERSION_3 (0x00030000).
	// For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10). The fax client
	// SHOULD call the FAX_GetSecurityEx2 (section 3.1.4.1.60) method instead.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	|                 RETURN                  |                                                                                  |
	//	|               VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                         |                                                                                  |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005          | Access is denied. This error code is returned if any of the following            |
	//	|                                         | conditions occur: § The client's fax user account does not have READ_CONTROL     |
	//	|                                         | access but the requesting SecurityInformation parameter contains one             |
	//	|                                         | of these flags: GROUP_SECURITY_INFORMATION, DACL_SECURITY_INFORMATION,           |
	//	|                                         | or OWNER_SECURITY_INFORMATION. § The client's fax user account does not          |
	//	|                                         | have ACCESS_SYSTEM_SECURITY but the SecurityInformation contains the flag        |
	//	|                                         | SACL_SECURITY_INFORMATION.                                                       |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008      | Not enough storage is available to process this command.                         |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057      | The parameter is incorrect. This is returned when the pSecurityDescriptor        |
	//	|                                         | parameter is NULL.                                                               |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_SECURITY_DESCR 0x0000053A | The security descriptor structure is invalid.                                    |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetSecurityEx(context.Context, *GetSecurityExRequest, ...dcerpc.CallOption) (*GetSecurityExResponse, error)

	// A fax client application calls the FAX_RefreshArchive (Opnum 82) method to notify
	// the server that the archive folder has been changed and SHOULD be refreshed.<145>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The required access level SHOULD be FAX_ACCESS_MANAGE_CONFIG.  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The folder parameter SHOULD either be                |
	//	|                                    | FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS.<147>                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	RefreshArchive(context.Context, *RefreshArchiveRequest, ...dcerpc.CallOption) (*RefreshArchiveResponse, error)

	// The FAX_SetRecipientsLimit (Opnum 83) method is called by the client. A fax client
	// application calls FAX_SetRecipientsLimit to set the recipient limit of a single broadcast
	// job. On success, the server MUST set the recipient limit of a single broadcast job.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000) and FAX_API_VERSION_1 (0x00010000)
	// fax servers SHOULD NOT implement this call. Protocol version FAX_API_VERSION_2 (0x00020000)
	// and FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call by returning
	// ERROR_NOT_SUPPORTED (0x00000032). The fax client MUST NOT call this method if the
	// protocol version reported by the server is FAX_API_VERSION_0 (0x00000000) or FAX_API_VERSION_1
	// (0x00010000). For more information,  see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method SHOULD return 0x00000032 (ERROR_NOT_SUPPORTED).
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetRecipientsLimit(context.Context, *SetRecipientsLimitRequest, ...dcerpc.CallOption) (*SetRecipientsLimitResponse, error)

	// The FAX_GetRecipientsLimit (Opnum 84) method is called by the client to retrieve
	// information about the recipient limit of a single broadcast job.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have any of the         |
	//	|                                | following access rights: FAX_ACCESS_SUBMIT, FAX_ACCESS_SUBMIT_NORMAL, or         |
	//	|                                | FAX_ACCESS_SUBMIT_HIGH.                                                          |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetRecipientsLimit(context.Context, *GetRecipientsLimitRequest, ...dcerpc.CallOption) (*GetRecipientsLimitResponse, error)

	// The FAX_GetServerSKU (Opnum 85) method is called by the client. In response, the
	// server returns the SKU of the fax server operating system.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have any of the         |
	//	|                                | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetServerSKU(context.Context, *GetServerSKURequest, ...dcerpc.CallOption) (*GetServerSKUResponse, error)

	// The FAX_CheckValidFaxFolder (Opnum 86) method is called by the client to check whether
	// the specified path is accessible to the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN                |                                                                                  |
	//	|             VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                     |                                                                                  |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_FILE_NOT_FOUND 0x00000002     | The path specified by the lpcwstrPath argument has a valid structure (the folder |
	//	|                                     | path is valid), but the file does not exist.                                     |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_PATH_NOT_FOUND 0x00000003     | The path specified by the lpcwstrPath argument has a valid structure, but the    |
	//	|                                     | folder path does not exist.                                                      |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005      | Access is denied. The client's fax user account does not have sufficient rights  |
	//	|                                     | for this operation (ALL_FAX_USER_ACCESS_RIGHTS).                                 |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057  | The lpcwstrPath argument is NULL, or the path specified by the lpcwstrPath       |
	//	|                                     | argument is incomplete.                                                          |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F    | The length of the path (including length of the terminating null character)      |
	//	|                                     | specified by the lpcwstrPath argument exceeds 180 characters.                    |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_DIRECTORY_IN_USE 0x00001B5F | The path specified by the lpcwstrPath argument points to a folder currently in   |
	//	|                                     | use by the fax server, such as the server queue directory or the Fax Archive     |
	//	|                                     | Folder (section 3.1.1).                                                          |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	CheckValidFaxFolder(context.Context, *CheckValidFaxFolderRequest, ...dcerpc.CallOption) (*CheckValidFaxFolderResponse, error)

	// The FAX_GetJobEx2 (Opnum 87) method is called by the client to retrieve information
	// about a specified job. The job is identified by the job message ID. The job message
	// ID can be obtained using one of the following methods: FAX_EnumJobs (section 3.1.4.1.21),
	// FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. This error code is returned under any of the following         |
	//	|                                      | conditions: § The client's fax user account does not have any of the permissions |
	//	|                                      | covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83). § For an outgoing fax    |
	//	|                                      | job, the caller is not the owner of the fax job, and the caller does not have    |
	//	|                                      | the FAX_ACCESS_MANAGE_OUT_JOBS rights. § For an incoming fax job, the caller is  |
	//	|                                      | not the receiver of the call, incoming faxes are not public, and the client's    |
	//	|                                      | fax user account does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER rights.      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008   | Not enough storage is available to process this command. The fax server failed   |
	//	|                                      | to allocate sufficient memory to hold the FAX_JOB_ENTRY_EX_1 to be returned to   |
	//	|                                      | the client.                                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                      | following conditions: § The Buffer and/or BufferSize parameters are set to NULL  |
	//	|                                      | pointer values.<112> § The level parameter is set to a value other than 1.       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F      | The fax server failed to custom marshal the FAX_JOB_ENTRY_EX_1 to be returned to |
	//	|                                      | the client.                                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | This error code is returned under any of the following conditions: § The fax     |
	//	|                                      | server cannot find the fax job identified by the value of the dwlMessageID       |
	//	|                                      | parameter. § The user is not the owner of the fax job identified by the value of |
	//	|                                      | dwlMessageID.                                                                    |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetJobEx2(context.Context, *GetJobEx2Request, ...dcerpc.CallOption) (*GetJobEx2Response, error)

	// The FAX_EnumJobsEx2 (Opnum 88) method is called by the client to enumerate a specified
	// set of jobs on the server's queue for a specific fax account. The type of jobs to
	// enumerate is described by the dwJobTypes argument.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error can be returned when any of the following           |
	//	|                                    | conditions are true: § The client's fax user account does not have any of the    |
	//	|                                    | access rights defined in ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83) that are    |
	//	|                                    | required in order to enumerate jobs of type JT_SEND on its own account. That     |
	//	|                                    | is, the fAllAccounts parameter is FALSE. § The client's fax user account does    |
	//	|                                    | not have the FAX_ACCESS_QUERY_OUT_JOBS access right that is required in order to |
	//	|                                    | enumerate jobs of type JT_SEND on all accounts. That is, fAllAccounts is TRUE. § |
	//	|                                    | The client's fax user account does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER |
	//	|                                    | access right that is required in order to enumerate jobs of type JT_RECEIVE or   |
	//	|                                    | JT_ROUTING.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This value is returned when any of the following     |
	//	|                                    | conditions are true: § Either the lpwdJobs or the Buffer parameter is NULL.      |
	//	|                                    | § The BufferSize parameter is 0. § The level parameter is not set to 1. § The    |
	//	|                                    | lpcwstrAccountName parameter contains an improperly formatted account name or    |
	//	|                                    | points to a nonexistent or other user account.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+-----------------------------------------------------------------+
	//	|                            |                                                                 |
	//	|           FORMAT           |                           DESCRIPTION                           |
	//	|                            |                                                                 |
	//	+----------------------------+-----------------------------------------------------------------+
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user with machine_name as the local machine's name. |
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                            |
	//	+----------------------------+-----------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol [MS-RPCE].
	EnumJobsEx2(context.Context, *EnumJobsEx2Request, ...dcerpc.CallOption) (*EnumJobsEx2Response, error)

	// The FAX_GetMessageEx (Opnum 89) method is called by the client to retrieve a particular
	// message from one of the specified fax message archives. The dwlMessageId parameter
	// specifies a particular message and can be obtained using the FAX_EnumMessages (section
	// 3.1.4.1.24) method or the FAX_EnumMessagesEx (section 3.1.4.1.25) method. The folder
	// value MUST be one of the enumerations that are defined by FAX_ENUM_MESSAGE_FOLDER
	// (section 2.2.2), except FAX_MESSAGE_FOLDER_QUEUE. This is an extended version of
	// FAX_GetMessage (section 3.1.4.1.45), because it takes an additional level parameter
	// supporting the extended structure FAX_MESSAGE_1 (section 2.2.37).
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1  (0x00010000),
	// and  FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call.
	// The fax client MUST NOT call this method if the protocol version reported by the
	// server is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have any of the         |
	//	|                                      | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code results under any of the following   |
	//	|                                      | conditions: § The value of the specified level parameter is not 1. § The pointer |
	//	|                                      | specified by the lppBuffer parameter is NULL.<117> § The pointer specified       |
	//	|                                      | by the lpdwBufferSize parameter is NULL.<118> § The value of the dwlMessageId    |
	//	|                                      | parameter is specified as 0. § The value of the specified Folder parameter is    |
	//	|                                      | not FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS.                    |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59   | The fax server failed to allocate memory needed for internal execution of this   |
	//	|                                      | operation.                                                                       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | This error code is returned under any of the following conditions: § The         |
	//	|                                      | message identified by the dwlMessageId parameter is not found. § The message     |
	//	|                                      | identified by dwlMessageId is an unassigned incoming fax. The incoming           |
	//	|                                      | faxes are not public (accessible to all users), and the user does not            |
	//	|                                      | have FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission. § The message identified       |
	//	|                                      | by dwlMessageId is for a different user, and this user does not have             |
	//	|                                      | FAX_ACCESS_QUERY_ARCHIVES permission.                                            |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetMessageEx(context.Context, *GetMessageExRequest, ...dcerpc.CallOption) (*GetMessageExResponse, error)

	// The FAX_StartMessagesEnumEx (Opnum 90) method is called by the client. On success,
	// the server MUST start enumerating messages in the specified archive folder.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// A fax client application calls the FAX_StartMessagesEnumEx to start enumerating messages
	// from the archives. Each enumerated message has more information than those that are
	// returned by the FAX_StartMessagesEnum (section 3.1.4.1.98) method, namely whether
	// or not the message has a cover page, the type of receipts selected, the email address
	// for receipts, and the flags from FAX_ENUM_MSG_FLAGS (section 2.2.53) enumeration.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section  2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error code is returned under any of the following         |
	//	|                                    | conditions: § The caller does not have the required basic access rights to       |
	//	|                                    | execute this call (ALL_FAX_USERS_ACCESS_RIGHTS). § The client's fax user account |
	//	|                                    | does not have access to query messages for all accounts. The value specified for |
	//	|                                    | the fAllAccounts parameter is not equal to zero, and the caller does not have    |
	//	|                                    | the FAX_ACCESS_QUERY_ARCHIVES rights.                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The value specified for the level argument is not        |
	//	|                                    | equal to 1. § The value specified for the Folder argument is not equal to        |
	//	|                                    | FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS. § The account name     |
	//	|                                    | specified for the lpcwstrAccountName argument appears valid (pointer is not      |
	//	|                                    | NULL), but the account name is not a valid fax account name. § The account name  |
	//	|                                    | specified by the lpcwstrAccountName argument is a valid account name, but it     |
	//	|                                    | refers to a different user than the caller.                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NO_MORE_ITEMS 0x00000103     | No data is available. There are no messages to be enumerated.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// A fax client application calls the FAX_StartMessagesEnumEx function to start enumerating
	// messages in one of the archives. The enumerated messages have more information than
	// those that are returned by FAX_StartMessagesEnum, namely, whether it has a cover
	// page, the type of receipts selected, the email address for receipts, and the flags
	// from FAX_ENUM_MSG_FLAGS.
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+---------------------------------------------------------------------+
	//	|                            |                                                                     |
	//	|           FORMAT           |                             DESCRIPTION                             |
	//	|                            |                                                                     |
	//	+----------------------------+---------------------------------------------------------------------+
	//	+----------------------------+---------------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user that has machine_name as the local machine's name. |
	//	+----------------------------+---------------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                                |
	//	+----------------------------+---------------------------------------------------------------------+
	StartMessagesEnumEx(context.Context, *StartMessagesEnumExRequest, ...dcerpc.CallOption) (*StartMessagesEnumExResponse, error)

	// The FAX_EnumMessagesEx (Opnum 91) method is called by the client. This message differs
	// from the FAX_EnumMessages (section 3.1.4.1.24) in that this function takes a level
	// parameter, which differentiates the type of message information structure that the
	// function returns.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The fax server failed to allocate memory for the return buffer.                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of                |
	//	|                                    | the following conditions are met: § One or more of the pointer values            |
	//	|                                    | specified by the following arguments are NULL: lppBuffer, lpdwBufferSize,        |
	//	|                                    | lpdwNumMessagesRetrieved, and lpdwLevel. § hEnum is NULL<90> or is an            |
	//	|                                    | invalid handle that is not returned by a call to FAX_StartMessagesEnum or        |
	//	|                                    | FAX_StartMessagesEnumEx <91>. § dwNumMessages is zero.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The fax server encountered an integer overflow condition while processing        |
	//	|                                    | the request for the maximum number of messages specified by the dwNumMessages    |
	//	|                                    | argument.                                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NO_MORE_ITEMS 0x00000103     | No more data is available. The method reached the end of the lppBuffer message   |
	//	|                                    | buffer and there are no more messages to be enumerated.                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59 | The fax server failed to allocate memory needed for internal execution of the    |
	//	|                                    | command.                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The client implementation assumes that this method is incremental and uses an internal
	// context cursor to point to the next set of messages to retrieve for each call. The
	// cursor is set to point to the beginning of the messages in the archive after a successful
	// call to FAX_StartMessagesEnum or FAX_StartMessagesEnumEx. Each successful call to
	// FAX_EnumMessagesEx advances the cursor by the number of messages retrieved. After
	// the cursor reaches the end of the enumeration, the method fails with the 0x00000103
	// (ERROR_NO_MORE_ITEMS) error code. The FAX_EndMessagesEnum (section 3.1.4.1.16) method
	// can then be called to halt the enumeration of messages.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumMessagesEx(context.Context, *EnumMessagesExRequest, ...dcerpc.CallOption) (*EnumMessagesExResponse, error)

	// The FAX_StartServerNotificationEx2 (Opnum 92) method is called by the client to get
	// notification about extended events. On success, the server MUST start to notify the
	// fax client about the occurring fax events.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error is returned when any of the following conditions    |
	//	|                                    | occur: § The dwEventTypes parameter is set to a value containing the             |
	//	|                                    | FAX_EVENT_TYPE_NEW_CALL or FAX_EVENT_TYPE_IN_QUEUE flags, the incoming faxes are |
	//	|                                    | not public (accessible to all users), and the client's fax user account does not |
	//	|                                    | have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission. § dwEventTypes is set to   |
	//	|                                    | a value containing the FAX_EVENT_TYPE_CONFIG, FAX_EVENT_TYPE_DEVICE_STATUS, or   |
	//	|                                    | FAX_EVENT_TYPE_ACTIVITY flags and the client's fax user account does not have    |
	//	|                                    | the FAX_ACCESS_QUERY_CONFIG permission.                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_OUTOFMEMORY 0x0000000E       | The fax server failed to allocate the memory required for the internal server's  |
	//	|                                    | execution of this operation request.                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_GEN_FAILURE 0x0000001F       | The server threw internally an exception during the execution of this operation, |
	//	|                                    | and the server handled this exception.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § dwEventTypes is set to a value containing the            |
	//	|                                    | FAX_EVENT_TYPE_LEGACY or FAX_EVENT_TYPE_LOCAL_ONLY flags, or to another          |
	//	|                                    | value that is not a combination made exclusively from the flags valid            |
	//	|                                    | for this operation: FAX_EVENT_TYPE_IN_QUEUE, FAX_EVENT_TYPE_OUT_QUEUE,           |
	//	|                                    | FAX_EVENT_TYPE_CONFIG, FAX_EVENT_TYPE_ACTIVITY, FAX_EVENT_TYPE_QUEUE_STATE,      |
	//	|                                    | FAX_EVENT_TYPE_IN_ARCHIVE, FAX_EVENT_TYPE_OUT_ARCHIVE,                           |
	//	|                                    | FAX_EVENT_TYPE_FXSSVC_ENDED, FAX_EVENT_TYPE_DEVICE_STATUS, or                    |
	//	|                                    | FAX_EVENT_TYPE_NEW_CALL. § The level parameter is not set to 1. § One or more    |
	//	|                                    | of the following parameters are set to NULL pointer values: lpcwstrEndpoint,     |
	//	|                                    | lpcwstrMachineName, or lpHandle.<177> § The lpcwstrAccountName parameter is set  |
	//	|                                    | to a non-null character string pointer value which does not specify a valid fax  |
	//	|                                    | account name. § lpcwstrAccountName is set to a non-null character string pointer |
	//	|                                    | value which specifies a valid fax account name for a different user than the     |
	//	|                                    | user who is currently logged on the client.                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// The account name is the one on which to listen for events and a level that specifies
	// the type of the structure that describes each event. The name lpcwstrAccountName
	// is accessed only for account-based events.
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+--------------------------------------------------------------------------+
	//	|                            |                                                                          |
	//	|           FORMAT           |                               DESCRIPTION                                |
	//	|                            |                                                                          |
	//	+----------------------------+--------------------------------------------------------------------------+
	//	+----------------------------+--------------------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user that has machine_name as the name of the local machine. |
	//	+----------------------------+--------------------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                                     |
	//	+----------------------------+--------------------------------------------------------------------------+
	//
	// A fax client calls FAX_StartServerNotificationEx2 (section 3.1.4.1.102) to inform
	// the server that it needs to receive notifications of extended fax events. The fax
	// server SHOULD call FAX_OpenConnection on the client by using the supplied endpoint,
	// protocol sequence information, and context handle information. The server then sends
	// notification of events to the client by using FAX_ClientEventQueueEx (section 3.2.4.3).
	// When the client no longer needs to receive notifications, it calls FAX_EndServerNotification
	// (section 3.1.4.1.17), and the server SHOULD call FAX_CloseConnection (section 3.2.4.4)
	// to close the connection.
	StartServerNotificationEx2(context.Context, *StartServerNotificationEx2Request, ...dcerpc.CallOption) (*StartServerNotificationEx2Response, error)

	// The FAX_CreateAccount (Opnum 93) method is called by the client to request a new
	// fax user account to be created based on an existing valid operating system user account.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors that are defined
	// in [MS-ERREF] section 2.2.
	//
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                 |                                                                                  |
	//	|              VALUE/CODE               |                                   DESCRIPTION                                    |
	//	|                                       |                                                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005        | Access is denied. The client's fax user account does not have the                |
	//	|                                       | FAX_ACCESS_MANAGE_CONFIG access right.                                           |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057    | The parameter is incorrect. This value is returned when any of the following     |
	//	|                                       | conditions are true: § The Buffer parameter is NULL. § The BufferSize parameter  |
	//	|                                       | is 0. § The level parameter is greater than zero. § The account name, as pointed |
	//	|                                       | to by the account information contained in Buffer, is NULL or is specified using |
	//	|                                       | an invalid format.                                                               |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ALREADY_EXISTS 0x000000B7       | The fax account already exists.                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE_STATE 0x00000649 | The handle is in an invalid state.                                               |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name contained in the lpcwstrAccountName member of the FAX_ACCOUNT_INFO_0,
	// as pointed to by the Buffer parameter, MUST be in one of the following formats. Any
	// other format is invalid.
	//
	//	+----------------------------+-----------------------------------------------------------------+
	//	|                            |                                                                 |
	//	|           FORMAT           |                           DESCRIPTION                           |
	//	|                            |                                                                 |
	//	+----------------------------+-----------------------------------------------------------------+
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user with machine_name as the local machine's name. |
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                            |
	//	+----------------------------+-----------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	CreateAccount(context.Context, *CreateAccountRequest, ...dcerpc.CallOption) (*CreateAccountResponse, error)

	// The FAX_DeleteAccount (Opnum 94) method is called by the client to delete a fax user
	// account previously created with FAX_CreateAccount (section 3.1.4.1.12).
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// On success, the server MUST delete the specified fax account. The server MUST validate
	// that the client's fax user account has access to delete fax user accounts on the
	// fax server. The client can delete any fax user accounts or the current fax user account.
	// Any subsequent operations on the deleted fax user accounts MUST be failed by the
	// server with the error code ERROR_ACCESS_DENIED. The fax server SHOULD allow deleting
	// a fax user account even if the underlying operating system's user account has been
	// deleted after this fax user account was created.
	//
	// Return Values: This method MUST return 0 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, a fax-specific error defined in
	// section 2.2.52, or one of the standard errors that are defined in [MS-ERREF] section
	// 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|            RETURN ERROR            |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG access right.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The account name pointed to by the                   |
	//	|                                    | lpcwstrAccountName parameter is NULL or improperly formatted.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+-----------------------------------------------------------------+
	//	|                            |                                                                 |
	//	|           FORMAT           |                           DESCRIPTION                           |
	//	|                            |                                                                 |
	//	+----------------------------+-----------------------------------------------------------------+
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user with machine_name as the local machine's name. |
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a remote (not local) user.                                  |
	//	+----------------------------+-----------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	DeleteAccount(context.Context, *DeleteAccountRequest, ...dcerpc.CallOption) (*DeleteAccountResponse, error)

	// The FAX_EnumAccounts (Opnum 95) method is called by the client to enumerate all the
	// fax accounts on the server.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1  (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | The client's fax user account does not have the access right                     |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG to perform this operation.                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The fax server failed to allocate the amount of memory needed to process this    |
	//	|                                    | request.                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The value specified for the level parameter is not         |
	//	|                                    | equal to zero. § The pointer specified by the Buffer parameter is NULL.<83>      |
	//	|                                    | § The value pointed to by the BufferSize parameter is zero.<84> § The pointer    |
	//	|                                    | specified by the lpdwAccounts parameter is NULL.<85>                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+-----------------------------------------------------------------+
	//	|                            |                                                                 |
	//	|           FORMAT           |                           DESCRIPTION                           |
	//	|                            |                                                                 |
	//	+----------------------------+-----------------------------------------------------------------+
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user with machine_name as the local machine's name. |
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                            |
	//	+----------------------------+-----------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumAccounts(context.Context, *EnumAccountsRequest, ...dcerpc.CallOption) (*EnumAccountsResponse, error)

	// The FAX_GetAccountInfo (Opnum 96) method is called by the client to retrieve information
	// about a specified fax user account. The fax user account for which information is
	// retrieved is specified by the lpcwstrAccountName parameter, which can be obtained
	// using the FAX_EnumAccounts (section 3.1.4.1.18) method.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_FILE_NOT_FOUND 0x00000002    | The account name specified by the lpcwstrAccountName parameter appears valid but |
	//	|                                    | does not exist.                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The user account specified by the lpwstrAccountName            |
	//	|                                    | argument is not the caller, and it does not have the fax access rights           |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The value of the level argument is greater than      |
	//	|                                    | zero. The account name specified by lpcwstrAccountName is not a valid fax        |
	//	|                                    | account name.                                                                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+--------------------------------------------------------------------------+
	//	|                            |                                                                          |
	//	|           FORMAT           |                               DESCRIPTION                                |
	//	|                            |                                                                          |
	//	+----------------------------+--------------------------------------------------------------------------+
	//	+----------------------------+--------------------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user that has machine_name as the name of the local machine. |
	//	+----------------------------+--------------------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                                     |
	//	+----------------------------+--------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetAccountInfo(context.Context, *GetAccountInfoRequest, ...dcerpc.CallOption) (*GetAccountInfoResponse, error)

	// The FAX_GetGeneralConfiguration (Opnum 97) method is called by the client to request
	// information about the general configuration at the server.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server failed   |
	//	|                                    | to allocate sufficient memory to hold the FAX_GENERAL_CONFIG to be returned to   |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The level parameter is set to a value other than 0.  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the FAX_GENERAL_CONFIG to be returned to |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetGeneralConfiguration(context.Context, *GetGeneralConfigurationRequest, ...dcerpc.CallOption) (*GetGeneralConfigurationResponse, error)

	// The fax client application calls the FAX_SetGeneralConfiguration (Opnum 98) method
	// to set the configuration options provided for the fax service. The FAX_GENERAL_CONFIG
	// (section 2.2.31) structure MUST be serialized. The variable data fields, such as
	// strings, MUST be filled with the offset to the string from the beginning of the buffer
	// and not the actual address. In response, the server MUST validate that the client's
	// fax user account has access to manage configuration on the server. On success, the
	// server MUST set the requested configuration options.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1  (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | In order to process the data for custom marshaling, the server needs to make     |
	//	|                                    | a copy of the FAX_GENERAL_CONFIG provided by the client; but the server cannot   |
	//	|                                    | allocate sufficient memory to hold the copy of the FAX_GENERAL_CONFIG.           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The lpcwstrArchiveLocationOffset member of the Fixed_Portion of the              |
	//	|                                    | FAX_GENERAL_CONFIG referenced by the Buffer parameter is set to an invalid       |
	//	|                                    | offset value.                                                                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The level parameter is set to a value greater than 0. §    |
	//	|                                    | In the FAX_GENERAL_CONFIG referenced by Buffer, the dtDiscountStart.Hour member  |
	//	|                                    | is set to a value greater than or equal to 24, and the dtDiscountStart.Minute    |
	//	|                                    | member is set to a value greater than or equal to 60. § In the                   |
	//	|                                    | FAX_GENERAL_CONFIG referenced by Buffer, the dtDiscountEnd.Hour member is set    |
	//	|                                    | to a value greater than or equal to 24, and the dtDiscountEnd.Minute member      |
	//	|                                    | is set to a value greater than or equal to 60. § In the FAX_GENERAL_CONFIG       |
	//	|                                    | referenced by Buffer, the bUseArchive member is set to TRUE and the              |
	//	|                                    | lpcwstrArchiveLocationOffset member is set to 0. § In the FAX_GENERAL_CONFIG     |
	//	|                                    | referenced by Buffer, the dwSizeQuotaHighWaterMark member is set to a value      |
	//	|                                    | greater than the value of the dwSizeQuotaLowWaterMark member. § In the           |
	//	|                                    | FAX_GENERAL_CONFIG referenced by Buffer, the dwQueueState member contains one    |
	//	|                                    | or more of the following flag values: FAX_INCOMING_BLOCKED, FAX_OUTBOX_BLOCKED,  |
	//	|                                    | or FAX_OUTBOX_PAUSED. § The value of the BufferSize parameter is less than       |
	//	|                                    | the size required to hold the custom marshaled FAX_GENERAL_CONFIG structure      |
	//	|                                    | referenced by Buffer. This size is specified by the dwSizeOfStruct member of the |
	//	|                                    | FAX_GENERAL_CONFIG referenced by Buffer.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to parse the custom marshaled FAX_GENERAL_CONFIG.              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetGeneralConfiguration(context.Context, *SetGeneralConfigurationRequest, ...dcerpc.CallOption) (*SetGeneralConfigurationResponse, error)

	// The FAX_GetSecurityEx2 (Opnum 99) method is called by the client to retrieve information
	// about the fax security descriptor from the fax server.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	|                 RETURN                  |                                                                                  |
	//	|               VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                         |                                                                                  |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005          | Access is denied. This error is returned when there is a mismatch between        |
	//	|                                         | the access level requested (Read control, access to set/get SACL security        |
	//	|                                         | information or both) through the bit pattern in SecurityInformation and the      |
	//	|                                         | current authorized level.                                                        |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008      | Not enough storage is available to process this command.                         |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057      | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                         | following conditions: § The pSecurityDescriptor parameter is NULL. § The value   |
	//	|                                         | of the SecurityInformation parameter does not conform to the definition of valid |
	//	|                                         | bit patterns for this parameter.                                                 |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_SECURITY_DESCR 0x0000053A | The security descriptor structure is invalid.                                    |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	GetSecurityEx2(context.Context, *GetSecurityEx2Request, ...dcerpc.CallOption) (*GetSecurityEx2Response, error)

	// The FAX_SetSecurityEx2 (Opnum 100) method is called by the client. On success, the
	// server MUST set the fax server's security descriptor.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1  (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	// The fax client SHOULD call FAX_SetSecurity (section 3.1.4.1.94) instead.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access         |
	//	|                                    | rights required for this operation: § WRITE_OWNER, when the SecurityInformation  |
	//	|                                    | parameter contains the OWNER_SECURITY_INFORMATION value. § WRITE_DAC,            |
	//	|                                    | when SecurityInformation contains the GROUP_SECURITY_INFORMATION                 |
	//	|                                    | or DACL_SECURITY_INFORMATION values. § ACCESS_SYSTEM_SECURITY, when              |
	//	|                                    | SecurityInformation contains the SACL_SECURITY_INFORMATION value.                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The data is invalid. The data contained in the buffer specified by the           |
	//	|                                    | pSecurityDescriptor parameter is not a valid SECURITY_DESCRIPTOR.                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_OUTOFMEMORY 0x0000000E       | The fax server cannot allocate sufficient memory for a properly constructed      |
	//	|                                    | FAX_EVENT_EX_1 (section 2.2.68) structure describing a FAX_EVENT_TYPE_CONFIG     |
	//	|                                    | event to be signaled to the client. A properly constructed structure has the     |
	//	|                                    | ConfigType member of the FAX_EVENT_EX_1 set to FAX_CONFIG_TYPE_SECURITY. For     |
	//	|                                    | more details, see FAX_ClientEventQueueEx (section 3.2.4.3).                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any                |
	//	|                                    | of the following conditions: § pSecurityDescriptor is set to a NULL              |
	//	|                                    | pointer value. § The dwBufferSize parameter is set to 0x00000000. §              |
	//	|                                    | SecurityInformation is set to a value that does not contain any of the           |
	//	|                                    | following flags: OWNER_SECURITY_INFORMATION, GROUP_SECURITY_INFORMATION,         |
	//	|                                    | DACL_SECURITY_INFORMATION, or SACL_SECURITY_INFORMATION.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contains       |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetSecurityEx2(context.Context, *SetSecurityEx2Request, ...dcerpc.CallOption) (*SetSecurityEx2Response, error)

	// The FAX_AccessCheckEx2 (Opnum 101) method is called by the client when the client
	// needs to check whether the client's fax user account has certain access permissions
	// on the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The caller does not have the required permissions for this     |
	//	|                                    | request (the caller does not have a valid fax user account).                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The pointer specified in the pfAccess parameter is NULL. |
	//	|                                    | § The fax access rights specified in the lpdwRights parameter contain invalid    |
	//	|                                    | access values.                                                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	AccessCheckEx2(context.Context, *AccessCheckEx2Request, ...dcerpc.CallOption) (*AccessCheckEx2Response, error)

	// The fax client application calls the FAX_ReAssignMessage (Opnum 102) method to reassign
	// the specified fax message to a set of users.<144>
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// The dwlMessageId parameter specifies a particular message and can be obtained using
	// the FAX_EnumMessages (section 3.1.4.1.24) method or the FAX_EnumMessagesEx (section
	// 3.1.4.1.25) methods.
	//
	// The client MUST specify the recipients for a reassigned message in a semicolon (;)
	// separated format. In response, the server MUST validate whether the bIncomingFaxesArePublic
	// option in the FAX_GENERAL_CONFIG (section 2.2.31) data structure is not set in the
	// server configuration. The server MUST also validate whether the message that is specified
	// by the dwlMessageId argument refers to a valid message on the server. The server
	// MUST validate that there are recipient numbers for each of the recipients that are
	// listed in pReAssignInfo structure. On success, the server MUST reassign the specified
	// fax message.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_FILE_NOT_FOUND 0x00000002    | This error code is returned under any of the following conditions: § The         |
	//	|                                    | dwlMessageId argument does not specify a valid message. § One or more recipients |
	//	|                                    | specified in the lpcwstrRecipients field of the pReAssignInfo argument do not    |
	//	|                                    | have a corresponding fax user account.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | The caller does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER access rights.     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error code is returned under any of the following conditions: § The value   |
	//	|                                    | specified for the dwlMessageId parameter is zero. § The lpcwstrRecipients member |
	//	|                                    | of the data structure specified by the pReAssignInfo parameter is set to NULL or |
	//	|                                    | to an empty string.                                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The number of recipients specified in the lpcwstrRecipients member of the        |
	//	|                                    | data structure pointed at by pReAssignInfo is greater than FAX_MAX_RECIPIENTS    |
	//	|                                    | (10000).                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_OPERATION 0x000010DD | This error code is returned under any of the following conditions: § Incoming    |
	//	|                                    | faxes are public (section 2.2.31). Reassignment is not supported when incoming   |
	//	|                                    | faxes are public. § The server does not support reassignment, or the server      |
	//	|                                    | is configured with a policy that is currently set to disable fax message         |
	//	|                                    | reassignment.                                                                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	ReassignMessage(context.Context, *ReassignMessageRequest, ...dcerpc.CallOption) (*ReassignMessageResponse, error)

	// The fax client application calls the FAX_SetMessage (Opnum 103) method to set the
	// specific message properties for the message identified by its ID.<162> The dwlMessageId
	// parameter specifies a particular message and can be obtained using the FAX_EnumMessages
	// (section 3.1.4.1.24) method or the FAX_EnumMessagesEx (section 3.1.4.1.25) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have the                |
	//	|                                      | ALL_FAX_USER_ACCESS_RIGHTS access rights required for this operation.            |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned if any of the            |
	//	|                                      | following conditions are met: § The structure pointed to by the lpMessageProps   |
	//	|                                      | argument contains invalid data. § The Folder argument has an invalid value (a    |
	//	|                                      | value other than FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS).      |
	//	|                                      | § The dwlMessageId parameter is zero. § In the structure pointed at              |
	//	|                                      | by the lpMessageProps argument, the dwValidityMask field contains the            |
	//	|                                      | FAX_MSG_PROP_FIELD_MSG_FLAGS, and the dwMsgFlags field does not contain the      |
	//	|                                      | FAX_MSG_ALL_FLAGS flag.                                                          |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | The fax message specified by the dwlMessageId argument cannot be found by the    |
	//	|                                      | fax server in the folder specified by the Folder argument.                       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetMessage(context.Context, *SetMessageRequest, ...dcerpc.CallOption) (*SetMessageResponse, error)

	// The FAX_GetConfigOption (Opnum 104) is called by the client to retrieve a configuration
	// setting at the server using an RPC_REQUEST packet.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the         |
	//	|                                    | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS.                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error is returned when any of the following conditions are met: § The       |
	//	|                                    | lpdwValue parameter is set to a NULL pointer value.<103> § The configuration     |
	//	|                                    | option specified by the option parameter is not one of the following             |
	//	|                                    | values: FAX_CONFIG_OPTION_ALLOW_PERSONAL_CP, FAX_CONFIG_OPTION_QUEUE_STATE,      |
	//	|                                    | FAX_CONFIG_OPTION_ALLOW_RECEIPTS or FAX_CONFIG_OPTION_INCOMING_FAXES_PUBLIC.     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Use of this method does not require FAX_ACCESS_QUERY_CONFIG access rights. A calling
	// user with any ACE on the server can use this method.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetConfigOption(context.Context, *GetConfigOptionRequest, ...dcerpc.CallOption) (*GetConfigOptionResponse, error)

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error
}

fax interface.

func NewFaxClient

func NewFaxClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (FaxClient, error)

type FaxServer

type FaxServer interface {

	// The fax client application calls the FAX_GetServicePrinters (Opnum 0) method to obtain
	// a list of printers that are visible to the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server failed   |
	//	|                                    | to allocate sufficient memory to hold the array of FAX_PRINTER_INFOW structures  |
	//	|                                    | to be returned to the client.                                                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The lpBuffer parameter is set to a NULL pointer      |
	//	|                                    | value.<136>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of FAX_PRINTER_INFOW           |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetServicePrinters(context.Context, *GetServicePrintersRequest) (*GetServicePrintersResponse, error)

	// The FAX_ConnectionRefCount (Opnum 1) method is called by the client.<73>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The Connect parameter is set to a value of 0x00000001          |
	//	|                                    | (Connect), and the client's fax user account does not have the                   |
	//	|                                    | ALL_FAX_USER_ACCESS_RIGHTS access rights required for the connect operation.     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The Connect parameter is set to a value of 0x00000000      |
	//	|                                    | (Disconnect) or to a value of 0x00000002 (Release), and the Handle parameter is  |
	//	|                                    | set to a NULL value.<75> § The Connect parameter is set to a value of 0x00000001 |
	//	|                                    | (Connect), and the CanShare parameter is set to a NULL pointer value.<76> §      |
	//	|                                    | The Connect parameter is set to a value other than 0x00000000 (Disconnect),      |
	//	|                                    | 0x00000001 (Connect), or 0x00000002 (Release).                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Fax clients call this method to connect or disconnect from the fax server.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	ConnectionReferenceCount(context.Context, *ConnectionReferenceCountRequest) (*ConnectionReferenceCountResponse, error)

	// The FAX_OpenPort (Opnum 2) method is called by the client. In response, the server
	// opens a fax port for subsequent use in other fax methods, and it returns a fax port
	// handle for use by the fax client application.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied: the client's fax user account does not have either the         |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG or the FAX_ACCESS_MANAGE_CONFIG access permissions.      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | The call was made with the Flags argument containing the PORT_OPEN_MODIFY flag   |
	//	|                                    | and the port is already opened to be modified by another call.                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_UNIT 0x00000014          | The system cannot find the port for the receiving device by using the line       |
	//	|                                    | identifier specified by the DeviceId argument.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The FaxPortHandle argument is NULL.<140>                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	OpenPort(context.Context, *OpenPortRequest) (*OpenPortResponse, error)

	// The FAX_ClosePort (Opnum 3) method is called by the client to close an open fax port.
	// The client passes FaxPortHandle, which it received from a call to FAX_OpenPort (section
	// 3.1.4.1.65).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | FaxPortHandle is not a valid open port handle returned by FAX_OpenPort. <71>     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The RPC_FAX_PORT_HANDLE fax data type referenced by the FaxPortHandle parameter  |
	//	|                                    | is set to a NULL pointer value.<72>                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	ClosePort(context.Context, *ClosePortRequest) (*ClosePortResponse, error)

	// The FAX_EnumJobs (Opnum 4) method is called by the client to enumerate all the fax
	// jobs on the specified fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_JOBS access right.                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the array of FAX_JOB_ENTRY  |
	//	|                                    | (section 2.2.5) structures to be returned to the client.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The Buffer parameter is set to a NULL pointer        |
	//	|                                    | value.<87>                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the array of FAX_JOB_ENTRY to be returned to |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumJobs(context.Context, *EnumJobsRequest) (*EnumJobsResponse, error)

	// The FAX_GetJob (Opnum 5) method is called by the client to retrieve information regarding
	// a specific job. The job is specified by the JobId parameter. The value for the JobId
	// parameter can be obtained using one of the following methods: FAX_EnumJobs (section
	// 3.1.4.1.21), FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | The client's fax user account does not have access to query the job specified    |
	//	|                                    | by the JobId parameter. This error can happen in any of the following cases: §   |
	//	|                                    | The job specified by the JobId parameter is an outgoing job; the client (the fax |
	//	|                                    | user account currently logged in on the client) is not the owner of this job and |
	//	|                                    | does not have the FAX_ACCESS_QUERY_OUT_JOBS access rights. § The job specified   |
	//	|                                    | by the JobId parameter is an incoming job; incoming faxes are not public and     |
	//	|                                    | the client's fax user account does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER |
	//	|                                    | rights.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the FAX_JOB_ENTRY (section  |
	//	|                                    | 2.2.5) structure to be returned to the client.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The Buffer parameter is set to a NULL pointer value.<110>  |
	//	|                                    | § The fax job specified by the JobId parameter cannot be found (does not         |
	//	|                                    | exist) in the fax server queue. § The fax job specified by JobId cannot be       |
	//	|                                    | queried: the job type is JT_BROADCAST, JS_DELETING, or JS_COMPLETED. For more    |
	//	|                                    | information about job types, see the description of the dwJobType member of the  |
	//	|                                    | FAX_JOB_STATUS (section 2.2.36) structure.                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the FAX_JOB_ENTRY to be returned to the      |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetJob(context.Context, *GetJobRequest) (*GetJobResponse, error)

	// The FAX_SetJob (Opnum 6) method is called by the client. The value for the JobId
	// parameter can be obtained using one of the following methods: FAX_EnumJobs (section
	// 3.1.4.1.21), FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// On success, the server MUST pause, resume, cancel, or restart the specified fax job
	// and MUST set the job status (section 3.1.1) to reflect the new job state.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | required to perform this operation: § For an outgoing fax job, the client's fax  |
	//	|                                    | user account is not the owner of the fax job and the client's fax user account   |
	//	|                                    | does not have the FAX_ACCESS_MANAGE_OUT_JOBS rights. § For an incoming fax job,  |
	//	|                                    | incoming faxes are not public, and the client's fax user account does not have   |
	//	|                                    | the FAX_ACCESS_MANAGE_RECEIVE_FOLDER rights.                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The fax job indicated by the JobId argument cannot be    |
	//	|                                    | found by the fax server. § The specified Command argument value is JC_DELETE and |
	//	|                                    | the fax job specified by the JobId argument indicates a fax job that is already  |
	//	|                                    | in a state of being deleted or was already deleted. § The specified Command      |
	//	|                                    | argument value is JC_UNKNOWN (0). § The specified Command argument value is not  |
	//	|                                    | JC_DELETE, JC_PAUSE, or JC_RESUME/JC_RESTART. § The specified Command argument   |
	//	|                                    | value is JC_DELETE and the type of the fax job specified by the JobId parameter  |
	//	|                                    | is JT_BROADCAST See the definition of the dwJobType member of the FAX_JOB_STATUS |
	//	|                                    | structure (section 2.2.36).                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_OPERATION 0x000010DD | The specified Command argument value is JC_DELETE, and the specified JobId       |
	//	|                                    | represents a fax job with a current job status other than JS_PENDING or          |
	//	|                                    | JS_RETRYING.                                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetJob(context.Context, *SetJobRequest) (*SetJobResponse, error)

	// The FAX_GetPageData (Opnum 7) method is called by the client to retrieve data in
	// the first page of an outgoing fax job. The information that is returned in the buffer
	// is an in-memory copy of the first page of the TIFF file. The value for the JobId
	// parameter can be obtained using one of the following methods: FAX_EnumJobs (section
	// 3.1.4.1.21), FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The caller does not have the access rights required for this   |
	//	|                                    | operation: ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The job identified by the JobId parameter is not an outgoing fax job or is not   |
	//	|                                    | a valid fax job for which the fax server can extract the first page of the TIFF  |
	//	|                                    | file.                                                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § One or more of the following parameters are null         |
	//	|                                    | pointers: Buffer, ImageWidth, ImageHeight.<120> § The fax server cannot find the |
	//	|                                    | fax job indicated by JobId.                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPageData(context.Context, *GetPageDataRequest) (*GetPageDataResponse, error)

	// The FAX_GetDeviceStatus (Opnum 8) method is called by the client to retrieve information
	// about a specified fax device (port).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the FAX_DEVICE_STATUS to be |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The FaxPortHandle parameter is not set to a valid port handle obtained using     |
	//	|                                    | FAX_OpenPort.<106>                                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The StatusBuffer parameter is set to a NULL pointer      |
	//	|                                    | value.<107> § The FaxPortHandle parameter is set to a NULL value.<108>           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the FAX_DEVICE_STATUS to be returned to the  |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetDeviceStatus(context.Context, *GetDeviceStatusRequest) (*GetDeviceStatusResponse, error)

	// The FAX_Abort (Opnum 9) method is called by the client to abort the specified fax
	// job on the server. The value for the JobId parameter can be obtained using one of
	// the following methods: FAX_EnumJobs (section 3.1.4.1.21), FAX_EnumJobsEx (section
	// 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return either one of the following error codes, one of the fax-specific errors
	// that are defined in section 2.2.52, or one of the other standard errors defined in
	// [MS-ERREF] section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error code is returned when any of the following          |
	//	|                                    | conditions happen: § The client's fax user account does not have                 |
	//	|                                    | FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission, and the specified JobId             |
	//	|                                    | represents an incoming fax job. § The client's fax user account does not have    |
	//	|                                    | FAX_ACCESS_MANAGE_OUT_JOBS permission, and the specified JobId represents an     |
	//	|                                    | outgoing fax job of a different user.                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The fax job identified by the specified JobId is not     |
	//	|                                    | found. § The specified job has already been canceled or is in the process of     |
	//	|                                    | being canceled. § The type of the fax job specified by the JobId parameter is    |
	//	|                                    | JT_BROADCAST (the description of the dwJobType member of the FAX_JOB_STATUS      |
	//	|                                    | structure specified in section 2.2.36).                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_OPERATION 0x000010DD | The operation is invalid. This error code is returned under any of the following |
	//	|                                    | conditions: § The specified JobId represents an incoming fax job (the dwJobType  |
	//	|                                    | member of the FAX_JOB_STATUS describing the job is set to 0x0002), which is      |
	//	|                                    | being routed (the dwQueueStatus member of the FAX_JOB_STATUS describing the job  |
	//	|                                    | is set to JS_ROUTING) and cannot be aborted at this stage. § The specified JobId |
	//	|                                    | represents a fax job in progress (the dwJobType member of the FAX_JOB_STATUS     |
	//	|                                    | describing the job is set to 0x0003), which the fax server failed to route       |
	//	|                                    | (the dwQueueStatus member of the FAX_JOB_STATUS describing the job is set to     |
	//	|                                    | JS_IN_PROGRESS) and cannot be aborted at this stage.                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	Abort(context.Context, *AbortRequest) (*AbortResponse, error)

	// The FAX_EnumPorts (Opnum 10) method is called by the client to obtain port state
	// information.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the array of _FAX_PORT_INFO to be returned to |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met:<95> § The PortBuffer parameter is set to a NULL pointer      |
	//	|                                    | value. § The PortsReturned parameter is set to a NULL pointer value.             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of _FAX_PORT_INFO to be        |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumPorts(context.Context, *EnumPortsRequest) (*EnumPortsResponse, error)

	// The FAX_GetPort (Opnum 11) method is called by the client to retrieve port status
	// information for a requested port at the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the FAX_PORT_INFO (section  |
	//	|                                    | 2.2.7) data structure to be returned to the client.                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The FaxPortHandle parameter is not set to a valid port handle obtained using     |
	//	|                                    | FAX_OpenPort.<124>                                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The PortBuffer parameter is set to a NULL pointer          |
	//	|                                    | value.<125> § The FaxPortHandle parameter is set to NULL.<126>                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the FAX_PORT_INFO to be returned to the      |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPort(context.Context, *GetPortRequest) (*GetPortResponse, error)

	// A fax client application uses the FAX_SetPort (Opnum 12) method to set fax device
	// information. The function sets extension configuration properties that are stored
	// at the device level, such as enabling or disabling sending and receiving, and the
	// auto or manual answering of calls.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the                |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG fax access right.                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D                | The handle specified by the FaxPortHandle argument is not a valid fax port       |
	//	|                                              | handle obtained by a call to FAX_OpenPort.<166>                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                              | conditions are met: § The pointer specified by the PortInfo argument is NULL.    |
	//	|                                              | § The handle specified by the FaxPortHandle argument is NULL. § The requested    |
	//	|                                              | value of the Priority member of the PortInfo parameter is 0, or is greater than  |
	//	|                                              | the total number of installed fax devices. § The size of the PortInfo argument   |
	//	|                                              | specified in the SizeOfStruct field is not the correct size, in bytes, for the   |
	//	|                                              | FAX_PORT_INFO. § When FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED is to be returned, but   |
	//	|                                              | the fax client does not support this error code (the fax client API version      |
	//	|                                              | described in section 3.1.4.1.10 is FAX_API_VERSION_0).                           |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED 0x00001B62 | The fax server cannot complete the operation because all of the following        |
	//	|                                              | conditions are true: If the fax server has an implementation-dependent maximum   |
	//	|                                              | number of supported devices set<167> and the number of fax devices currently     |
	//	|                                              | connected to the server is equal to or exceeds this maximum number of supported  |
	//	|                                              | devices. The device is not send, receive, or manual-receive enabled.             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetPort(context.Context, *SetPortRequest) (*SetPortResponse, error)

	// The FAX_EnumRoutingMethods (Opnum 13) method is called by the client to enumerate
	// all the routing methods for a specified port that are registered with the fax server
	// in the fax server's list of routing methods. The client calls Fax_OpenPort (section
	// 3.1.4.1.65) to get the value for FaxPortHandle. The function returns detailed information
	// about each of the enumerated routing methods.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_FUNCTION 0x00000001  | The fax server failed to enumerate any routing methods for the fax port          |
	//	|                                    | specified through the FaxPortHandle parameter.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the array of FAX_ROUTING_METHOD to be         |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | This error SHOULD be returned if the FaxPortHandle argument is not a valid       |
	//	|                                    | handle obtained using FAX_OpenPort.<99>                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The RoutingInfoBuffer parameter is set to a NULL pointer value. <100>            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of FAX_ROUTING_METHOD          |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumRoutingMethods(context.Context, *EnumRoutingMethodsRequest) (*EnumRoutingMethodsResponse, error)

	// The FAX_EnableRoutingMethod (Opnum 14) method is called by the client for a specified
	// fax device (port).
	//
	// The user is expected to set the proper configuration settings on the client before
	// enabling any routing method. For example, in order to enable email, the user SHOULD
	// specify the proper SMTP details, and the client SHOULD then call the FAX_SetReceiptsConfiguration
	// (section 3.1.4.1.91) method, with the bIsToUseForMSRouteThroughEmailMethod value
	// in the pReceipts parameter set to true. Also, the user can ensure that the proper
	// routing method destinations, such as EmailID, Printer, and Folder values, have been
	// specified. The client can use the FAX_SetExtensionData (section 3.1.4.1.79) method
	// to set the EmailID, Printer, and Folder once the user has entered the proper values.
	//
	// On success, the server MUST enable or disable a fax routing method for a specific
	// fax device. The server MUST validate that the client's fax user account has access
	// to enable or disable routing methods. The RoutingGUID parameter MUST be for a valid
	// routing method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG access right.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The data is invalid. The GUID specified by the RoutingGuid parameter is not a    |
	//	|                                    | routing method GUID.                                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This is returned when RoutingGuid is set to NULL.    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnableRoutingMethod(context.Context, *EnableRoutingMethodRequest) (*EnableRoutingMethodResponse, error)

	// The FAX_GetRoutingInfo (Opnum 15) method is called by the client to retrieve information
	// about a specified routing method that is identified by the passed-in GUID.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the fax routing information |
	//	|                                    | data to be returned to the client.                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | This error code is returned if any of the following conditions are met: § The    |
	//	|                                    | port handle specified by the FaxPortHandle parameter is not a valid fax port     |
	//	|                                    | handle obtained with FAX_OpenPort (section 3.1.4.1.65).<131> § The server cannot |
	//	|                                    | find the routing method identified by the GUID specified by the RoutingGuid      |
	//	|                                    | parameter.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The RoutingGuid parameter is set to a NULL pointer value.  |
	//	|                                    | § The RoutingInfoBuffer parameter is set to a NULL pointer value.<132> § The     |
	//	|                                    | FaxPortHandle parameter is set to a NULL value.<133>                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetRoutingInfo(context.Context, *GetRoutingInfoRequest) (*GetRoutingInfoResponse, error)

	// The FAX_SetRoutingInfo (Opnum 16) method is called by the client to set routing information
	// for a fax routing method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | The client's fax user account does not have the FAX_ACCESS_MANAGE_CONFIG         |
	//	|                                    | permission.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | This error code is returned if any of the following conditions are met: § The    |
	//	|                                    | FaxPortHandle parameter is not set to a valid fax port handle obtained with      |
	//	|                                    | FAX_OpenPort. § The RoutingGuid parameter is not set to a GUID representing a    |
	//	|                                    | valid routing method.                                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error code is returned if any of the following conditions are met: § The    |
	//	|                                    | RoutingGuid parameter is set to a NULL pointer value. § The RoutingInfoBuffer    |
	//	|                                    | parameter is set to a NULL pointer value. § The RoutingInfoBufferSize parameter  |
	//	|                                    | is set to a value of 0. § The FaxPortHandle parameter is set to a NULL           |
	//	|                                    | value.<172>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetRoutingInfo(context.Context, *SetRoutingInfoRequest) (*SetRoutingInfoResponse, error)

	// The FAX_EnumGlobalRoutingInfo (Opnum 17) method is called by the client to enumerate
	// global routing information.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_FUNCTION 0x00000001  | The server failed to enumerate the routing methods.                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the array of                |
	//	|                                    | _FAX_GLOBAL_ROUTING_INFOW structures to be returned to the client.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The RoutingInfoBuffer parameter is set to a NULL pointer value.<86>              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the array of _FAX_GLOBAL_ROUTING_INFOW       |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumGlobalRoutingInfo(context.Context, *EnumGlobalRoutingInfoRequest) (*EnumGlobalRoutingInfoResponse, error)

	// The fax client application calls the FAX_SetGlobalRoutingInfo (Opnum 18) method to
	// set global routing properties such as the routing method priority.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The fax server cannot find the routing method specified by the Guid structure    |
	//	|                                    | field of the RoutingInfo parameter.                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The RoutingInfo parameter is set to a NULL pointer value.  |
	//	|                                    | § The SizeOfStruct structure field of RoutingInfo is not set to the correct      |
	//	|                                    | size, in bytes, for the FAX_GLOBAL_ROUTING_INFOW structure.                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetGlobalRoutingInfo(context.Context, *SetGlobalRoutingInfoRequest) (*SetGlobalRoutingInfoResponse, error)

	// The FAX_GetConfiguration (Opnum 19) method is called by the client to query the general
	// configuration of the fax server that is described by the _FAX_CONFIGURATIONW (section
	// 2.2.29) structure.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The server cannot allocate sufficient memory to hold the FAX_CONFIGURATION       |
	//	|                                    | (section 2.2.28) data structure to be returned to the client.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The buffer parameter is set to a NULL pointer value.<104>                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to custom marshal the FAX_CONFIGURATION to be returned to the  |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetConfiguration(context.Context, *GetConfigurationRequest) (*GetConfigurationResponse, error)

	// The fax client application calls the FAX_SetConfiguration (Opnum 20) method to change
	// the general configuration of the fax server. The FAX_CONFIGURATIONW (section 2.2.28)
	// structure describes the general configuration of the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | access rights, in this case FAX_ACCESS_MANAGE_CONFIG.                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The pointer specified with the FaxConfig argument is     |
	//	|                                    | NULL.<157> § The dwSizeOfStruct member of the FAX_CONFIGURATIONW specified by    |
	//	|                                    | the FaxConfig parameter is different from the correct size, in bytes, for the    |
	//	|                                    | FAX_CONFIGURATIONW, described in section 2.2.28. § The ArchiveOutgoingFaxes      |
	//	|                                    | member of the FAX_CONFIGURATIONW specified by FaxConfig is set to TRUE, and      |
	//	|                                    | the ArchiveDirectory member of the same data structure is set to a NULL pointer  |
	//	|                                    | value.<158>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contain        |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetConfiguration(context.Context, *SetConfigurationRequest) (*SetConfigurationResponse, error)

	// The FAX_GetLoggingCategories (Opnum 21) method is called by the client. In response,
	// the server MUST return the current logging categories for the fax server to which
	// the client has connected. A logging category determines the errors or other events
	// that the fax server records in the application event log.
	//
	// The client SHOULD free the returned buffer.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have the                |
	//	|                                      | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008   | The server cannot allocate sufficient memory to hold the array of                |
	//	|                                      | FAX_LOG_CATEGORY to be returned to the client.                                   |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned if any of the            |
	//	|                                      | following conditions are met: § The BufferSize parameter is set to a NULL        |
	//	|                                      | pointer value.<114> § The NumberCategories parameter is set to a NULL pointer    |
	//	|                                      | value.<115>                                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ARITHMETIC_OVERFLOW 0x00000216 | This error code is returned if any of the following conditions are met: § The    |
	//	|                                      | total number of logging categories multiplied by the size, in bytes, of the      |
	//	|                                      | FAX_LOG_CATEGORY Fixed_Size block results in a number that exceeds the maximum   |
	//	|                                      | value for a DWORD (0xFFFFFFFF). § The total number of logging categories         |
	//	|                                      | multiplied by the size, in bytes, of the FAX_LOG_CATEGORY Fixed_Size block       |
	//	|                                      | plus the sum of all lengths, in bytes, including NULL terminators, of all Name   |
	//	|                                      | strings from the Variable_Data blocks results in a number that exceeds the       |
	//	|                                      | maximum value for a DWORD (0xFFFFFFFF).                                          |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F      | The server failed to custom marshal the array of FAX_LOG_CATEGORY to be returned |
	//	|                                      | to the client.                                                                   |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetLoggingCategories(context.Context, *GetLoggingCategoriesRequest) (*GetLoggingCategoriesResponse, error)

	// The FAX_SetLoggingCategories (Opnum 22) method is called by the client. On success,
	// the server MUST modify the current logging categories for the fax server to which
	// the client has connected. A logging category determines the errors or other events
	// that the fax server records in the application event log.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG access rights required for this call.                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The value specified for the Buffer parameter is NULL. §  |
	//	|                                    | The value specified for the BufferSize parameter is 0. § The fax server cannot   |
	//	|                                    | parse the FAX_LOG_CATEGORY pointed at by Buffer, possibly because the buffer     |
	//	|                                    | data is corrupted. § One of the pointer fields of one of the FAX_LOG_CATEGORY    |
	//	|                                    | pointed at by Buffer point to memory locations outside of the memory block       |
	//	|                                    | specified by the Buffer and BufferSize parameters.                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The fax server cannot write to register the modified  |
	//	|                                    | logging categories.                                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	//
	// The FAX_LOG_CATEGORY array MUST be serialized. For more information, see [MSDN-FAX_LOG_CATEGORY].
	// The variable data fields, such as strings, SHOULD be filled with the offset to the
	// string from the beginning of the buffer and not the actual address.
	SetLoggingCategories(context.Context, *SetLoggingCategoriesRequest) (*SetLoggingCategoriesResponse, error)

	// The FAX_GetSecurity (Opnum 23) method is called by the client to retrieve information
	// about the fax security descriptor from the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	|                 RETURN                  |                                                                                  |
	//	|               VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                         |                                                                                  |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005          | Access is denied. The client's fax user account does not have a permission level |
	//	|                                         | of at least READ_CONTROL.                                                        |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008      | Not enough storage is available to process this command.                         |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057      | The parameter is incorrect. This is returned when pSecurityDescriptor is NULL.   |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_SECURITY_DESCR 0x0000053A | The security descriptor structure is invalid.                                    |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetSecurity(context.Context, *GetSecurityRequest) (*GetSecurityResponse, error)

	// The FAX_SetSecurity (Opnum 24) method is called by the client. On success, the server
	// MUST set the fax server's security descriptor.
	//
	// Protocol version FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call
	// by returning ERROR_NOT_SUPPORTED (0x00000032). The fax client SHOULD NOT call this
	// method if the protocol version reported by the server is FAX_API_VERSION_3 (0x00030000).
	// For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10). The fax client
	// SHOULD call FAX_SetSecurityEx2 (section 3.1.4.1.95) instead.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access         |
	//	|                                    | rights required for this operation. This error code is returned under any        |
	//	|                                    | of the following conditions, listed by required access right: § WRITE_OWNER,     |
	//	|                                    | when the fax server is a FAX_API_VERSION_1 server and the SecurityInformation    |
	//	|                                    | parameter contains the OWNER_SECURITY_INFORMATION value. § WRITE_DAC, when the   |
	//	|                                    | fax server is a FAX_API_VERSION_1 server and SecurityInformation contains the    |
	//	|                                    | GROUP_SECURITY_INFORMATION or DACL_SECURITY_INFORMATION values. § READ_CONTROL,  |
	//	|                                    | when the fax server is a FAX_API_VERSION_2 server and SecurityInformation        |
	//	|                                    | contains the GROUP_SECURITY_INFORMATION, DACL_SECURITY_INFORMATION,              |
	//	|                                    | or OWNER_SECURITY_INFORMATION values. § ACCESS_SYSTEM_SECURITY, when             |
	//	|                                    | SecurityInformation contains the SACL_SECURITY_INFORMATION value.                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The data contained in the buffer specified by the pSecurityDescriptor parameter  |
	//	|                                    | is not a valid SECURITY_DESCRIPTOR.                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032     | The fax server does not support this operation. This error SHOULD be returned by |
	//	|                                    | FAX_API_VERSION_3 servers.                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § pSecurityInformation is set to a NULL pointer value. §   |
	//	|                                    | The dwBufferSize parameter is set to a value of 0.                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                    | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                    | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                    | corrupted.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetSecurity(context.Context, *SetSecurityRequest) (*SetSecurityResponse, error)

	// The FAX_AccessCheck (Opnum 25) method is called when the client needs to check whether
	// the client's fax user account has certain access permissions on the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The user does not have a valid fax user account on the         |
	//	|                                    | server.<65>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The pfAccess argument is NULL,<66> or the access     |
	//	|                                    | mask specified by the AccessMask argument contains invalid fax-specific access   |
	//	|                                    | rights.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	AccessCheck(context.Context, *AccessCheckRequest) (*AccessCheckResponse, error)

	// The FAX_CheckServerProtSeq (Opnum 26) method is called by the client to validate
	// whether a specified protocol sequence is supported by the server.<70> In response,
	// the server MUST validate the specified protocol sequence.
	//
	// Protocol version FAX_API_VERSION_2 (0x00020000) and FAX_API_VERSION_3 (0x00030000)
	// fax servers SHOULD fail this call by returning ERROR_NOT_SUPPORTED (0x00000032).
	// The fax client SHOULD NOT call this method if the protocol version reported by the
	// server is FAX_API_VERSION_2 (0x00020000) or FAX_API_VERSION_3 (0x00030000). For more
	// information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//	|                 RETURN                  |                                                                               |
	//	|               VALUE/CODE                |                                  DESCRIPTION                                  |
	//	|                                         |                                                                               |
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057      | The parameter is incorrect. The lpdwProtSeq argument specified is NULL.       |
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//	| RPC_S_PROTSEQ_NOT_SUPPORTED 0x0000006A7 | The protocol sequence specified by the lpdwProtSeq argument is not supported. |
	//	+-----------------------------------------+-------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	CheckServerProtocolSeq(context.Context, *CheckServerProtocolSeqRequest) (*CheckServerProtocolSeqResponse, error)

	// The FAX_SendDocumentEx (Opnum 27) method is called by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors (section
	// 2.2.52) or one of the standard errors ([MS-ERREF] section 2.2).
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. This error is returned when any of the following conditions    |
	//	|                                              | are met: § The limit on the number of recipients for a single fax broadcast      |
	//	|                                              | was reached and FAX_ERR_RECIPIENTS_LIMIT couldn't be returned because this       |
	//	|                                              | error code is unsupported by the fax client API version (FAX_API_VERSION_0       |
	//	|                                              | or FAX_API_VERSION_1, described in section 3.1.4.1.10). § The client's fax       |
	//	|                                              | user account does not have the required access rights to submit the fax:         |
	//	|                                              | FAX_ACCESS_SUBMIT (for FAX_PRIORITY_TYPE_LOW), FAX_ACCESS_SUBMIT_NORMAL          |
	//	|                                              | (for FAX_PRIORITY_TYPE_NORMAL), or FAX_ACCESS_SUBMIT_HIGH (for                   |
	//	|                                              | FAX_PRIORITY_TYPE_HIGH), where the FAX_PRIORITY_TYPE value comes from the        |
	//	|                                              | Priority field of the specified lpJobParams structure.                           |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008           | Not enough storage is available to process this command.                         |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D                | The file specified by lpcwstrFileName argument is empty (has a size of 0 bytes). |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_WRITE_PROTECT 0x00000013               | The outgoing fax queue is blocked: The queue state is FAX_OUTBOX_BLOCKED as      |
	//	|                                              | described in the FAX_SetQueue (section 3.1.4.1.90) method.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032               | The fax server SHOULD return this error code when the request described by the   |
	//	|                                              | lpJobParams argument is not supported by the fax server.<152>                    |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                              | following conditions: § One or more of the following arguments are NULL          |
	//	|                                              | or 0: dwNumRecipients, lpcSenderProfile, lpcRecipientList, lpJobParams,          |
	//	|                                              | lpdwlMessageId, lpdwlRecipientMessageIds,<153>lpcCoverPageInfo. § The file       |
	//	|                                              | name indicated by the lpcstwrFileName argument does not indicate a file          |
	//	|                                              | of the expected TIFF format. § The lpwstrCoverPageFileName field of the          |
	//	|                                              | lpcCoverPageInfo structure is not in the expected COV format. § The Priority     |
	//	|                                              | field of the lpJobParams structure is not one of the following values:           |
	//	|                                              | FAX_PRIORITY_TYPE_LOW, FAX_PRIORITY_TYPE_NORMAL, FAX_PRIORITY_TYPE_HIGH. § The   |
	//	|                                              | requested receipt delivery types are invalid (the dwReceiptDeliveryType field    |
	//	|                                              | of the lpJobParams structure), not DRT_EMAIL, DRT_MSGBOX, and/or DRT_NONE. §     |
	//	|                                              | The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client  |
	//	|                                              | fax API version. FAX_API_VERSION_0 (described in section 3.1.4.1.10) does not    |
	//	|                                              | support this error code.                                                         |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_UNSUPPORTED_TYPE 0x0000065E            | Data of this type is not supported. The requested receipt delivery type          |
	//	|                                              | specified by the dwReceiptDeliveryType field of the lpJobParams structure is not |
	//	|                                              | supported by the fax server.                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<154>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_RECIPIENTS_LIMIT 0x00001B65          | The limit on the number of recipients for a single fax broadcast was reached.    |
	//	|                                              | ERROR_ACCESS_DENIED is returned instead of this error code when the client       |
	//	|                                              | does not support it (client-supported fax API version is FAX_API_VERSION_0 or    |
	//	|                                              | FAX_API_VERSION_1, described in section 3.1.4.1.10).                             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SendDocumentEx(context.Context, *SendDocumentExRequest) (*SendDocumentExResponse, error)

	// The FAX_EnumJobsEx (Opnum 28) method is called by the client to enumerate a specified
	// set of jobs on the server's queue. The type of jobs to enumerate is described by
	// the dwJobTypes argument.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the         |
	//	|                                    | access rights defined in ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83) when        |
	//	|                                    | enumerating jobs of type JT_SEND. The client's fax user account does not have    |
	//	|                                    | the FAX_ACCESS_MANAGE_RECEIVE_FOLDER access right when enumerating jobs of type  |
	//	|                                    | JT_RECEIVE or JT_ROUTING.                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | At least one of the following arguments has been specified as NULL: Buffer,      |
	//	|                                    | BufferSize, or lpdwJobs.<88>                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumJobsEx(context.Context, *EnumJobsExRequest) (*EnumJobsExResponse, error)

	// The FAX_GetJobEx (Opnum 29) is called by the client to retrieve information about
	// a specified job at the server. The job is identified by the job message ID. The job
	// message ID can be obtained using one of the following methods: FAX_EnumJobs (section
	// 3.1.4.1.21), FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                      | required for this operation: ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).        |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008   | The server cannot allocate memory for the data to be returned to the caller.     |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | This error code is returned under any of the following conditions:<111> § The    |
	//	|                                      | pointer submitted for the Buffer argument is NULL. § The pointer submitted for   |
	//	|                                      | the BufferSize argument is NULL.                                                 |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | The fax server cannot find the fax job indicated by the dwlMessageId argument.   |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetJobEx(context.Context, *GetJobExRequest) (*GetJobExResponse, error)

	// The FAX_GetCountryList (Opnum 30) method is called by the client to retrieve the
	// list of country/region information that is defined on the server. TAPI maintains
	// this list, which contains information like the country/region name or country/region
	// ID.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the         |
	//	|                                    | permissions covered by the ALL_FAX_USER_ACCESS_RIGHTS enumeration (section       |
	//	|                                    | 2.2.83).                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the FAX_TAPI_LINECOUNTRY_LISTW to be returned |
	//	|                                    | to the client.                                                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error is returned if the Buffer parameter is    |
	//	|                                    | set to a NULL pointer value.<105>                                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the FAX_TAPI_LINECOUNTRY_LISTW to be     |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetCountryList(context.Context, *GetCountryListRequest) (*GetCountryListResponse, error)

	// The FAX_GetPersonalProfileInfo (Opnum 31) method is called by the client to retrieve
	// information about the personal profile (section 3.1.1) of the sender or the receiver
	// of a fax from the specified fax message that is present in the described message
	// folder. The Folder value MUST be one of the enumerations defined by FAX_ENUM_MESSAGE_FOLDER
	// (section 2.2.2) except FAX_MESSAGE_FOLDER_INBOX. The ProfType value MUST be one of
	// the enumerations that are defined by FAX_ENUM_PERSONAL_PROF_TYPES (section 2.2.4).
	// The dwlMessageId parameter specifies a particular message and can be obtained using
	// the following methods: FAX_EnumJobs (section 3.1.4.1.21), FAX_EnumJobsEx (section
	// 3.1.4.1.22), FAX_EnumMessages (section 3.1.4.1.24), or FAX_EnumMessagesEx (section
	// 3.1.4.1.25).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have any of the         |
	//	|                                      | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS.                               |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_FORMAT 0x0000000B          | The message identified by dwlMessageId is an archived sent message and there was |
	//	|                                      | an error in reading the message file.                                            |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned when any of              |
	//	|                                      | the following conditions happen: § The pointer specified by the Buffer           |
	//	|                                      | parameter is NULL.<122> § The value of the Folder parameter specified is not     |
	//	|                                      | FAX_MESSAGE_FOLDER_QUEUE or FAX_MESSAGE_FOLDER_SENTITEMS.                        |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59   | The fax server failed to allocate memory needed for internal execution of this   |
	//	|                                      | operation.                                                                       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | This error code is returned when any of the following conditions happen: § The   |
	//	|                                      | message identified by the dwlMessageId parameter is not found. § The dwFolder    |
	//	|                                      | parameter is specified as FAX_MESSAGE_FOLDER_QUEUE, but the message identified   |
	//	|                                      | by dwlMessageId is not an outgoing queued message. § The message identified      |
	//	|                                      | by dwlMessageId is an outgoing queued message being deleted. § The message       |
	//	|                                      | identified by dwlMessageId is an outgoing queued message of a different user,    |
	//	|                                      | and this user does not have FAX_ACCESS_QUERY_OUT_JOBS permission. § The message  |
	//	|                                      | identified by dwlMessageId is an archived sent message of a different user, and  |
	//	|                                      | this user does not have FAX_ACCESS_QUERY_ARCHIVES permission.                    |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPersonalProfileInfo(context.Context, *GetPersonalProfileInfoRequest) (*GetPersonalProfileInfoResponse, error)

	// The FAX_GetQueueStates (Opnum 32) method is called by the client to retrieve the
	// state of the fax queues at the server.
	//
	// The pdwQueueStates parameter MUST NOT be NULL. On success, the server MUST return
	// the state information about the fax service.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the         |
	//	|                                    | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The pdwQueueStates parameter is set to a NULL        |
	//	|                                    | pointer value. <128>                                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetQueueStates(context.Context, *GetQueueStatesRequest) (*GetQueueStatesResponse, error)

	// The fax client application calls the FAX_SetQueue (Opnum 33) method to change the
	// state of the server queue. In response, the server MUST validate whether the client's
	// fax user account has authorization to set the Queue State of the server. On success,
	// the server MUST set its Queue State as specified by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_OUTOFMEMORY 0x0000000E       | The fax server cannot allocate sufficient memory for a FAX_EVENT_EX_1 (section   |
	//	|                                    | 2.2.68) structure that describes a FAX_EVENT_QUEUE_TYPE_QUEUE_STATE event to be  |
	//	|                                    | signaled to the client. For more details, see FAX_ClientEventQueueEx (section    |
	//	|                                    | 3.2.4.3).                                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The dwQueueStates parameter is set to a              |
	//	|                                    | combination of values that does not contain any of the supported values:         |
	//	|                                    | FAX_INCOMING_BLOCKED, FAX_OUTBOX_BLOCKED, or FAX_OUTBOX_PAUSED.                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                    | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                    | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                    | corrupted.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| RPC_E_SYS_CALL_FAILED 0x80010100   | dwQueueStates includes the FAX_OUTBOX_PAUSED value and the fax server cannot     |
	//	|                                    | pause the server queue, or dwQueueStates does not include the FAX_OUTBOX_PAUSED  |
	//	|                                    | value and the fax server cannot resume the server queue.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetQueue(context.Context, *SetQueueRequest) (*SetQueueResponse, error)

	// The FAX_GetReceiptsConfiguration (Opnum 34) method is called by the client. On success,
	// the server MUST return the receipt configuration information of the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors ([MS-ERREF] section
	// 2.2).
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the _FAX_RECEIPTS_CONFIGW to be returned to   |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The Buffer parameter is set to a NULL pointer        |
	//	|                                    | value.<129>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the _FAX_RECEIPTS_CONFIGW to be returned |
	//	|                                    | to the client.                                                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	GetReceiptsConfiguration(context.Context, *GetReceiptsConfigurationRequest) (*GetReceiptsConfigurationResponse, error)

	// The FAX_SetReceiptsConfiguration (Opnum 35) method is called by the client. On success,
	// the server MUST set the receipt configuration information that is used by the fax
	// server to send delivery receipts for fax transmissions.<169>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the required       |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032               | The dwAllowedReceipts member of the pReceipts parameter contains the DRT_MSGBOX  |
	//	|                                              | flag value (described in FAX_ENUM_DELIVERY_REPORT_TYPES), and the fax server     |
	//	|                                              | does not support this type of fax receipts.<170>                                 |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned if any of the            |
	//	|                                              | following conditions are met: § The dwSizeOfStruct member of pReceipts           |
	//	|                                              | is not equal to the correct size, in bytes, for the FAX_RECEIPTS_CONFIGW.        |
	//	|                                              | § The dwAllowedReceipts member of pReceipts contains one or more invalid         |
	//	|                                              | flag values (not defined for the FAX_ENUM_DELIVERY_REPORT_TYPES (section         |
	//	|                                              | 2.2.76) enumeration). § The following member values are set in the submitted     |
	//	|                                              | pReceipts: the DRT_EMAIL flag is set within the dwAllowedReceipts member,        |
	//	|                                              | the bIsToUseForMSRouteThroughEmailMethod member is set to FALSE, and the         |
	//	|                                              | lpwstrSMTPPasswordmember is set to a non-NULL pointer value. § In the submitted  |
	//	|                                              | pReceipts, the DRT_EMAIL flag is set within the dwAllowedReceipts member         |
	//	|                                              | or the bIsToUseForMSRouteThroughEmailMethod member is set to TRUE and the        |
	//	|                                              | SMTPAuthOption member is set to a value lower than FAX_SMTP_AUTH_ANONYMOUS       |
	//	|                                              | or greater than FAX_SMTP_AUTH_NTLM. § The fax server tried to return             |
	//	|                                              | FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client fax API version                 |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<171>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetReceiptsConfiguration(context.Context, *SetReceiptsConfigurationRequest) (*SetReceiptsConfigurationResponse, error)

	// The FAX_GetReceiptsOptions (Opnum 36) method is called by the client to retrieve
	// the supported receipt options on the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have any of the         |
	//	|                                | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	GetReceiptsOptions(context.Context, *GetReceiptsOptionsRequest) (*GetReceiptsOptionsResponse, error)

	// The fax client application calls the FAX_GetVersion (Opnum 37) method to obtain the
	// version of the fax server it is connected to.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error codes, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have the                |
	//	|                                | ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83) access rights required for this      |
	//	|                                | operation.                                                                       |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetVersion(context.Context, *GetVersionRequest) (*GetVersionResponse, error)

	// The FAX_GetOutboxConfiguration (Opnum 38) method is called by the client to retrieve
	// the outbox configuration at the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the FAX_OUTBOX_CONFIG to be returned to the   |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The Buffer parameter is set to a NULL pointer        |
	//	|                                    | value.<119>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetOutboxConfiguration(context.Context, *GetOutboxConfigurationRequest) (*GetOutboxConfigurationResponse, error)

	// The fax client application calls the FAX_SetOutboxConfiguration (Opnum 39) method
	// to set the current Outbox configuration such as the Discount Time.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions occur: § The dwSizeOfStruct member of the structure pointed at by     |
	//	|                                    | the pOutboxCfg parameter is not the correct size for the FAX_OUTBOX_CONFIG.      |
	//	|                                    | § The dtDiscountStart or dtDiscountEnd members of the structure pointed to by    |
	//	|                                    | pOutboxCfg contain one or more invalid Hour (value greater than 24) or Minute    |
	//	|                                    | (value greater than 60) fields.                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                    | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                    | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                    | corrupted.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetOutboxConfiguration(context.Context, *SetOutboxConfigurationRequest) (*SetOutboxConfigurationResponse, error)

	// The FAX_GetPersonalCoverPagesOption (Opnum 40) method is called by the client to
	// retrieve information about the supported personal cover-page options.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have any of the         |
	//	|                                | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).<121>         |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPersonalCoverPagesOption(context.Context, *GetPersonalCoverPagesOptionRequest) (*GetPersonalCoverPagesOptionResponse, error)

	// The FAX_GetArchiveConfiguration (Opnum 41) method is called by the client to retrieve
	// the current archive configuration on the fax server. In response, the server returns
	// archive configuration information about the fax server.
	//
	// Protocol version FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call
	// by returning ERROR_NOT_SUPPORTED (0x00000032). The fax client SHOULD NOT call this
	// method if the protocol version reported by the server is FAX_API_VERSION_3 (0x00030000).
	// For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10). The fax client
	// SHOULD call FAX_GetGeneralConfiguration (section 3.1.4.1.40) instead.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the            |
	//	|                                    | following conditions are met: § The Buffer parameter is set to a NULL            |
	//	|                                    | pointer value. <102> § The value specified for the Folder parameter is not       |
	//	|                                    | FAX_MESSAGE_FOLDER_SENTITEMS or FAX_MESSAGE_FOLDER_INBOX.                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the FAX_ARCHIVE_CONFIGW to be returned to the |
	//	|                                    | client.                                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032     | The fax server does not implement this method. Protocol version                  |
	//	|                                    | FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call by returning    |
	//	|                                    | this error code.                                                                 |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetArchiveConfiguration(context.Context, *GetArchiveConfigurationRequest) (*GetArchiveConfigurationResponse, error)

	// The fax client application calls the FAX_SetArchiveConfiguration (Opnum 42) method
	// to set the archive configuration for a specific fax folder on the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors (section
	// 2.2.52), or one of the other standard errors ([MS-ERREF] section 2.2).
	//
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                 |                                                                                  |
	//	|              VALUE/CODE               |                                   DESCRIPTION                                    |
	//	|                                       |                                                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005        | Access is denied. The client's fax user account does not have the required       |
	//	|                                       | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032        | The fax server does not support this operation. This error code SHOULD be        |
	//	|                                       | returned by the FAX_API_VERSION_3 servers.                                       |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057    | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                       | following conditions: § The dwSizeOfStruct member of the FAX_ARCHIVE_CONFIGW     |
	//	|                                       | specified by the pArchiveCfg parameter is set to an incorrect value. § The       |
	//	|                                       | Folder parameter is set to a value other than FAX_MESSAGE_FOLDER_SENTITEMS and   |
	//	|                                       | FAX_MESSAGE_FOLDER_INBOX. § The bUseArchive member of the FAX_ARCHIVE_CONFIGW    |
	//	|                                       | specified by pArchiveCfg is set to TRUE, and any of the three following          |
	//	|                                       | conditions are also met: § The value of the dwSizeQuotaHighWatermark member      |
	//	|                                       | of the same structure is smaller than the value of the dwSizeQuotaLowWatermark   |
	//	|                                       | member. § The lpcstrFolder member of the same structure is set to NULL. § The    |
	//	|                                       | lpcstrFolder member of the same structure is set to point to an empty character  |
	//	|                                       | string.                                                                          |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F      | The file name is too long. The bUseArchive member of the FAX_ARCHIVE_CONFIGW     |
	//	|                                       | specified by pArchiveCfg is set to a value of TRUE, and the length of the file   |
	//	|                                       | name specified by the lpcstrFolder of the same structure is set to a character   |
	//	|                                       | string longer than 180 characters, excluding the length of the null terminator.  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7     | The fax server cannot store the new archive configuration to the registry. The   |
	//	|                                       | registry could be corrupted.                                                     |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_DIRECTORY_IN_USE 0x00001B5F   | The bUseArchive member of the FAX_ARCHIVE_CONFIGW specified by pArchiveCfg is    |
	//	|                                       | set to a value of TRUE, and the file specified by the lpcstrFolder member of     |
	//	|                                       | the same structure is invalid: the directory of the file is the same as the fax  |
	//	|                                       | queue directory.                                                                 |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_FILE_ACCESS_DENIED 0x00001B60 | The bUseArchive member of the FAX_ARCHIVE_CONFIGW specified by pArchiveCfg       |
	//	|                                       | is set to a value of TRUE, and the file specified by the lpcstrFolder member     |
	//	|                                       | of the same structure is invalid: the fax server encountered an access denied    |
	//	|                                       | (ERROR_ACCESS_DENIED) or a sharing violation (ERROR_SHARING_VIOLATION) error     |
	//	|                                       | when attempting to access the file.                                              |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetArchiveConfiguration(context.Context, *SetArchiveConfigurationRequest) (*SetArchiveConfigurationResponse, error)

	// The FAX_GetActivityLoggingConfiguration (Opnum 43) method is called by the client
	// to retrieve the current activity logging configuration.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the _FAX_ACTIVITY_LOGGING_CONFIGW to be       |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The Buffer parameter is set to a NULL pointer value. <101>                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the _FAX_ACTIVITY_LOGGING_CONFIGW to be  |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetActivityLoggingConfiguration(context.Context, *GetActivityLoggingConfigurationRequest) (*GetActivityLoggingConfigurationResponse, error)

	// The fax client application calls the FAX_SetActivityLoggingConfiguration (Opnum 44)
	// method to set options for activity logging. This includes setting whether entries
	// for incoming and outgoing faxes SHOULD be logged and the location of the log file.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                 |                                                                                  |
	//	|              VALUE/CODE               |                                   DESCRIPTION                                    |
	//	|                                       |                                                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005        | Access denied. This error code is returned under any of the following            |
	//	|                                       | conditions: § The client's fax user account does not have the required           |
	//	|                                       | FAX_ACCESS_MANAGE_CONFIG authorization to manage the server configuration. §     |
	//	|                                       | The directory specified by the lpwstrDBPath member of the pActivLogCfg structure |
	//	|                                       | is not a valid fax folder (the fax server does not have rights to create files,  |
	//	|                                       | write to files, enumerate files and/or delete files), the server needs to return |
	//	|                                       | FAX_ERR_FILE_ACCESS_DENIED, and the client does not support this error code.     |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057    | This error code is returned under any of the following conditions: § The         |
	//	|                                       | dwSizeOfStruct member of the FAX_ACTIVITY_LOGGING_CONFIGW specified by the       |
	//	|                                       | pActivLogCfg parameter is set to an incorrect value. The correct size, in bytes, |
	//	|                                       | described in the FAX_ACTIVITY_LOGGING_CONFIGW structure. § The lpwstrDBPath      |
	//	|                                       | field of the structure specified by the pActivLogCfg argument contains an empty  |
	//	|                                       | string or is set to NULL. § The lpwstrDBPath member of the structure specified   |
	//	|                                       | by the pActivLogCfg argument does not indicate a complete path name.             |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F      | The file name is too long. The lpwstrDBPath field of the structure specified by  |
	//	|                                       | the pActivityLog argument contains a path name longer than 248 characters, not   |
	//	|                                       | counting the terminating null character.                                         |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7     | The fax server cannot store the new activity logging configuration in the        |
	//	|                                       | registry. This error can happen if the registry is corrupted.                    |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_FILE_ACCESS_DENIED 0x00001B60 | This error code is returned under any of the following conditions: § The         |
	//	|                                       | folder specified by the lpwstrDBPath member of the pActivityLog structure        |
	//	|                                       | is not a valid fax folder where the server has rights to create, enumerate,      |
	//	|                                       | write to, and delete files. § The fax server cannot create a new (if different   |
	//	|                                       | from the respective existing file) file specified by the lpwstrDBPath            |
	//	|                                       | member of pActivLogCfg, because the server encountered an access denied          |
	//	|                                       | (ERROR_ACCESS_DENIED) or sharing violation error (ERROR_SHARING_VIOLATION) when  |
	//	|                                       | attempting to create the specified file.                                         |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetActivityLoggingConfiguration(context.Context, *SetActivityLoggingConfigurationRequest) (*SetActivityLoggingConfigurationResponse, error)

	// The FAX_EnumerateProviders (Opnum 45) method is called by the client to enumerate
	// all the FSPs installed on the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error is returned if the BufferSize and/or the  |
	//	|                                    | lpdwNumProviders parameters are set to NULL pointer values.                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of FAX_DEVICE_PROVIDER_INFO    |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59 | The fax server failed to allocate sufficient memory for the return buffer to     |
	//	|                                    | hold the FAX_DEVICE_PROVIDER_INFO to be returned to the client.                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumerateProviders(context.Context, *EnumerateProvidersRequest) (*EnumerateProvidersResponse, error)

	// The FAX_GetPortEx (Opnum 46) method is called by the client to retrieve port status
	// information for a requested port at the server. The device ID that is passed in SHOULD
	// be obtained from FAX_EnumPorts (section 3.1.4.1.28). This method is an extended version
	// of FAX_GetPort (section 3.1.4.1.51).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this call.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the FAX_PORT_INFO_EXW (section 2.2.45)        |
	//	|                                    | structure to be returned to the client.                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_UNIT 0x00000014          | The system cannot find the port for the receiving device by using the line       |
	//	|                                    | identifier specified by the dwDeviceId argument.                                 |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The Buffer parameter is set to a NULL pointer        |
	//	|                                    | value.<127>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the FAX_PORT_INFO_EXW to be returned to  |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetPortEx(context.Context, *GetPortExRequest) (*GetPortExResponse, error)

	// A fax client application uses the FAX_SetPortEx (Opnum 47) method to set fax device
	// information. The function sets extension configuration properties that are stored
	// at the device level, such as enable or disable sending and receiving, and the auto
	// or manual answering of calls. The value for the dwDeviceId parameter can be obtained
	// using the FAX_EnumPorts (section 3.1.4.1.28) method or the FAX_EnumPortsEx (section
	// 3.1.4.1.29) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The caller does not have the required FAX_ACCESS_MANAGE_CONFIG |
	//	|                                              | authorization for this operation.                                                |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_UNIT 0x00000014                    | The fax server cannot find the device specified by the dwDeviceId parameter.     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | This error code is returned under any of the following conditions: § The         |
	//	|                                              | value of dwDeviceId is zero. § The size of the structure pointed at by           |
	//	|                                              | the pPortInfo parameter, or the value of the dwSizeOfStruct field of this        |
	//	|                                              | structure, do not match the correct size for the FAX_PORT_INFO_EXW. § The        |
	//	|                                              | ReceiveMode field of the structure pointed at by pPortInfo does not contain a    |
	//	|                                              | valid value of the FAX_ENUM_DEVICE_RECEIVE_MODE (section 2.2.55) enumeration.    |
	//	|                                              | § The device specified by dwDeviceId is a virtual device (the Flags field        |
	//	|                                              | of the FAX_PORT_INFO (section 2.2.7) structure is set to FPF_VIRTUAL)            |
	//	|                                              | and the ReceiveMode field of the structure pointed at by pPortInfo is            |
	//	|                                              | FAX_DEVICE_RECEIVE_MODE_MANUAL.                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The length of the lpwstrDescription character string field of the data structure |
	//	|                                              | pointed at by pPortInfo exceeds 253 characters, excluding the length of the NULL |
	//	|                                              | string terminator.                                                               |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The fax server cannot store the updated device information to Registry. The      |
	//	|                                              | Registry might be corrupt.                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED 0x00001B62 | The fax server cannot complete the operation because the number of active        |
	//	|                                              | fax devices that are allowed for this version of the operating system was        |
	//	|                                              | exceeded.<168>                                                                   |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetPortEx(context.Context, *SetPortExRequest) (*SetPortExResponse, error)

	// The FAX_EnumPortsEx (Opnum 48) method is called by the client to enumerate detailed
	// port state information for each device that is connected to the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the array of _FAX_PORT_INFO_EXW to be         |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The Buffer parameter is set to a NULL pointer value. <96>                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of _FAX_PORT_INFO_EXW to be    |
	//	|                                    | returned to the client.                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumPortsEx(context.Context, *EnumPortsExRequest) (*EnumPortsExResponse, error)

	// The FAX_GetExtensionData (Opnum 49) method is called by the client to retrieve the
	// private configuration data for a fax routing extension or a routing method. Such
	// private configuration data is written with a FAX_SetExtensionData (section 3.1.4.1.79)
	// call. The lpcwstrNameGUID parameter MUST be for a valid routing extension or routing
	// method for which the client requests the private data. The value for the dwDeviceId
	// parameter can be obtained from either the FAX_EnumPorts (section 3.1.4.1.28) or the
	// FAX_EnumPortsEx (section 3.1.4.1.29) methods.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_FILE_NOT_FOUND 0x00000002    | The fax server cannot find the requested data.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: <109> § The lpcwstrNameGUID parameter is set to a NULL       |
	//	|                                    | pointer value. § The ppData parameter is set to a NULL pointer value. § The      |
	//	|                                    | lpdwDataSize parameter is set to a NULL pointer value. § The lpcwstrNameGUID     |
	//	|                                    | parameter holds an invalid curly-braced GUID string.                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contain        |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetExtensionData(context.Context, *GetExtensionDataRequest) (*GetExtensionDataResponse, error)

	// The fax client application calls the FAX_SetExtensionData (Opnum 50) method in order
	// to write the private data for a routing extension or routing method for one or all
	// fax devices installed on the fax server. The corresponding method that the fax client
	// calls to read this private data is FAX_GetExtensionData (section 3.1.4.1.39). The
	// value for the dwDeviceId parameter can be obtained using either the FAX_EnumPorts
	// (section 3.1.4.1.28) or FAX_EnumPortsEx (section 3.1.4.1.29) method. The lpcwstrNameGUID
	// parameter MUST be for a valid routing extension or routing method for which the client
	// requests the private data to be written.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met:<161> § The lpcwstrComputerName parameter is set to a NULL    |
	//	|                                    | pointer value. § The lpcwstrNameGUID parameter is set to a NULL pointer value.   |
	//	|                                    | § The pData parameter is set to a NULL pointer value. § The dwDataSize parameter |
	//	|                                    | is set to zero. § The lpcwstrNameGUID parameter holds an invalid curly-braced    |
	//	|                                    | GUID string.                                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contain        |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetExtensionData(context.Context, *SetExtensionDataRequest) (*SetExtensionDataResponse, error)

	// The FAX_AddOutboundGroup (Opnum 51) method is called by the client to add a new outbound
	// routing group.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the                |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG access rights.                                          |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_DUP_NAME 0x00000034                    | The group name specified by the lpwstrGroupName parameter is "< All devices>".   |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU, but the client |
	//	|                                              | fax API version FAX_API_VERSION_0 (described in section 3.1.4.1.10) does not     |
	//	|                                              | support this error code.                                                         |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The length of the character string specified by the lpwstrGroupName parameter,   |
	//	|                                              | excluding the length of the terminating null terminator, is equal to or greater  |
	//	|                                              | than 128 characters.                                                             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The fax server cannot store the new outbound routing group configuration in the  |
	//	|                                              | registry. The registry could be corrupted.                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<68>              |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those by the underlying RPC protocol
	// [MS-RPCE].
	AddOutboundGroup(context.Context, *AddOutboundGroupRequest) (*AddOutboundGroupResponse, error)

	// The fax client application calls the FAX_SetOutboundGroup (Opnum 52) method to set
	// a new device list to an existing group. The name of the group to remove is specified
	// using the lpwstrGroupName parameter. The value for lpwstrGroupName can be obtained
	// using FAX_EnumOutboundGroups (section 3.1.4.1.26).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | The client's fax user account does not have the required                         |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned when any of the          |
	//	|                                              | following conditions occur: § The dwSizeOfStruct member of the pGroup parameter  |
	//	|                                              | is not equal to the correct size of the RPC_FAX_OUTBOUND_ROUTING_GROUPW. §       |
	//	|                                              | The lpwstrGroupName member of pGroup is set to a NULL pointer value. § The       |
	//	|                                              | lpdwDevices member of pGroup is set to NULL and the dwNumDevices member of       |
	//	|                                              | the same pGroup is set to a value greater than zero. § The fax server tried      |
	//	|                                              | to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client fax API version       |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The length (excluding the terminating null character) of the character           |
	//	|                                              | string pointed at by the lpwstrGroupName member of pGroup is longer than 128     |
	//	|                                              | characters.                                                                      |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<163>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetOutboundGroup(context.Context, *SetOutboundGroupRequest) (*SetOutboundGroupResponse, error)

	// The fax client application calls the FAX_RemoveOutboundGroup (Opnum 53) method to
	// remove an existing outbound routing group from the fax server. The name of the group
	// to remove is specified using the lpwstrGroupName parameter. The value for lpwstrGroupName
	// can be obtained using FAX_EnumOutboundGroups (section 3.1.4.1.26).<149>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the                |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG access rights.                                          |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client  |
	//	|                                              | fax API version (FAX_API_VERSION_0, described in the section 3.1.4.1.10) does    |
	//	|                                              | not support this error code.                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The group name specified by the lpwstrGroupName argument (excluding the length   |
	//	|                                              | of the terminating null character) is longer than 128 characters.                |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The fax server cannot access the local machine's fax routing group information   |
	//	|                                              | in the registry. The registry could be corrupt.                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_OPERATION 0x000010DD           | The lpwstrGroupName parameter specifies the special routing group "<All          |
	//	|                                              | Devices>".                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_GROUP_NOT_FOUND 0x000001B5A          | The group specified by the lpwstrGroupName argument cannot be found.             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_GROUP_IN_USE 0x00001B5C              | The fax server cannot remove the outbound routing group identified by            |
	//	|                                              | lpwstrGroupName. The outbound routing group is in use by one or more outbound    |
	//	|                                              | routing rules.                                                                   |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in the section 3.1.4.1.10) is       |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<150>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	RemoveOutboundGroup(context.Context, *RemoveOutboundGroupRequest) (*RemoveOutboundGroupResponse, error)

	// The FAX_EnumOutboundGroups (Opnum 54) method is called by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                              | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | This error code is returned under any of the following conditions: § The         |
	//	|                                              | pointer referenced by the ppData argument is NULL.<92> § The fax server tried    |
	//	|                                              | to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU, but the client fax API version      |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module's API version (described in section 3.1.4.1.10) is         |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running. on a version of the   |
	//	|                                              | operating system that does not support the requested operation.<93>              |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumOutboundGroups(context.Context, *EnumOutboundGroupsRequest) (*EnumOutboundGroupsResponse, error)

	// The FAX_SetDeviceOrderInGroup (Opnum 55) method is called by the client. The value
	// for the dwDeviceId parameter can be obtained using the FAX_EnumPorts (section 3.1.4.1.28)
	// method or the FAX_EnumPortsEx (section 3.1.4.1.29) method. The name of the group
	// to remove is specified using the lpwstrGroupName parameter. The value for lpwstrGroupName
	// can be obtained using FAX_EnumOutboundGroups (section 3.1.4.1.26).
	//
	// The order is the 1-based location of the device in the group. The value of 1 indicates
	// the device is ordered first in the group. The order of devices in the group determines
	// the order in which they are used to send outgoing faxes when the group is selected
	// by an outbound routing rule.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the required       |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The group name is too long. The length of the character string specified by the  |
	//	|                                              | lpwstrGroupName parameter, excluding the length of the null terminator, exceeds  |
	//	|                                              | 128 characters.                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                              | conditions are met: § The dwDeviceId or the dwNewOrder parameter is set to a     |
	//	|                                              | value of 0. § The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU,  |
	//	|                                              | but the client fax API version (FAX_API_VERSION_0, described in section          |
	//	|                                              | 3.1.4.1.10) does not support this error code.                                    |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_BAD_GROUP_CONFIGURATION 0x00001B5B   | The device specified by dwDeviceId does not exist in the group identified by     |
	//	|                                              | the lpwstrGroupName, or the value of dwNewOrder is greater than the number of    |
	//	|                                              | devices in the group.                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (as described in section 3.1.4.1.10) is        |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<160>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetDeviceOrderInGroup(context.Context, *SetDeviceOrderInGroupRequest) (*SetDeviceOrderInGroupResponse, error)

	// The FAX_AddOutboundRule (Opnum 56) method is called by the client to add a new outbound
	// rule for the specified outbound group to the fax server’s rules map. The value
	// for the dwDeviceId parameter can be obtained using the FAX_EnumPorts (section 3.1.4.1.28)
	// method or the FAX_EnumPortsEx (section 3.1.4.1.29) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have authorization      |
	//	|                                              | required for this call (FAX_ACCESS_MANAGE_CONFIG).                               |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_UNIT 0x00000014                    | The system cannot find the device specified by the dwDeviceId argument.          |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_GEN_FAILURE 0x0000001F                 | The fax server encountered an exception while processing the character string    |
	//	|                                              | specified by the lpwstrGroupName argument.                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned when any of              |
	//	|                                              | the following conditions are met: § The country code specified with the          |
	//	|                                              | dwCountryCode argument is ROUTING_RULE_COUNTRY_CODE_ANY (not a valid             |
	//	|                                              | rule dialing location). § The lpwstrGroupName argument value is NULL.            |
	//	|                                              | § The value of the dwDeviceId argument is 0. § The fax server needs to           |
	//	|                                              | return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU, but the client fax API version         |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The destination group of the rule specified by the lpwstrGroupName argument      |
	//	|                                              | is longer than the maximum supported value of 128 characters (excluding the      |
	//	|                                              | terminating null character).                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_BAD_GROUP_CONFIGURATION 0x00001B5B   | The fax server encountered an outbound routing group with a bad configuration,   |
	//	|                                              | or the group device list is empty; the status for the new rule object created    |
	//	|                                              | by the server based on the specified dialing location and device ID is           |
	//	|                                              | FAX_RULE_STATUS_ALL_GROUP_DEV_NOT_VALID or FAX_RULE_STATUS_EMPTY_GROUP.          |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<69>              |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	AddOutboundRule(context.Context, *AddOutboundRuleRequest) (*AddOutboundRuleResponse, error)

	// The FAX_RemoveOutboundRule (Opnum 57) method removes an existing outbound routing
	// rule from the rules map. The default outbound rule cannot be removed.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the required       |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG access rights to perform this operation.                |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. The country code specified by the dwCountryCode      |
	//	|                                              | argument is ROUTING_RULE_COUNTRY_CODE_ANY. Also returned if the fax server       |
	//	|                                              | tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client fax API version |
	//	|                                              | (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The fax server encountered a registry error when attempting to remove the        |
	//	|                                              | specified outbound rule registration. The registry could be corrupt.             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_RULE_NOT_FOUND 0x00001B5D            | The fax server failed to locate an outbound routing rule by country/region code  |
	//	|                                              | and area code.                                                                   |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax server is running on a version of the operating system that does not     |
	//	|                                              | support the requested operation.<151>                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	RemoveOutboundRule(context.Context, *RemoveOutboundRuleRequest) (*RemoveOutboundRuleResponse, error)

	// A fax client application uses the FAX_SetOutboundRule (Opnum 58) method to set the
	// information about an individual fax outbound routing rule.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the required       |
	//	|                                              | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                              | conditions occur: § The lpwstrGroupName member of the Destination member of      |
	//	|                                              | the pRule parameter is set to a NULL pointer value. § The dwDeviceId member      |
	//	|                                              | of the Destination member of pRule is set to zero. § The fax server tried        |
	//	|                                              | to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client fax API version       |
	//	|                                              | (FAX_API_VERSION_0 (described in section 3.1.4.1.10) does not support this error |
	//	|                                              | code.                                                                            |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F             | The length (excluding the terminating null character) of the character string    |
	//	|                                              | pointed at by the lpwstrGroupName member of the Destination member of pRule is   |
	//	|                                              | greater than 128 characters.                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7            | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                              | data is corrupted, or the system's memory image of the file is corrupted, or     |
	//	|                                              | the file could not be recovered because the alternate copy or log was absent or  |
	//	|                                              | corrupted.                                                                       |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_BAD_GROUP_CONFIGURATION 0x00001B5B   | This error code is returned if any of the following conditions occur: § The      |
	//	|                                              | fax server encountered an outbound routing group with a bad configuration,       |
	//	|                                              | or the group device list is empty. § The status for the outbound routing rule    |
	//	|                                              | object indicated by the specified dialing location (the dwCountryCode and        |
	//	|                                              | dwAreaCode members of pRule) and group name (the lpwstrGroupName member of       |
	//	|                                              | the Destination member of pRule) is FAX_GROUP_STATUS_ALL_ DEV_NOT_VALID or       |
	//	|                                              | FAX_RULE_STATUS_EMPTY_GROUP.                                                     |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module API version (described in section 3.1.4.1.10) is           |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<164>             |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetOutboundRule(context.Context, *SetOutboundRuleRequest) (*SetOutboundRuleResponse, error)

	// The FAX_EnumOutboundRules (Opnum 59) method is called by the client to enumerate
	// all the outbound routing rules that are present on the specified fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	|                    RETURN                    |                                                                                  |
	//	|                  VALUE/CODE                  |                                   DESCRIPTION                                    |
	//	|                                              |                                                                                  |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005               | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                              | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057           | The fax server tried to return FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU but the client  |
	//	|                                              | fax API version (FAX_API_VERSION_0, described in section 3.1.4.1.10) does not    |
	//	|                                              | support this error code.                                                         |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU 0x00001B63 | The fax client module's API version (described in section 3.1.4.1.10) is         |
	//	|                                              | FAX_API_VERSION_1 or above, and the fax server is running on a version of the    |
	//	|                                              | operating system that does not support the requested operation.<94>              |
	//	+----------------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumOutboundRules(context.Context, *EnumOutboundRulesRequest) (*EnumOutboundRulesResponse, error)

	// The fax client application calls the FAX_RegisterServiceProviderEx (Opnum 60) method
	// to register a fax service provider (FSP) with the Fax Service. Registration takes
	// place after the Fax Service restarts.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the authorization  |
	//	|                                    | for FAX_ACCESS_MANAGE_CONFIG required for this operation.                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The lpcwstrGuid parameter contains an invalid GUID. §      |
	//	|                                    | The dwFSPIVersion parameter is set to a value other than 0x00010000. § The       |
	//	|                                    | dwCapabilities parameter is set to a value other than 0. § The file path         |
	//	|                                    | specified by the lpcwstrImageName parameter does not exist, or the fax server    |
	//	|                                    | does not have access to the file.                                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The length of the lpcwstrFriendlyName, lpcwstrImageName or lpcwstrTspName        |
	//	|                                    | character strings exceeds MAX_FAX_STRING_LEN characters, excluding the length of |
	//	|                                    | the NULL string terminator.                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ALREADY_EXISTS 0x000000B7    | An FSP is already registered with the same GUID (specified by the lpcwstrGUID    |
	//	|                                    | parameter) or with the same telephony service provider (specified by the         |
	//	|                                    | lpcwstrTspName parameter).                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contains       |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	RegisterServiceProviderEx(context.Context, *RegisterServiceProviderExRequest) (*RegisterServiceProviderExResponse, error)

	// The FAX_UnregisterServiceProviderEx (Opnum 61) method is called when the client needs
	// to unregister a fax service provider (FSP). In response, the server MUST validate
	// that the client's fax user account has write access. On success, the server MUST
	// remove the service provider for the fax server.<179>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The caller does not have the required FAX_ACCESS_MANAGE_CONFIG |
	//	|                                | authorization for this operation.                                                |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	UnregisterServiceProviderEx(context.Context, *UnregisterServiceProviderExRequest) (*UnregisterServiceProviderExResponse, error)

	// The FAX_UnregisterRoutingExtension (Opnum 62) method unregisters an existing inbound
	// routing extension.<178>
	//
	// There are no corresponding routing extension registration functions exposed to the
	// FAX client. Registration is a non-RPC process that is done locally on the fax server
	// using any implementation-specific method.
	//
	// On success, the server MUST unregister the specified routing extension.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have sufficient rights  |
	//	|                                | to perform the operation (FAX_ACCESS_MANAGE_CONFIG) or the user account does not |
	//	|                                | exist.                                                                           |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	UnregisterRoutingExtension(context.Context, *UnregisterRoutingExtensionRequest) (*UnregisterRoutingExtensionResponse, error)

	// The FAX_StartMessagesEnum (Opnum 63) method is called by the client. On success,
	// the server MUST start enumerating messages in one of the archives.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The caller does not have the required                          |
	//	|                                    | ALL_FAX_USERS_ACCESS_RIGHTS access right to execute this call.                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of             |
	//	|                                    | the following conditions: § The value specified for the level argument           |
	//	|                                    | is not equal to 1. § The value specified for the Folder argument is not          |
	//	|                                    | equal to FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS. § The         |
	//	|                                    | lpcwstrAccountName parameter is not NULL and passes validation checks but does   |
	//	|                                    | not correspond to an existing account name. § The account name specified by the  |
	//	|                                    | lpcwstrAccountName argument is a valid account name but it refers to a different |
	//	|                                    | user than the caller.                                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NO_MORE_ITEMS 0x00000103     | No data is available. There are no messages to be enumerated.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	StartMessagesEnum(context.Context, *StartMessagesEnumRequest) (*StartMessagesEnumResponse, error)

	// The FAX_EndMessagesEnum (Opnum 64) method is called by the client.
	//
	// On success, the server MUST halt the enumerating of messages in the specified archives.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | This error code SHOULD be returned if the handle pointed to by the specified     |
	//	|                                    | lpHandle parameter is not a valid handle returned by FAX_StartMessagesEnum.<79>  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error SHOULD be returned if the handle pointed to by the specified lpHandle |
	//	|                                    | is NULL.<80>                                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EndMessagesEnum(context.Context, *EndMessagesEnumRequest) (*EndMessagesEnumResponse, error)

	// The FAX_EnumMessages (Opnum 65) method is called by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The fax server failed to allocate memory for the return buffer.                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error code is returned if any of the following conditions are met: § One    |
	//	|                                    | or more of the pointer values specified by the following arguments are NULL:     |
	//	|                                    | lppBuffer, lpdwBufferSize, and lpdwNumMessagesRetrieved. § The hEnum parameter   |
	//	|                                    | is NULL.<89> § The maximum number of messages, specified by the dwNumMessages    |
	//	|                                    | argument, is set to zero.                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The fax server encountered an integer overflow condition while processing        |
	//	|                                    | the request for the maximum number of messages specified by the dwNumMessages    |
	//	|                                    | argument.                                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NO_MORE_ITEMS 0x00000103     | No more data is available. The method reached the end of the lppBuffer message   |
	//	|                                    | buffer and there are no more messages to be enumerated.                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59 | The fax server failed to allocate memory needed for internal execution of the    |
	//	|                                    | command.                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The client expects that this method is incremental and uses an internal context cursor
	// to point to the next set of messages to retrieve for each call. The cursor is set
	// to point to the beginning of the messages in the archive after a successful call
	// to FAX_StartMessagesEnum. Each successful call to FAX_EnumMessages advances the cursor
	// by the number of messages retrieved. After the cursor reaches the end of the enumeration,
	// the method fails with the 0x00000103 (ERROR_NO_MORE_ITEMS) error code. The FAX_EndMessagesEnum
	// (section 3.1.4.1.16) method SHOULD then be called.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumMessages(context.Context, *EnumMessagesRequest) (*EnumMessagesResponse, error)

	// The FAX_GetMessage (Opnum 66) method is called by the client. The archive can be
	// one of the enumerations that are defined by FAX_ENUM_MESSAGE_FOLDER (section 2.2.2)
	// except FAX_MESSAGE_FOLDER_QUEUE. The dwlMessageId parameter specifies a particular
	// message and can be obtained using the FAX_EnumMessages (section 3.1.4.1.24) method
	// or the FAX_EnumMessagesEx (section 3.1.4.1.25) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have any of the         |
	//	|                                      | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008   | Not enough storage is available to process this command. The fax server failed   |
	//	|                                      | to allocate sufficient memory to hold the FAX_MESSAGEW to be returned to the     |
	//	|                                      | client.                                                                          |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned when any of the          |
	//	|                                      | following conditions are met: § The lppBuffer or lpdwBufferSize parameters       |
	//	|                                      | are set to NULL pointer values.<116> § The dwlMessageId parameter is set         |
	//	|                                      | to a value of 0, and the value of the specified Folder parameter is not          |
	//	|                                      | FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS.                        |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F      | The fax server failed to custom marshal the FAX_MESSAGEW to be returned to the   |
	//	|                                      | client.                                                                          |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | The fax server cannot find the job or message by its identifier.  This           |
	//	|                                      | error code is returned when any of the following conditions are met:             |
	//	|                                      | § The message identified by dwlMessageId is not found. § The message             |
	//	|                                      | identified by dwlMessageId is an unassigned incoming fax. The incoming           |
	//	|                                      | faxes are not public (accessible to all users), and the user does not            |
	//	|                                      | have FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission. § The message identified       |
	//	|                                      | by dwlMessageId is for a different user, and this user does not have             |
	//	|                                      | FAX_ACCESS_QUERY_ARCHIVES permission.                                            |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetMessage(context.Context, *GetMessageRequest) (*GetMessageResponse, error)

	// The fax client application calls the FAX_RemoveMessage (Opnum 67) method to remove
	// a message from a specific Fax Archive Folder. The dwlMessageId parameter specifies
	// a particular message and can be obtained using the FAX_EnumMessages (section 3.1.4.1.24)
	// method or the FAX_EnumMessagesEx (section 3.1.4.1.25) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section  2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                 |                                                                                  |
	//	|              VALUE/CODE               |                                   DESCRIPTION                                    |
	//	|                                       |                                                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005        | Access is denied. The caller does not have the required access rights            |
	//	|                                       | (ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83)) for this operation.                |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057    | This error code is returned under any of the following conditions: § The value   |
	//	|                                       | of the dwlMessageId parameter is 0. § The value of the Folder parameter is not   |
	//	|                                       | FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENT_ITEMS.                       |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_FILE_ACCESS_DENIED 0x00001B60 | The fax server failed to remove the fax message. When trying to delete the fax   |
	//	|                                       | archived file (the file that represents the fax message to be removed), the fax  |
	//	|                                       | server internally encountered an access denied or sharing violation error.       |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61  | The fax server cannot find the message to be deleted (indicated by               |
	//	|                                       | dwlMessageId). When trying to delete the fax archived file (the file that        |
	//	|                                       | represents the fax message to be removed), the fax server internally encountered |
	//	|                                       | a file not found error.                                                          |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	RemoveMessage(context.Context, *RemoveMessageRequest) (*RemoveMessageResponse, error)

	// The client calls the FAX_StartCopyToServer (Opnum 68) method to start a copy of a
	// file to the server queue directory (section 3.1.1) for which the client's fax user
	// account has access to submit faxes. The server MUST generate a unique file name and
	// create a file with that name in the server queue directory. Then the server MUST
	// create a copy handle and return it to the client to indicate success.
	//
	// The copy handle returned by the fax server with the lpHandle output argument is valid
	// until the fax client calls FAX_EndCopy (section 3.1.4.1.15), until the fax server
	// is shut down or restarted, or until an implementation-specific condition occurs that
	// invalidates the copy handle on the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the access  |
	//	|                                    | rights required for this operation: FAX_ACCESS_SUBMIT, FAX_ACCESS_SUBMIT_NORMAL, |
	//	|                                    | or FAX_ACCESS_SUBMIT_HIGH.                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The lpcwstrFileExt parameter is set to a NULL pointer    |
	//	|                                    | value.<173> § The file extension that is specified by lpcwstrFileExt is not      |
	//	|                                    | ".cov" or ".tif".                                                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The file name is too long. The buffer specified by the lpwstrServerFileName      |
	//	|                                    | parameter does not have sufficient space to accommodate the server file name.    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	StartCopyToServer(context.Context, *StartCopyToServerRequest) (*StartCopyToServerResponse, error)

	// The FAX_StartCopyMessageFromServer (Opnum 69) method is called by the fax client
	// to start a copy operation of a fax message from the Fax Archive Folder (section 3.1.1)
	// or of a fax job from the server queue directory (section 3.1.1).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|          RETURN/ERROR CODE           |                                                                                  |
	//	|                VALUES                |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. The dwlMessageId specified is 0 and/or the           |
	//	|                                      | specified Folder enumeration value is not FAX_MESSAGE_FOLDER_QUEUE,              |
	//	|                                      | FAX_MESSAGE_FOLDER_INBOX, or FAX_MESSAGE_FOLDER_SENTITEMS.                       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | This error code is returned if any of the following conditions are met: §        |
	//	|                                      | The fax server cannot find the fax queue entry referenced by the specified       |
	//	|                                      | dwMessageId (invalid job identifier) or the user does not have sufficient        |
	//	|                                      | rights to access the fax queue. § FAX_MESSAGE_FOLDER_QUEUE was specified         |
	//	|                                      | for the Folder parameter, the specified message is not owned by the client's     |
	//	|                                      | fax user account, and the client's fax user account does not have either         |
	//	|                                      | the FAX_ACCESS_QUERY_OUT_JOBS permission or the FAX_ACCESS_MANAGE_OUT_JOBS       |
	//	|                                      | permission. § FAX_MESSAGE_FOLDER_INBOX was specified for Folder, the client's    |
	//	|                                      | fax user account does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission,  |
	//	|                                      | and the bIncomingMessagesArePublic option is not specified in the server         |
	//	|                                      | configuration. § FAX_MESSAGE_FOLDER_SENTITEMS was specified for Folder,          |
	//	|                                      | the client's fax user account does not have the FAX_ACCESS_QUERY_ARCHIVES        |
	//	|                                      | permission, and the specified message is not owned by the client's fax user      |
	//	|                                      | account.                                                                         |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	StartCopyMessageFromServer(context.Context, *StartCopyMessageFromServerRequest) (*StartCopyMessageFromServerResponse, error)

	// The FAX_WriteFile (Opnum 70) method is called by the client.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.<181>
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | The handle value specified by the hCopy argument is not a valid copy handle      |
	//	|                                    | returned by FAX_StartCopyToServer.                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_GEN_FAILURE 0x0000001F       | A device attached to the system is not functioning. The call was unable to write |
	//	|                                    | the full amount of the data that was requested to be written.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The following conditions can lead to this value being returned: § The parameter  |
	//	|                                    | is incorrect. § The dwDataSize parameter is 0. § The handle value specified by   |
	//	|                                    | the hCopy argument is NULL or the buffer size specified by the dwDataSize is     |
	//	|                                    | zero.                                                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	WriteFile(context.Context, *WriteFileRequest) (*WriteFileResponse, error)

	// The fax client application calls the FAX_ReadFile (Opnum 71) method to copy a file
	// from the server (in chunks).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006    | The handle specified by the hCopy argument is not a valid copy handle            |
	//	|                                    | returned by FAX_StartCopyMessageFromServer for which FAX_EndCopy has not been    |
	//	|                                    | called.<142>                                                                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The handle specified by the hCopy argument is NULL.<143> |
	//	|                                    | § The value specified for the dwMaxDataSize argument is zero. § The value        |
	//	|                                    | specified for the *lpdwDataSize at input (when the call is made) is different    |
	//	|                                    | than the value specified for the dwMaxDataSize argument.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	ReadFile(context.Context, *ReadFileRequest) (*ReadFileResponse, error)

	// The FAX_EndCopy (Opnum 72) method is called by the client to end a copy operation
	// process from or to the server, and to close the respective copy handle.
	//
	// On success, the server MUST terminate the specified copy operation previously begun
	// with FAX_StartCopyToServer (section 3.1.4.1.97) or FAX_StartCopyMessageFromServer
	// (section 3.1.4.1.96).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN              |                                                                                  |
	//	|           VALUE/CODE            |                                   DESCRIPTION                                    |
	//	|                                 |                                                                                  |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE 0x00000006 | This error code SHOULD be returned if the handle pointed to by the specified     |
	//	|                                 | lphCopy parameter is not a valid handle returned by FAX_StartCopyToServer or     |
	//	|                                 | FAX_StartCopyMessageFromServer.<78>                                              |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EndCopy(context.Context, *EndCopyRequest) (*EndCopyResponse, error)

	// The FAX_StartServerNotification (Opnum 73) method is called by the client to get
	// notification about legacy events. On success, the server MUST start to notify the
	// fax client about the occurring fax events.
	//
	// Protocol version FAX_API_VERSION_2 (0x00020000) and FAX_API_VERSION_3 (0x00030000)
	// fax servers SHOULD fail this call by returning ERROR_NOT_SUPPORTED (0x00000032).
	// The fax client SHOULD NOT call this method if the protocol version reported by the
	// server is FAX_API_VERSION_2 (0x00020000) or FAX_API_VERSION_3 (0x00030000). For more
	// information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | The client's fax user account does not have sufficient rights for this call,     |
	//	|                                | which is ALL_FAX_USER_ACCESS_RIGHTS, or the user account does not exist.         |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_FORMAT 0x0000000B    | The length, including the terminating null character, of the string specified    |
	//	|                                | by the lpcwstrMachineName argument is greater than 256 characters. The length,   |
	//	|                                | including the terminating null character, of the string specified by the         |
	//	|                                | lpcwstrEndPoint argument is greater than 11 characters.                          |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_SUPPORTED 0x00000032 | The request is not supported.                                                    |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// A fax client calls FAX_StartServerNotification to inform the server that it needs
	// to receive the notifications of legacy fax events. The fax server SHOULD call FAX_OpenConnection
	// on the client by using the supplied endpoint, protocol sequence information, and
	// context handle information. The server then sends the notification of legacy events
	// to the client by using FAX_ClientEventQueue (section 3.2.4.2). When the client no
	// longer needs to receive notifications, it calls FAX_EndServerNotification, and the
	// server SHOULD call FAX_CloseConnection (section 3.2.4.4) to close the connection.
	//
	// Note  This method only supports TCP/IP as the transport protocol.
	StartServerNotification(context.Context, *StartServerNotificationRequest) (*StartServerNotificationResponse, error)

	// The FAX_StartServerNotificationEx (Opnum 74) method is called by the client to get
	// notification about extended or legacy events. On success, the server MUST start to
	// notify the fax client about the occurring fax events.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section  2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error code is returned under any of the following         |
	//	|                                    | conditions: § The value specified for the dwEventTypes argument contains         |
	//	|                                    | the FAX_EVENT_TYPE_NEW_CALL and/or FAX_EVENT_TYPE_IN_QUEUE flags and the         |
	//	|                                    | caller cannot access unsigned faxes: incoming faxes are not public and the       |
	//	|                                    | caller does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER rights. § The value    |
	//	|                                    | specified for the dwEventTypes argument contains the FAX_EVENT_TYPE_CONFIG,      |
	//	|                                    | FAX_EVENT_TYPE_DEVICE_STATUS and/or the FAX_EVENT_TYPE_ACTIVITY flags and the    |
	//	|                                    | caller does not have the FAX_ACCESS_QUERY_CONFIG rights.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BAD_FORMAT 0x0000000B        | This error code is returned under any of the following conditions: § The length  |
	//	|                                    | of the fax client machine name specified by the lpcwstrMachineName argument,     |
	//	|                                    | excluding the length of the terminating null character, is longer than 256       |
	//	|                                    | characters. § The length of the endpoint string specified by the lpcwstrEndPoint |
	//	|                                    | argument, excluding the length of the terminating null character, is longer than |
	//	|                                    | or equal to 11 characters.                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_OUTOFMEMORY 0x0000000E       | Not enough storage is available to complete this operation.                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | Invalid parameter. This error code is returned under any of the following        |
	//	|                                    | conditions: § Any of these arguments specify a NULL pointer value:               |
	//	|                                    | lcpwstrEndPoint, lpcwstrMachineName, lpHandle.<175> § The value specified for    |
	//	|                                    | the dwEventTypes argument is not a bitwise OR combination of the following       |
	//	|                                    | FAX_ENUM_EVENT_TYPE values: § FAX_EVENT_TYPE_IN_QUEUE § FAX_EVENT_TYPE_OUT_QUEUE |
	//	|                                    | § FAX_EVENT_TYPE_CONFIG § FAX_EVENT_TYPE_ACTIVITY § FAX_EVENT_TYPE_QUEUE_STATE   |
	//	|                                    | § FAX_EVENT_TYPE_IN_ARCHIVE § FAX_EVENT_TYPE_OUT_ARCHIVE §                       |
	//	|                                    | FAX_EVENT_TYPE_FXSSVC_ENDED § FAX_EVENT_TYPE_DEVICE_STATUS §                     |
	//	|                                    | FAX_EVENT_TYPE_NEW_CALL                                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// A fax client calls FAX_StartServerNotificationEx to inform the server that it needs
	// to receive the notifications of extended or legacy fax events. The fax server SHOULD
	// call FAX_OpenConnection on the client by using the supplied endpoint, protocol sequence
	// information, and context handle information. The server then sends notification of
	// events to the client by using either FAX_ClientEventQueueEx (section 3.2.4.3) or
	// FAX_ClientEventQueue (section 3.2.4.2) as specified by the bEventEx parameter. When
	// the client no longer needs to receive notifications, it calls FAX_EndServerNotification;
	// the server SHOULD call FAX_CloseConnection (section 3.2.4.4) to close the connection.
	StartServerNotificationEx(context.Context, *StartServerNotificationExRequest) (*StartServerNotificationExResponse, error)

	// The FAX_EndServerNotification (Opnum 75) method is called by the client to stop the
	// notifications from the server, which were initiated by a call to 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).
	//
	// On success, the server MUST stop notifying the client of events.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | This error SHOULD be returned if the lpHandle parameter is not a valid           |
	//	|                                    | handle obtained using the FAX_StartServerNotification method, the                |
	//	|                                    | FAX_StartServerNotificationEx method, or the FAX_StartServerNotificationEx2      |
	//	|                                    | method.<81>                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | lpHandle is specified as NULL.<82>                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// To stop notifications, the client SHOULD call FAX_EndServerNotification; the server
	// SHOULD call FAX_CloseConnection section 3.2.4.4) to close the connection.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EndServerNotification(context.Context, *EndServerNotificationRequest) (*EndServerNotificationResponse, error)

	// The fax client application calls the FAX_GetServerActivity (Opnum 76) method to retrieve
	// the status of the fax queue activity and event log reports.
	//
	// The client MUST allocate memory for the pServerActivity argument. It MUST also set
	// the dwSizeOfStruct field to the correct size, in bytes, of the FAX_SERVER_ACTIVITY
	// structure as described in section 2.2.19.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The dwSizeOfStruct member of the FAX_SERVER_ACTIVITY |
	//	|                                    | specified by the pServerActivity parameter on input is set by the client to an   |
	//	|                                    | incorrect value. For more details about the correct size to be filled in this    |
	//	|                                    | member, see the FAX_SERVER_ACTIVITY.                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetServerActivity(context.Context, *GetServerActivityRequest) (*GetServerActivityResponse, error)

	// The FAX_SetConfigWizardUsed (Opnum 77) method is called by the client. The server
	// MUST validate that the client's fax user account has access to manage configuration
	// information on the server. On success, the server MUST set a value in the registry
	// indicating whether or not the configuration wizard was used. <159>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	|              RETURN               |                                                                                  |
	//	|            VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                   |                                                                                  |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005    | Access is denied. The caller does not have the required rights                   |
	//	|                                   | (FAX_ACCESS_MANAGE_CONFIG) to perform this operation.                            |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7 | The registry is corrupted. The structure of one of the files containing registry |
	//	|                                   | data is corrupted, or the system's memory image of the file is corrupted.        |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetConfigWizardUsed(context.Context, *SetConfigWizardUsedRequest) (*SetConfigWizardUsedResponse, error)

	// The FAX_EnumRoutingExtensions (Opnum 78) function is called by the client to enumerate
	// all the routing extensions that are registered with the specified fax server. The
	// function returns detailed information about each of the routing extensions.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access rights  |
	//	|                                    | (FAX_ACCESS_QUERY_CONFIG) required for this operation.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server cannot   |
	//	|                                    | allocate sufficient memory to hold the array of FAX_ROUTING_EXTENSION_INFO       |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The Buffer parameter is set to a NULL pointer value. <97>                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the array of FAX_ROUTING_EXTENSION_INFO  |
	//	|                                    | structures to be returned to the client.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumRoutingExtensions(context.Context, *EnumRoutingExtensionsRequest) (*EnumRoutingExtensionsResponse, error)

	// The FAX_ConnectFaxServer (Opnum 80) method is called by the client to create a connection
	// to the fax server.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000) fax servers SHOULD NOT implement
	// this method.
	//
	// If the underlying RPC layer fails this call by returning RPC_S_PROCNUM_OUT_OF_RANGE
	// (0x000006D1), the fax client SHOULD consider the server protocol (and API version)
	// to be FAX_API_VERSION_0 and MAY retry this request by switching to the FaxObs Server
	// Interface (section 3.1.4.2) and calling the FaxObs_ConnectionRefCount (section 3.1.4.2.2)
	// method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The bAutoCreateAccountOnConnect field of the                   |
	//	|                                | FAX_GENERAL_CONFIG structure is set to FALSE and the calling user's              |
	//	|                                | authenticated user identity does not have a fax user account associated on       |
	//	|                                | the fax server, or the does not have any of the access rights defined in         |
	//	|                                | ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).                                     |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	ConnectFaxServer(context.Context, *ConnectFaxServerRequest) (*ConnectFaxServerResponse, error)

	// The FAX_GetSecurityEx (Opnum 81) method is called by the clients to retrieve information
	// about the fax security descriptor from the fax server.<134>
	//
	// Protocol version FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call
	// by returning ERROR_NOT_SUPPORTED (0x00000032). The fax client SHOULD NOT call this
	// method if the protocol version reported by the server is FAX_API_VERSION_3 (0x00030000).
	// For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10). The fax client
	// SHOULD call the FAX_GetSecurityEx2 (section 3.1.4.1.60) method instead.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	|                 RETURN                  |                                                                                  |
	//	|               VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                         |                                                                                  |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005          | Access is denied. This error code is returned if any of the following            |
	//	|                                         | conditions occur: § The client's fax user account does not have READ_CONTROL     |
	//	|                                         | access but the requesting SecurityInformation parameter contains one             |
	//	|                                         | of these flags: GROUP_SECURITY_INFORMATION, DACL_SECURITY_INFORMATION,           |
	//	|                                         | or OWNER_SECURITY_INFORMATION. § The client's fax user account does not          |
	//	|                                         | have ACCESS_SYSTEM_SECURITY but the SecurityInformation contains the flag        |
	//	|                                         | SACL_SECURITY_INFORMATION.                                                       |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008      | Not enough storage is available to process this command.                         |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057      | The parameter is incorrect. This is returned when the pSecurityDescriptor        |
	//	|                                         | parameter is NULL.                                                               |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_SECURITY_DESCR 0x0000053A | The security descriptor structure is invalid.                                    |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetSecurityEx(context.Context, *GetSecurityExRequest) (*GetSecurityExResponse, error)

	// A fax client application calls the FAX_RefreshArchive (Opnum 82) method to notify
	// the server that the archive folder has been changed and SHOULD be refreshed.<145>
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The required access level SHOULD be FAX_ACCESS_MANAGE_CONFIG.  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The folder parameter SHOULD either be                |
	//	|                                    | FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS.<147>                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	RefreshArchive(context.Context, *RefreshArchiveRequest) (*RefreshArchiveResponse, error)

	// The FAX_SetRecipientsLimit (Opnum 83) method is called by the client. A fax client
	// application calls FAX_SetRecipientsLimit to set the recipient limit of a single broadcast
	// job. On success, the server MUST set the recipient limit of a single broadcast job.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000) and FAX_API_VERSION_1 (0x00010000)
	// fax servers SHOULD NOT implement this call. Protocol version FAX_API_VERSION_2 (0x00020000)
	// and FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call by returning
	// ERROR_NOT_SUPPORTED (0x00000032). The fax client MUST NOT call this method if the
	// protocol version reported by the server is FAX_API_VERSION_0 (0x00000000) or FAX_API_VERSION_1
	// (0x00010000). For more information,  see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method SHOULD return 0x00000032 (ERROR_NOT_SUPPORTED).
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetRecipientsLimit(context.Context, *SetRecipientsLimitRequest) (*SetRecipientsLimitResponse, error)

	// The FAX_GetRecipientsLimit (Opnum 84) method is called by the client to retrieve
	// information about the recipient limit of a single broadcast job.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have any of the         |
	//	|                                | following access rights: FAX_ACCESS_SUBMIT, FAX_ACCESS_SUBMIT_NORMAL, or         |
	//	|                                | FAX_ACCESS_SUBMIT_HIGH.                                                          |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetRecipientsLimit(context.Context, *GetRecipientsLimitRequest) (*GetRecipientsLimitResponse, error)

	// The FAX_GetServerSKU (Opnum 85) method is called by the client. In response, the
	// server returns the SKU of the fax server operating system.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return the following error code, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN             |                                                                                  |
	//	|           VALUE/CODE           |                                   DESCRIPTION                                    |
	//	|                                |                                                                                  |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005 | Access is denied. The client's fax user account does not have any of the         |
	//	|                                | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+--------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetServerSKU(context.Context, *GetServerSKURequest) (*GetServerSKUResponse, error)

	// The FAX_CheckValidFaxFolder (Opnum 86) method is called by the client to check whether
	// the specified path is accessible to the fax server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN                |                                                                                  |
	//	|             VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                     |                                                                                  |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_FILE_NOT_FOUND 0x00000002     | The path specified by the lpcwstrPath argument has a valid structure (the folder |
	//	|                                     | path is valid), but the file does not exist.                                     |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_PATH_NOT_FOUND 0x00000003     | The path specified by the lpcwstrPath argument has a valid structure, but the    |
	//	|                                     | folder path does not exist.                                                      |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005      | Access is denied. The client's fax user account does not have sufficient rights  |
	//	|                                     | for this operation (ALL_FAX_USER_ACCESS_RIGHTS).                                 |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057  | The lpcwstrPath argument is NULL, or the path specified by the lpcwstrPath       |
	//	|                                     | argument is incomplete.                                                          |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F    | The length of the path (including length of the terminating null character)      |
	//	|                                     | specified by the lpcwstrPath argument exceeds 180 characters.                    |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_DIRECTORY_IN_USE 0x00001B5F | The path specified by the lpcwstrPath argument points to a folder currently in   |
	//	|                                     | use by the fax server, such as the server queue directory or the Fax Archive     |
	//	|                                     | Folder (section 3.1.1).                                                          |
	//	+-------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	CheckValidFaxFolder(context.Context, *CheckValidFaxFolderRequest) (*CheckValidFaxFolderResponse, error)

	// The FAX_GetJobEx2 (Opnum 87) method is called by the client to retrieve information
	// about a specified job. The job is identified by the job message ID. The job message
	// ID can be obtained using one of the following methods: FAX_EnumJobs (section 3.1.4.1.21),
	// FAX_EnumJobsEx (section 3.1.4.1.22), or FAX_EnumJobsEx2 (section 3.1.4.1.23).
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. This error code is returned under any of the following         |
	//	|                                      | conditions: § The client's fax user account does not have any of the permissions |
	//	|                                      | covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83). § For an outgoing fax    |
	//	|                                      | job, the caller is not the owner of the fax job, and the caller does not have    |
	//	|                                      | the FAX_ACCESS_MANAGE_OUT_JOBS rights. § For an incoming fax job, the caller is  |
	//	|                                      | not the receiver of the call, incoming faxes are not public, and the client's    |
	//	|                                      | fax user account does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER rights.      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008   | Not enough storage is available to process this command. The fax server failed   |
	//	|                                      | to allocate sufficient memory to hold the FAX_JOB_ENTRY_EX_1 to be returned to   |
	//	|                                      | the client.                                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                      | following conditions: § The Buffer and/or BufferSize parameters are set to NULL  |
	//	|                                      | pointer values.<112> § The level parameter is set to a value other than 1.       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F      | The fax server failed to custom marshal the FAX_JOB_ENTRY_EX_1 to be returned to |
	//	|                                      | the client.                                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | This error code is returned under any of the following conditions: § The fax     |
	//	|                                      | server cannot find the fax job identified by the value of the dwlMessageID       |
	//	|                                      | parameter. § The user is not the owner of the fax job identified by the value of |
	//	|                                      | dwlMessageID.                                                                    |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetJobEx2(context.Context, *GetJobEx2Request) (*GetJobEx2Response, error)

	// The FAX_EnumJobsEx2 (Opnum 88) method is called by the client to enumerate a specified
	// set of jobs on the server's queue for a specific fax account. The type of jobs to
	// enumerate is described by the dwJobTypes argument.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error can be returned when any of the following           |
	//	|                                    | conditions are true: § The client's fax user account does not have any of the    |
	//	|                                    | access rights defined in ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83) that are    |
	//	|                                    | required in order to enumerate jobs of type JT_SEND on its own account. That     |
	//	|                                    | is, the fAllAccounts parameter is FALSE. § The client's fax user account does    |
	//	|                                    | not have the FAX_ACCESS_QUERY_OUT_JOBS access right that is required in order to |
	//	|                                    | enumerate jobs of type JT_SEND on all accounts. That is, fAllAccounts is TRUE. § |
	//	|                                    | The client's fax user account does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER |
	//	|                                    | access right that is required in order to enumerate jobs of type JT_RECEIVE or   |
	//	|                                    | JT_ROUTING.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This value is returned when any of the following     |
	//	|                                    | conditions are true: § Either the lpwdJobs or the Buffer parameter is NULL.      |
	//	|                                    | § The BufferSize parameter is 0. § The level parameter is not set to 1. § The    |
	//	|                                    | lpcwstrAccountName parameter contains an improperly formatted account name or    |
	//	|                                    | points to a nonexistent or other user account.                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+-----------------------------------------------------------------+
	//	|                            |                                                                 |
	//	|           FORMAT           |                           DESCRIPTION                           |
	//	|                            |                                                                 |
	//	+----------------------------+-----------------------------------------------------------------+
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user with machine_name as the local machine's name. |
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                            |
	//	+----------------------------+-----------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol [MS-RPCE].
	EnumJobsEx2(context.Context, *EnumJobsEx2Request) (*EnumJobsEx2Response, error)

	// The FAX_GetMessageEx (Opnum 89) method is called by the client to retrieve a particular
	// message from one of the specified fax message archives. The dwlMessageId parameter
	// specifies a particular message and can be obtained using the FAX_EnumMessages (section
	// 3.1.4.1.24) method or the FAX_EnumMessagesEx (section 3.1.4.1.25) method. The folder
	// value MUST be one of the enumerations that are defined by FAX_ENUM_MESSAGE_FOLDER
	// (section 2.2.2), except FAX_MESSAGE_FOLDER_QUEUE. This is an extended version of
	// FAX_GetMessage (section 3.1.4.1.45), because it takes an additional level parameter
	// supporting the extended structure FAX_MESSAGE_1 (section 2.2.37).
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1  (0x00010000),
	// and  FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call.
	// The fax client MUST NOT call this method if the protocol version reported by the
	// server is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have any of the         |
	//	|                                      | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS (section 2.2.83).              |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code results under any of the following   |
	//	|                                      | conditions: § The value of the specified level parameter is not 1. § The pointer |
	//	|                                      | specified by the lppBuffer parameter is NULL.<117> § The pointer specified       |
	//	|                                      | by the lpdwBufferSize parameter is NULL.<118> § The value of the dwlMessageId    |
	//	|                                      | parameter is specified as 0. § The value of the specified Folder parameter is    |
	//	|                                      | not FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS.                    |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59   | The fax server failed to allocate memory needed for internal execution of this   |
	//	|                                      | operation.                                                                       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | This error code is returned under any of the following conditions: § The         |
	//	|                                      | message identified by the dwlMessageId parameter is not found. § The message     |
	//	|                                      | identified by dwlMessageId is an unassigned incoming fax. The incoming           |
	//	|                                      | faxes are not public (accessible to all users), and the user does not            |
	//	|                                      | have FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission. § The message identified       |
	//	|                                      | by dwlMessageId is for a different user, and this user does not have             |
	//	|                                      | FAX_ACCESS_QUERY_ARCHIVES permission.                                            |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetMessageEx(context.Context, *GetMessageExRequest) (*GetMessageExResponse, error)

	// The FAX_StartMessagesEnumEx (Opnum 90) method is called by the client. On success,
	// the server MUST start enumerating messages in the specified archive folder.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// A fax client application calls the FAX_StartMessagesEnumEx to start enumerating messages
	// from the archives. Each enumerated message has more information than those that are
	// returned by the FAX_StartMessagesEnum (section 3.1.4.1.98) method, namely whether
	// or not the message has a cover page, the type of receipts selected, the email address
	// for receipts, and the flags from FAX_ENUM_MSG_FLAGS (section 2.2.53) enumeration.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section  2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error code is returned under any of the following         |
	//	|                                    | conditions: § The caller does not have the required basic access rights to       |
	//	|                                    | execute this call (ALL_FAX_USERS_ACCESS_RIGHTS). § The client's fax user account |
	//	|                                    | does not have access to query messages for all accounts. The value specified for |
	//	|                                    | the fAllAccounts parameter is not equal to zero, and the caller does not have    |
	//	|                                    | the FAX_ACCESS_QUERY_ARCHIVES rights.                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The value specified for the level argument is not        |
	//	|                                    | equal to 1. § The value specified for the Folder argument is not equal to        |
	//	|                                    | FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS. § The account name     |
	//	|                                    | specified for the lpcwstrAccountName argument appears valid (pointer is not      |
	//	|                                    | NULL), but the account name is not a valid fax account name. § The account name  |
	//	|                                    | specified by the lpcwstrAccountName argument is a valid account name, but it     |
	//	|                                    | refers to a different user than the caller.                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NO_MORE_ITEMS 0x00000103     | No data is available. There are no messages to be enumerated.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// A fax client application calls the FAX_StartMessagesEnumEx function to start enumerating
	// messages in one of the archives. The enumerated messages have more information than
	// those that are returned by FAX_StartMessagesEnum, namely, whether it has a cover
	// page, the type of receipts selected, the email address for receipts, and the flags
	// from FAX_ENUM_MSG_FLAGS.
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+---------------------------------------------------------------------+
	//	|                            |                                                                     |
	//	|           FORMAT           |                             DESCRIPTION                             |
	//	|                            |                                                                     |
	//	+----------------------------+---------------------------------------------------------------------+
	//	+----------------------------+---------------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user that has machine_name as the local machine's name. |
	//	+----------------------------+---------------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                                |
	//	+----------------------------+---------------------------------------------------------------------+
	StartMessagesEnumEx(context.Context, *StartMessagesEnumExRequest) (*StartMessagesEnumExResponse, error)

	// The FAX_EnumMessagesEx (Opnum 91) method is called by the client. This message differs
	// from the FAX_EnumMessages (section 3.1.4.1.24) in that this function takes a level
	// parameter, which differentiates the type of message information structure that the
	// function returns.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The fax server failed to allocate memory for the return buffer.                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of                |
	//	|                                    | the following conditions are met: § One or more of the pointer values            |
	//	|                                    | specified by the following arguments are NULL: lppBuffer, lpdwBufferSize,        |
	//	|                                    | lpdwNumMessagesRetrieved, and lpdwLevel. § hEnum is NULL<90> or is an            |
	//	|                                    | invalid handle that is not returned by a call to FAX_StartMessagesEnum or        |
	//	|                                    | FAX_StartMessagesEnumEx <91>. § dwNumMessages is zero.                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The fax server encountered an integer overflow condition while processing        |
	//	|                                    | the request for the maximum number of messages specified by the dwNumMessages    |
	//	|                                    | argument.                                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NO_MORE_ITEMS 0x00000103     | No more data is available. The method reached the end of the lppBuffer message   |
	//	|                                    | buffer and there are no more messages to be enumerated.                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_SRV_OUTOFMEMORY 0x00001B59 | The fax server failed to allocate memory needed for internal execution of the    |
	//	|                                    | command.                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The client implementation assumes that this method is incremental and uses an internal
	// context cursor to point to the next set of messages to retrieve for each call. The
	// cursor is set to point to the beginning of the messages in the archive after a successful
	// call to FAX_StartMessagesEnum or FAX_StartMessagesEnumEx. Each successful call to
	// FAX_EnumMessagesEx advances the cursor by the number of messages retrieved. After
	// the cursor reaches the end of the enumeration, the method fails with the 0x00000103
	// (ERROR_NO_MORE_ITEMS) error code. The FAX_EndMessagesEnum (section 3.1.4.1.16) method
	// can then be called to halt the enumeration of messages.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumMessagesEx(context.Context, *EnumMessagesExRequest) (*EnumMessagesExResponse, error)

	// The FAX_StartServerNotificationEx2 (Opnum 92) method is called by the client to get
	// notification about extended events. On success, the server MUST start to notify the
	// fax client about the occurring fax events.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. This error is returned when any of the following conditions    |
	//	|                                    | occur: § The dwEventTypes parameter is set to a value containing the             |
	//	|                                    | FAX_EVENT_TYPE_NEW_CALL or FAX_EVENT_TYPE_IN_QUEUE flags, the incoming faxes are |
	//	|                                    | not public (accessible to all users), and the client's fax user account does not |
	//	|                                    | have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER permission. § dwEventTypes is set to   |
	//	|                                    | a value containing the FAX_EVENT_TYPE_CONFIG, FAX_EVENT_TYPE_DEVICE_STATUS, or   |
	//	|                                    | FAX_EVENT_TYPE_ACTIVITY flags and the client's fax user account does not have    |
	//	|                                    | the FAX_ACCESS_QUERY_CONFIG permission.                                          |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_OUTOFMEMORY 0x0000000E       | The fax server failed to allocate the memory required for the internal server's  |
	//	|                                    | execution of this operation request.                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_GEN_FAILURE 0x0000001F       | The server threw internally an exception during the execution of this operation, |
	//	|                                    | and the server handled this exception.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § dwEventTypes is set to a value containing the            |
	//	|                                    | FAX_EVENT_TYPE_LEGACY or FAX_EVENT_TYPE_LOCAL_ONLY flags, or to another          |
	//	|                                    | value that is not a combination made exclusively from the flags valid            |
	//	|                                    | for this operation: FAX_EVENT_TYPE_IN_QUEUE, FAX_EVENT_TYPE_OUT_QUEUE,           |
	//	|                                    | FAX_EVENT_TYPE_CONFIG, FAX_EVENT_TYPE_ACTIVITY, FAX_EVENT_TYPE_QUEUE_STATE,      |
	//	|                                    | FAX_EVENT_TYPE_IN_ARCHIVE, FAX_EVENT_TYPE_OUT_ARCHIVE,                           |
	//	|                                    | FAX_EVENT_TYPE_FXSSVC_ENDED, FAX_EVENT_TYPE_DEVICE_STATUS, or                    |
	//	|                                    | FAX_EVENT_TYPE_NEW_CALL. § The level parameter is not set to 1. § One or more    |
	//	|                                    | of the following parameters are set to NULL pointer values: lpcwstrEndpoint,     |
	//	|                                    | lpcwstrMachineName, or lpHandle.<177> § The lpcwstrAccountName parameter is set  |
	//	|                                    | to a non-null character string pointer value which does not specify a valid fax  |
	//	|                                    | account name. § lpcwstrAccountName is set to a non-null character string pointer |
	//	|                                    | value which specifies a valid fax account name for a different user than the     |
	//	|                                    | user who is currently logged on the client.                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// The account name is the one on which to listen for events and a level that specifies
	// the type of the structure that describes each event. The name lpcwstrAccountName
	// is accessed only for account-based events.
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+--------------------------------------------------------------------------+
	//	|                            |                                                                          |
	//	|           FORMAT           |                               DESCRIPTION                                |
	//	|                            |                                                                          |
	//	+----------------------------+--------------------------------------------------------------------------+
	//	+----------------------------+--------------------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user that has machine_name as the name of the local machine. |
	//	+----------------------------+--------------------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                                     |
	//	+----------------------------+--------------------------------------------------------------------------+
	//
	// A fax client calls FAX_StartServerNotificationEx2 (section 3.1.4.1.102) to inform
	// the server that it needs to receive notifications of extended fax events. The fax
	// server SHOULD call FAX_OpenConnection on the client by using the supplied endpoint,
	// protocol sequence information, and context handle information. The server then sends
	// notification of events to the client by using FAX_ClientEventQueueEx (section 3.2.4.3).
	// When the client no longer needs to receive notifications, it calls FAX_EndServerNotification
	// (section 3.1.4.1.17), and the server SHOULD call FAX_CloseConnection (section 3.2.4.4)
	// to close the connection.
	StartServerNotificationEx2(context.Context, *StartServerNotificationEx2Request) (*StartServerNotificationEx2Response, error)

	// The FAX_CreateAccount (Opnum 93) method is called by the client to request a new
	// fax user account to be created based on an existing valid operating system user account.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors that are defined
	// in [MS-ERREF] section 2.2.
	//
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                 |                                                                                  |
	//	|              VALUE/CODE               |                                   DESCRIPTION                                    |
	//	|                                       |                                                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005        | Access is denied. The client's fax user account does not have the                |
	//	|                                       | FAX_ACCESS_MANAGE_CONFIG access right.                                           |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057    | The parameter is incorrect. This value is returned when any of the following     |
	//	|                                       | conditions are true: § The Buffer parameter is NULL. § The BufferSize parameter  |
	//	|                                       | is 0. § The level parameter is greater than zero. § The account name, as pointed |
	//	|                                       | to by the account information contained in Buffer, is NULL or is specified using |
	//	|                                       | an invalid format.                                                               |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ALREADY_EXISTS 0x000000B7       | The fax account already exists.                                                  |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_HANDLE_STATE 0x00000649 | The handle is in an invalid state.                                               |
	//	+---------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name contained in the lpcwstrAccountName member of the FAX_ACCOUNT_INFO_0,
	// as pointed to by the Buffer parameter, MUST be in one of the following formats. Any
	// other format is invalid.
	//
	//	+----------------------------+-----------------------------------------------------------------+
	//	|                            |                                                                 |
	//	|           FORMAT           |                           DESCRIPTION                           |
	//	|                            |                                                                 |
	//	+----------------------------+-----------------------------------------------------------------+
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user with machine_name as the local machine's name. |
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                            |
	//	+----------------------------+-----------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	CreateAccount(context.Context, *CreateAccountRequest) (*CreateAccountResponse, error)

	// The FAX_DeleteAccount (Opnum 94) method is called by the client to delete a fax user
	// account previously created with FAX_CreateAccount (section 3.1.4.1.12).
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// On success, the server MUST delete the specified fax account. The server MUST validate
	// that the client's fax user account has access to delete fax user accounts on the
	// fax server. The client can delete any fax user accounts or the current fax user account.
	// Any subsequent operations on the deleted fax user accounts MUST be failed by the
	// server with the error code ERROR_ACCESS_DENIED. The fax server SHOULD allow deleting
	// a fax user account even if the underlying operating system's user account has been
	// deleted after this fax user account was created.
	//
	// Return Values: This method MUST return 0 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, a fax-specific error defined in
	// section 2.2.52, or one of the standard errors that are defined in [MS-ERREF] section
	// 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|            RETURN ERROR            |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG access right.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The account name pointed to by the                   |
	//	|                                    | lpcwstrAccountName parameter is NULL or improperly formatted.                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+-----------------------------------------------------------------+
	//	|                            |                                                                 |
	//	|           FORMAT           |                           DESCRIPTION                           |
	//	|                            |                                                                 |
	//	+----------------------------+-----------------------------------------------------------------+
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user with machine_name as the local machine's name. |
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a remote (not local) user.                                  |
	//	+----------------------------+-----------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	DeleteAccount(context.Context, *DeleteAccountRequest) (*DeleteAccountResponse, error)

	// The FAX_EnumAccounts (Opnum 95) method is called by the client to enumerate all the
	// fax accounts on the server.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1  (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | The client's fax user account does not have the access right                     |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG to perform this operation.                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | The fax server failed to allocate the amount of memory needed to process this    |
	//	|                                    | request.                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The value specified for the level parameter is not         |
	//	|                                    | equal to zero. § The pointer specified by the Buffer parameter is NULL.<83>      |
	//	|                                    | § The value pointed to by the BufferSize parameter is zero.<84> § The pointer    |
	//	|                                    | specified by the lpdwAccounts parameter is NULL.<85>                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+-----------------------------------------------------------------+
	//	|                            |                                                                 |
	//	|           FORMAT           |                           DESCRIPTION                           |
	//	|                            |                                                                 |
	//	+----------------------------+-----------------------------------------------------------------+
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user with machine_name as the local machine's name. |
	//	+----------------------------+-----------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                            |
	//	+----------------------------+-----------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	EnumAccounts(context.Context, *EnumAccountsRequest) (*EnumAccountsResponse, error)

	// The FAX_GetAccountInfo (Opnum 96) method is called by the client to retrieve information
	// about a specified fax user account. The fax user account for which information is
	// retrieved is specified by the lpcwstrAccountName parameter, which can be obtained
	// using the FAX_EnumAccounts (section 3.1.4.1.18) method.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_FILE_NOT_FOUND 0x00000002    | The account name specified by the lpcwstrAccountName parameter appears valid but |
	//	|                                    | does not exist.                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The user account specified by the lpwstrAccountName            |
	//	|                                    | argument is not the caller, and it does not have the fax access rights           |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The value of the level argument is greater than      |
	//	|                                    | zero. The account name specified by lpcwstrAccountName is not a valid fax        |
	//	|                                    | account name.                                                                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The account name that lpcwstrAccountName indicates MUST be in one of the following
	// formats. Any other format is invalid.
	//
	//	+----------------------------+--------------------------------------------------------------------------+
	//	|                            |                                                                          |
	//	|           FORMAT           |                               DESCRIPTION                                |
	//	|                            |                                                                          |
	//	+----------------------------+--------------------------------------------------------------------------+
	//	+----------------------------+--------------------------------------------------------------------------+
	//	| <machine_name>\<user_name> | For a local user that has machine_name as the name of the local machine. |
	//	+----------------------------+--------------------------------------------------------------------------+
	//	| <domain_name>\<user_name>  | For a nonlocal user.                                                     |
	//	+----------------------------+--------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetAccountInfo(context.Context, *GetAccountInfoRequest) (*GetAccountInfoResponse, error)

	// The FAX_GetGeneralConfiguration (Opnum 97) method is called by the client to request
	// information about the general configuration at the server.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the                |
	//	|                                    | FAX_ACCESS_QUERY_CONFIG access rights required for this operation.               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. The fax server failed   |
	//	|                                    | to allocate sufficient memory to hold the FAX_GENERAL_CONFIG to be returned to   |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. The level parameter is set to a value other than 0.  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The fax server failed to custom marshal the FAX_GENERAL_CONFIG to be returned to |
	//	|                                    | the client.                                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetGeneralConfiguration(context.Context, *GetGeneralConfigurationRequest) (*GetGeneralConfigurationResponse, error)

	// The fax client application calls the FAX_SetGeneralConfiguration (Opnum 98) method
	// to set the configuration options provided for the fax service. The FAX_GENERAL_CONFIG
	// (section 2.2.31) structure MUST be serialized. The variable data fields, such as
	// strings, MUST be filled with the offset to the string from the beginning of the buffer
	// and not the actual address. In response, the server MUST validate that the client's
	// fax user account has access to manage configuration on the server. On success, the
	// server MUST set the requested configuration options.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1  (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the required       |
	//	|                                    | FAX_ACCESS_MANAGE_CONFIG authorization for this operation.                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | In order to process the data for custom marshaling, the server needs to make     |
	//	|                                    | a copy of the FAX_GENERAL_CONFIG provided by the client; but the server cannot   |
	//	|                                    | allocate sufficient memory to hold the copy of the FAX_GENERAL_CONFIG.           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The lpcwstrArchiveLocationOffset member of the Fixed_Portion of the              |
	//	|                                    | FAX_GENERAL_CONFIG referenced by the Buffer parameter is set to an invalid       |
	//	|                                    | offset value.                                                                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned if any of the following  |
	//	|                                    | conditions are met: § The level parameter is set to a value greater than 0. §    |
	//	|                                    | In the FAX_GENERAL_CONFIG referenced by Buffer, the dtDiscountStart.Hour member  |
	//	|                                    | is set to a value greater than or equal to 24, and the dtDiscountStart.Minute    |
	//	|                                    | member is set to a value greater than or equal to 60. § In the                   |
	//	|                                    | FAX_GENERAL_CONFIG referenced by Buffer, the dtDiscountEnd.Hour member is set    |
	//	|                                    | to a value greater than or equal to 24, and the dtDiscountEnd.Minute member      |
	//	|                                    | is set to a value greater than or equal to 60. § In the FAX_GENERAL_CONFIG       |
	//	|                                    | referenced by Buffer, the bUseArchive member is set to TRUE and the              |
	//	|                                    | lpcwstrArchiveLocationOffset member is set to 0. § In the FAX_GENERAL_CONFIG     |
	//	|                                    | referenced by Buffer, the dwSizeQuotaHighWaterMark member is set to a value      |
	//	|                                    | greater than the value of the dwSizeQuotaLowWaterMark member. § In the           |
	//	|                                    | FAX_GENERAL_CONFIG referenced by Buffer, the dwQueueState member contains one    |
	//	|                                    | or more of the following flag values: FAX_INCOMING_BLOCKED, FAX_OUTBOX_BLOCKED,  |
	//	|                                    | or FAX_OUTBOX_PAUSED. § The value of the BufferSize parameter is less than       |
	//	|                                    | the size required to hold the custom marshaled FAX_GENERAL_CONFIG structure      |
	//	|                                    | referenced by Buffer. This size is specified by the dwSizeOfStruct member of the |
	//	|                                    | FAX_GENERAL_CONFIG referenced by Buffer.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F    | The server failed to parse the custom marshaled FAX_GENERAL_CONFIG.              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetGeneralConfiguration(context.Context, *SetGeneralConfigurationRequest) (*SetGeneralConfigurationResponse, error)

	// The FAX_GetSecurityEx2 (Opnum 99) method is called by the client to retrieve information
	// about the fax security descriptor from the fax server.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	|                 RETURN                  |                                                                                  |
	//	|               VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                         |                                                                                  |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005          | Access is denied. This error is returned when there is a mismatch between        |
	//	|                                         | the access level requested (Read control, access to set/get SACL security        |
	//	|                                         | information or both) through the bit pattern in SecurityInformation and the      |
	//	|                                         | current authorized level.                                                        |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008      | Not enough storage is available to process this command.                         |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057      | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                         | following conditions: § The pSecurityDescriptor parameter is NULL. § The value   |
	//	|                                         | of the SecurityInformation parameter does not conform to the definition of valid |
	//	|                                         | bit patterns for this parameter.                                                 |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_SECURITY_DESCR 0x0000053A | The security descriptor structure is invalid.                                    |
	//	+-----------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	GetSecurityEx2(context.Context, *GetSecurityEx2Request) (*GetSecurityEx2Response, error)

	// The FAX_SetSecurityEx2 (Opnum 100) method is called by the client. On success, the
	// server MUST set the fax server's security descriptor.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1  (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	// The fax client SHOULD call FAX_SetSecurity (section 3.1.4.1.94) instead.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have the access         |
	//	|                                    | rights required for this operation: § WRITE_OWNER, when the SecurityInformation  |
	//	|                                    | parameter contains the OWNER_SECURITY_INFORMATION value. § WRITE_DAC,            |
	//	|                                    | when SecurityInformation contains the GROUP_SECURITY_INFORMATION                 |
	//	|                                    | or DACL_SECURITY_INFORMATION values. § ACCESS_SYSTEM_SECURITY, when              |
	//	|                                    | SecurityInformation contains the SACL_SECURITY_INFORMATION value.                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D      | The data is invalid. The data contained in the buffer specified by the           |
	//	|                                    | pSecurityDescriptor parameter is not a valid SECURITY_DESCRIPTOR.                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_OUTOFMEMORY 0x0000000E       | The fax server cannot allocate sufficient memory for a properly constructed      |
	//	|                                    | FAX_EVENT_EX_1 (section 2.2.68) structure describing a FAX_EVENT_TYPE_CONFIG     |
	//	|                                    | event to be signaled to the client. A properly constructed structure has the     |
	//	|                                    | ConfigType member of the FAX_EVENT_EX_1 set to FAX_CONFIG_TYPE_SECURITY. For     |
	//	|                                    | more details, see FAX_ClientEventQueueEx (section 3.2.4.3).                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any                |
	//	|                                    | of the following conditions: § pSecurityDescriptor is set to a NULL              |
	//	|                                    | pointer value. § The dwBufferSize parameter is set to 0x00000000. §              |
	//	|                                    | SecurityInformation is set to a value that does not contain any of the           |
	//	|                                    | following flags: OWNER_SECURITY_INFORMATION, GROUP_SECURITY_INFORMATION,         |
	//	|                                    | DACL_SECURITY_INFORMATION, or SACL_SECURITY_INFORMATION.                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_REGISTRY_CORRUPT 0x000003F7  | The registry is corrupted. The structure of one of the files that contains       |
	//	|                                    | registry data is corrupted, or the system's memory image of the file is          |
	//	|                                    | corrupted, or the file could not be recovered because the alternate copy or log  |
	//	|                                    | was absent or corrupted.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	SetSecurityEx2(context.Context, *SetSecurityEx2Request) (*SetSecurityEx2Response, error)

	// The FAX_AccessCheckEx2 (Opnum 101) method is called by the client when the client
	// needs to check whether the client's fax user account has certain access permissions
	// on the server.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The caller does not have the required permissions for this     |
	//	|                                    | request (the caller does not have a valid fax user account).                     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | The parameter is incorrect. This error code is returned under any of the         |
	//	|                                    | following conditions: § The pointer specified in the pfAccess parameter is NULL. |
	//	|                                    | § The fax access rights specified in the lpdwRights parameter contain invalid    |
	//	|                                    | access values.                                                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	AccessCheckEx2(context.Context, *AccessCheckEx2Request) (*AccessCheckEx2Response, error)

	// The fax client application calls the FAX_ReAssignMessage (Opnum 102) method to reassign
	// the specified fax message to a set of users.<144>
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// The dwlMessageId parameter specifies a particular message and can be obtained using
	// the FAX_EnumMessages (section 3.1.4.1.24) method or the FAX_EnumMessagesEx (section
	// 3.1.4.1.25) methods.
	//
	// The client MUST specify the recipients for a reassigned message in a semicolon (;)
	// separated format. In response, the server MUST validate whether the bIncomingFaxesArePublic
	// option in the FAX_GENERAL_CONFIG (section 2.2.31) data structure is not set in the
	// server configuration. The server MUST also validate whether the message that is specified
	// by the dwlMessageId argument refers to a valid message on the server. The server
	// MUST validate that there are recipient numbers for each of the recipients that are
	// listed in pReAssignInfo structure. On success, the server MUST reassign the specified
	// fax message.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_FILE_NOT_FOUND 0x00000002    | This error code is returned under any of the following conditions: § The         |
	//	|                                    | dwlMessageId argument does not specify a valid message. § One or more recipients |
	//	|                                    | specified in the lpcwstrRecipients field of the pReAssignInfo argument do not    |
	//	|                                    | have a corresponding fax user account.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | The caller does not have the FAX_ACCESS_MANAGE_RECEIVE_FOLDER access rights.     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error code is returned under any of the following conditions: § The value   |
	//	|                                    | specified for the dwlMessageId parameter is zero. § The lpcwstrRecipients member |
	//	|                                    | of the data structure specified by the pReAssignInfo parameter is set to NULL or |
	//	|                                    | to an empty string.                                                              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_BUFFER_OVERFLOW 0x0000006F   | The number of recipients specified in the lpcwstrRecipients member of the        |
	//	|                                    | data structure pointed at by pReAssignInfo is greater than FAX_MAX_RECIPIENTS    |
	//	|                                    | (10000).                                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_OPERATION 0x000010DD | This error code is returned under any of the following conditions: § Incoming    |
	//	|                                    | faxes are public (section 2.2.31). Reassignment is not supported when incoming   |
	//	|                                    | faxes are public. § The server does not support reassignment, or the server      |
	//	|                                    | is configured with a policy that is currently set to disable fax message         |
	//	|                                    | reassignment.                                                                    |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	ReassignMessage(context.Context, *ReassignMessageRequest) (*ReassignMessageResponse, error)

	// The fax client application calls the FAX_SetMessage (Opnum 103) method to set the
	// specific message properties for the message identified by its ID.<162> The dwlMessageId
	// parameter specifies a particular message and can be obtained using the FAX_EnumMessages
	// (section 3.1.4.1.24) method or the FAX_EnumMessagesEx (section 3.1.4.1.25) method.
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005       | Access is denied. The client's fax user account does not have the                |
	//	|                                      | ALL_FAX_USER_ACCESS_RIGHTS access rights required for this operation.            |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057   | The parameter is incorrect. This error code is returned if any of the            |
	//	|                                      | following conditions are met: § The structure pointed to by the lpMessageProps   |
	//	|                                      | argument contains invalid data. § The Folder argument has an invalid value (a    |
	//	|                                      | value other than FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS).      |
	//	|                                      | § The dwlMessageId parameter is zero. § In the structure pointed at              |
	//	|                                      | by the lpMessageProps argument, the dwValidityMask field contains the            |
	//	|                                      | FAX_MSG_PROP_FIELD_MSG_FLAGS, and the dwMsgFlags field does not contain the      |
	//	|                                      | FAX_MSG_ALL_FLAGS flag.                                                          |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_ERR_MESSAGE_NOT_FOUND 0x00001B61 | The fax message specified by the dwlMessageId argument cannot be found by the    |
	//	|                                      | fax server in the folder specified by the Folder argument.                       |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol [MS-RPCE].
	SetMessage(context.Context, *SetMessageRequest) (*SetMessageResponse, error)

	// The FAX_GetConfigOption (Opnum 104) is called by the client to retrieve a configuration
	// setting at the server using an RPC_REQUEST packet.
	//
	// Protocol version FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000),
	// and FAX_API_VERSION_2 (0x00020000) fax servers SHOULD NOT implement this call. The
	// fax client MUST NOT call this method if the protocol version reported by the server
	// is FAX_API_VERSION_0 (0x00000000), FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2
	// (0x00020000). For more information, see FAX_ConnectFaxServer (section 3.1.4.1.10).
	//
	// Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise,
	// it MUST return one of the following error codes, one of the fax-specific errors that
	// are defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | Access is denied. The client's fax user account does not have any of the         |
	//	|                                    | permissions covered by ALL_FAX_USER_ACCESS_RIGHTS.                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | This error is returned when any of the following conditions are met: § The       |
	//	|                                    | lpdwValue parameter is set to a NULL pointer value.<103> § The configuration     |
	//	|                                    | option specified by the option parameter is not one of the following             |
	//	|                                    | values: FAX_CONFIG_OPTION_ALLOW_PERSONAL_CP, FAX_CONFIG_OPTION_QUEUE_STATE,      |
	//	|                                    | FAX_CONFIG_OPTION_ALLOW_RECEIPTS or FAX_CONFIG_OPTION_INCOMING_FAXES_PUBLIC.     |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// Use of this method does not require FAX_ACCESS_QUERY_CONFIG access rights. A calling
	// user with any ACE on the server can use this method.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	GetConfigOption(context.Context, *GetConfigOptionRequest) (*GetConfigOptionResponse, error)
}

fax server interface.

type GetAccountInfoRequest

type GetAccountInfoRequest struct {
	// lpcwstrAccountName: A pointer to a constant, null-terminated character string that
	// contains the name of the account for which to retrieve information.
	AccountName string `idl:"name:lpcwstrAccountName;string;pointer:unique" json:"account_name"`
	// level: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the type of structure
	// that is pointed to by Buffer. This MUST be zero.
	Level uint32 `idl:"name:level" json:"level"`
}

GetAccountInfoRequest structure represents the FAX_GetAccountInfo operation request

func (*GetAccountInfoRequest) MarshalNDR

func (o *GetAccountInfoRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetAccountInfoRequest) UnmarshalNDR

func (o *GetAccountInfoRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetAccountInfoResponse

type GetAccountInfoResponse struct {
	// Buffer: A pointer to a FAX_ACCOUNT_INFO_0 (section 2.2.24) structure that contains
	// fax account information.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD value that specifies the size, in bytes, of the
	// structure that is pointed to by the Buffer parameter.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetAccountInfo return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetAccountInfoResponse structure represents the FAX_GetAccountInfo operation response

func (*GetAccountInfoResponse) MarshalNDR

func (o *GetAccountInfoResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetAccountInfoResponse) UnmarshalNDR

func (o *GetAccountInfoResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetActivityLoggingConfigurationRequest

type GetActivityLoggingConfigurationRequest struct {
}

GetActivityLoggingConfigurationRequest structure represents the FAX_GetActivityLoggingConfiguration operation request

func (*GetActivityLoggingConfigurationRequest) MarshalNDR

func (*GetActivityLoggingConfigurationRequest) UnmarshalNDR

type GetActivityLoggingConfigurationResponse

type GetActivityLoggingConfigurationResponse struct {
	// Buffer: A pointer to a _FAX_ACTIVITY_LOGGING_CONFIGW (section 2.2.26) structure.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the
	// size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetActivityLoggingConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetActivityLoggingConfigurationResponse structure represents the FAX_GetActivityLoggingConfiguration operation response

func (*GetActivityLoggingConfigurationResponse) MarshalNDR

func (*GetActivityLoggingConfigurationResponse) UnmarshalNDR

type GetArchiveConfigurationRequest

type GetArchiveConfigurationRequest struct {
	// Folder: Archive location. This MUST be either FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS
	// described in section 2.2.2.
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
}

GetArchiveConfigurationRequest structure represents the FAX_GetArchiveConfiguration operation request

func (*GetArchiveConfigurationRequest) MarshalNDR

func (*GetArchiveConfigurationRequest) UnmarshalNDR

type GetArchiveConfigurationResponse

type GetArchiveConfigurationResponse struct {
	// Buffer: A pointer to a FAX_ARCHIVE_CONFIGW (section 2.2.27) object. If the size of
	// the archive exceeds the dwSizeQuotaHighWatermark value and if the bSizeQuotaWarning
	// member is set to TRUE, an event log warning SHOULD be issued. If an event log warning
	// was already issued, no more events SHOULD be issued until the size of the archive
	// drops below the dwSizeQuotaLowWatermark value. If a fax message stays in the archive
	// longer than the dwAgeLimit value, it MAY be automatically deleted. If the dwAgeLimit
	// value is zero, the time limit MUST NOT be used.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the
	// size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetArchiveConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetArchiveConfigurationResponse structure represents the FAX_GetArchiveConfiguration operation response

func (*GetArchiveConfigurationResponse) MarshalNDR

func (*GetArchiveConfigurationResponse) UnmarshalNDR

type GetConfigOptionRequest

type GetConfigOptionRequest struct {
	// option: Identifies the configuration option to be returned. This parameter MUST be
	// a value from the FAX_ENUM_CONFIG_OPTION (section 2.2.3) enumeration.
	Option fax.ConfigOption `idl:"name:option" json:"option"`
}

GetConfigOptionRequest structure represents the FAX_GetConfigOption operation request

func (*GetConfigOptionRequest) MarshalNDR

func (o *GetConfigOptionRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetConfigOptionRequest) UnmarshalNDR

func (o *GetConfigOptionRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetConfigOptionResponse

type GetConfigOptionResponse struct {
	// lpdwValue: A pointer to a DWORD ([MS-DTYP] section 2.2.9) that holds the value of
	// the configuration option upon return. The value's type depends on the configuration
	// option that was asked for using the option parameter.
	//
	// If option was set to FAX_CONFIG_OPTION_ALLOW_PERSONAL_CP, lpdwValue contains a BOOL
	// that MUST take one of the following values.
	//
	//	+------------------+----------------------------------------------------------+
	//	|                  |                                                          |
	//	|    VALUE/CODE    |                         MEANING                          |
	//	|                  |                                                          |
	//	+------------------+----------------------------------------------------------+
	//	+------------------+----------------------------------------------------------+
	//	| TRUE 0x00000001  | The server allows personal cover page templates.         |
	//	+------------------+----------------------------------------------------------+
	//	| FALSE 0x00000000 | The server allows only server-side cover page templates. |
	//	+------------------+----------------------------------------------------------+
	//
	// If option was set to FAX_CONFIG_OPTION_QUEUE_STATE, lpdwValue is a DWORD value that
	// MUST specify state information about the fax queue defined in section 3.1.1. If this
	// value is zero, both the incoming and outgoing queues are unblocked. Otherwise, this
	// value MUST be a combination of one or more of the following flags.
	//
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	|                                 |                                                                                  |
	//	|           VALUE/CODE            |                                     MEANING                                      |
	//	|                                 |                                                                                  |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_INCOMING_BLOCKED 0x00000001 | The incoming faxes queue is blocked. The fax server does not answer any new      |
	//	|                                 | incoming faxes.                                                                  |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_OUTBOX_BLOCKED 0x00000002   | The outbox queue is blocked. The fax server does not accept submission of new    |
	//	|                                 | faxes. If the outbox is not paused, faxes in the queue are being processed.      |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| FAX_OUTBOX_PAUSED 0x00000004    | The outbox queue is paused. The fax server will not start sending outgoing faxes |
	//	|                                 | from the queue. Fax transmissions in progress are not affected. If the outbox is |
	//	|                                 | not blocked, the fax server still accepts submission of new faxes to the queue.  |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//
	// If option was set to FAX_CONFIG_OPTION_ALLOWED_RECEIPTS, lpdwValue contains a DWORD
	// that MUST be a bitwise combination of one or more of the flags that are specified
	// in FAX_ENUM_DELIVERY_REPORT_TYPES (section 2.2.76).
	//
	// If option was set to FAX_CONFIG_OPTION_INCOMING_FAXES_PUBLIC, lpdwValue contains
	// a BOOL that MUST take one of the following values.
	//
	//	+------------------+----------------------------------------------------+
	//	|                  |                                                    |
	//	|    VALUE/CODE    |                      MEANING                       |
	//	|                  |                                                    |
	//	+------------------+----------------------------------------------------+
	//	+------------------+----------------------------------------------------+
	//	| TRUE 0x00000001  | All incoming faxes can be viewed by all fax users. |
	//	+------------------+----------------------------------------------------+
	//	| FALSE 0x00000000 | Incoming faxes can be viewed only by recipients.   |
	//	+------------------+----------------------------------------------------+
	Value uint32 `idl:"name:lpdwValue" json:"value"`
	// Return: The FAX_GetConfigOption return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetConfigOptionResponse structure represents the FAX_GetConfigOption operation response

func (*GetConfigOptionResponse) MarshalNDR

func (o *GetConfigOptionResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetConfigOptionResponse) UnmarshalNDR

func (o *GetConfigOptionResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetConfigurationRequest

type GetConfigurationRequest struct {
}

GetConfigurationRequest structure represents the FAX_GetConfiguration operation request

func (*GetConfigurationRequest) MarshalNDR

func (o *GetConfigurationRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetConfigurationRequest) UnmarshalNDR

func (o *GetConfigurationRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetConfigurationResponse

type GetConfigurationResponse struct {
	// Buffer: A pointer to the address of a buffer to receive a _FAX_CONFIGURATIONW (section
	// 2.2.29) structure. The structure contains the current configuration settings for
	// the fax server.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A variable to return the size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetConfigurationResponse structure represents the FAX_GetConfiguration operation response

func (*GetConfigurationResponse) MarshalNDR

func (o *GetConfigurationResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetConfigurationResponse) UnmarshalNDR

func (o *GetConfigurationResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetCountryListRequest

type GetCountryListRequest struct {
}

GetCountryListRequest structure represents the FAX_GetCountryList operation request

func (*GetCountryListRequest) MarshalNDR

func (o *GetCountryListRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetCountryListRequest) UnmarshalNDR

func (o *GetCountryListRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetCountryListResponse

type GetCountryListResponse struct {
	// Buffer: A pointer to a buffer of type FAX_TAPI_LINECOUNTRY_LISTW (section 2.2.51)
	// in which to place the country/region information.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the
	// size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetCountryList return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetCountryListResponse structure represents the FAX_GetCountryList operation response

func (*GetCountryListResponse) MarshalNDR

func (o *GetCountryListResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetCountryListResponse) UnmarshalNDR

func (o *GetCountryListResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetDeviceStatusRequest

type GetDeviceStatusRequest struct {
	// FaxPortHandle: An RPC context handle that references a specified fax port. This context
	// handle MUST be obtained using the FAX_OpenPort (section 3.1.4.1.65) method.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
}

GetDeviceStatusRequest structure represents the FAX_GetDeviceStatus operation request

func (*GetDeviceStatusRequest) MarshalNDR

func (o *GetDeviceStatusRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetDeviceStatusRequest) UnmarshalNDR

func (o *GetDeviceStatusRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetDeviceStatusResponse

type GetDeviceStatusResponse struct {
	// StatusBuffer: A pointer to the address of a buffer to receive a FAX_DEVICE_STATUS
	// structure. The structure describes the status of one fax device. The fax server MUST
	// set the SizeOfStruct member of this structure to the correct size for the Fixed_Portion
	// block of the FAX_DEVICE_STATUS, as described in section 2.2.10.
	StatusBuffer []byte `idl:"name:StatusBuffer;size_is:(, BufferSize)" json:"status_buffer"`
	// BufferSize: A variable to return the size, in bytes, of the data returned in the
	// buffer referenced by the StatusBuffer parameter.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetDeviceStatus return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetDeviceStatusResponse structure represents the FAX_GetDeviceStatus operation response

func (*GetDeviceStatusResponse) MarshalNDR

func (o *GetDeviceStatusResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetDeviceStatusResponse) UnmarshalNDR

func (o *GetDeviceStatusResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetExtensionDataRequest

type GetExtensionDataRequest struct {
	// dwDeviceId: The device identifier. A value of zero indicates the caller requests
	// a named data BLOB that is not associated with any specific device. This value can
	// be used to store configurations that affect all the devices. For example, an Optical
	// Character Recognition (OCR) routing extension might export several different routing
	// methods that all rely on the same OCR parameters. This routing extension can associate
	// the OCR configuration with a non-specific device so that it would become global.
	DeviceID uint32 `idl:"name:dwDeviceId" json:"device_id"`
	// lpcwstrNameGUID: A curly-braced GUID string that identifies the data to return. The
	// GUID can identify a routing extension or a routing method.Because GUIDs are unique,
	// the server determines from the specific GUID value whether the call is requesting
	// routing extension data or routing method data.
	NameGUID string `idl:"name:lpcwstrNameGUID;string;pointer:ref" json:"name_guid"`
}

GetExtensionDataRequest structure represents the FAX_GetExtensionData operation request

func (*GetExtensionDataRequest) MarshalNDR

func (o *GetExtensionDataRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetExtensionDataRequest) UnmarshalNDR

func (o *GetExtensionDataRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetExtensionDataResponse

type GetExtensionDataResponse struct {
	// ppData: A pointer to an allocated private data buffer. This buffer contains the data
	// that is returned by the fax server. For the default routing methods described in
	// section 2.2.87, this data is a null-terminated character string containing an EmailID,
	// Printer, or Folder name. For other routing extensions or methods the format of this
	// data depends on the respective routing extension or routing method and SHOULD be
	// treated as opaque binary data by the fax server.
	Data []byte `idl:"name:ppData;size_is:(, lpdwDataSize)" json:"data"`
	// lpdwDataSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) value that returns the
	// size, in bytes, of the data that is pointed to by the ppData parameter.
	DataSize uint32 `idl:"name:lpdwDataSize;pointer:ref" json:"data_size"`
	// Return: The FAX_GetExtensionData return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetExtensionDataResponse structure represents the FAX_GetExtensionData operation response

func (*GetExtensionDataResponse) MarshalNDR

func (o *GetExtensionDataResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetExtensionDataResponse) UnmarshalNDR

func (o *GetExtensionDataResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetGeneralConfigurationRequest

type GetGeneralConfigurationRequest struct {
	// level: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the type of structure
	// pointed to by Buffer. This MUST be zero.
	Level uint32 `idl:"name:level" json:"level"`
}

GetGeneralConfigurationRequest structure represents the FAX_GetGeneralConfiguration operation request

func (*GetGeneralConfigurationRequest) MarshalNDR

func (*GetGeneralConfigurationRequest) UnmarshalNDR

type GetGeneralConfigurationResponse

type GetGeneralConfigurationResponse struct {
	// Buffer: A pointer to a FAX_GENERAL_CONFIG (section 2.2.31) structure that contains
	// the server information to retrieve. The buffer indicated by this pointer contains
	// the following:
	//
	// § A serialized FAX_GENERAL_CONFIG filled by server.
	//
	// § A null-terminated, wide character string that indicates the archive folder location
	// on the fax server file system.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) value that specifies the
	// size, in bytes, of the buffer that is pointed to by the Buffer parameter.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetGeneralConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetGeneralConfigurationResponse structure represents the FAX_GetGeneralConfiguration operation response

func (*GetGeneralConfigurationResponse) MarshalNDR

func (*GetGeneralConfigurationResponse) UnmarshalNDR

type GetJobEx2Request

type GetJobEx2Request struct {
	// dwlMessageID: A DWORDLONG ([MS-DTYP] section 2.2.13) value that specifies a unique
	// number that identifies a queued or active fax job. The job MUST be an inbound or
	// outbound transmission.
	MessageID uint64 `idl:"name:dwlMessageID" json:"message_id"`
	// level: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the structure to return
	// in Buffer. This value MUST be set to 1.
	Level uint32 `idl:"name:level" json:"level"`
}

GetJobEx2Request structure represents the FAX_GetJobEx2 operation request

func (*GetJobEx2Request) MarshalNDR

func (o *GetJobEx2Request) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetJobEx2Request) UnmarshalNDR

func (o *GetJobEx2Request) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetJobEx2Response

type GetJobEx2Response struct {
	// Buffer: A pointer to the address of a buffer that receives a FAX_JOB_ENTRY_EX_1.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD value that specifies the size, in bytes, of the
	// buffer that is pointed to by the Buffer parameter.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetJobEx2 return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetJobEx2Response structure represents the FAX_GetJobEx2 operation response

func (*GetJobEx2Response) MarshalNDR

func (o *GetJobEx2Response) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetJobEx2Response) UnmarshalNDR

func (o *GetJobEx2Response) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetJobExRequest

type GetJobExRequest struct {
	// dwlMessageID: A unique number that identifies a queued or active fax job. The job
	// MUST be an inbound or outbound transmission.
	MessageID uint64 `idl:"name:dwlMessageID" json:"message_id"`
}

GetJobExRequest structure represents the FAX_GetJobEx operation request

func (*GetJobExRequest) MarshalNDR

func (o *GetJobExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetJobExRequest) UnmarshalNDR

func (o *GetJobExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetJobExResponse

type GetJobExResponse struct {
	// Buffer: A pointer to the address of a buffer to receive one FAX_JOB_ENTRY_EXW followed
	// by one FAX_JOB_STATUS (section 2.2.36) structure, followed by other data pointed
	// at from these two structures (from pointer type fields). These two data structures
	// describe one fax job. If the pStatus pointer field of the FAX_JOB_ENTRY_EXW is not
	// NULL, it MUST point to the address of the FAX_JOB_STATUS in the buffer. If the pStatus
	// pointer is NULL, the FAX_JOB_STATUS is located in the buffer immediately after the
	// FAX_JOB_ENTRY_EXW. The field length MUST be clamped to 32 bits before serialization.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A variable to return the size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetJobEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetJobExResponse structure represents the FAX_GetJobEx operation response

func (*GetJobExResponse) MarshalNDR

func (o *GetJobExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetJobExResponse) UnmarshalNDR

func (o *GetJobExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetJobRequest

type GetJobRequest struct {
	// JobId: A unique number that identifies a queued or active fax job.
	JobID uint32 `idl:"name:JobId" json:"job_id"`
}

GetJobRequest structure represents the FAX_GetJob operation request

func (*GetJobRequest) MarshalNDR

func (o *GetJobRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetJobRequest) UnmarshalNDR

func (o *GetJobRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetJobResponse

type GetJobResponse struct {
	// Buffer: A pointer to the address of a buffer to receive a _FAX_JOB_ENTRY (section
	// 2.2.6) structure.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A variable to return the size, in bytes, of the job information buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetJob return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetJobResponse structure represents the FAX_GetJob operation response

func (*GetJobResponse) MarshalNDR

func (o *GetJobResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetJobResponse) UnmarshalNDR

func (o *GetJobResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetLoggingCategoriesRequest

type GetLoggingCategoriesRequest struct {
}

GetLoggingCategoriesRequest structure represents the FAX_GetLoggingCategories operation request

func (*GetLoggingCategoriesRequest) MarshalNDR

func (*GetLoggingCategoriesRequest) UnmarshalNDR

func (o *GetLoggingCategoriesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetLoggingCategoriesResponse

type GetLoggingCategoriesResponse struct {
	// Buffer: A pointer to the address of a buffer to receive an array of FAX_LOG_CATEGORY
	// (section 2.2.11) structures. The number of structures included in the array is set
	// by NumberCategories. Each structure describes one current logging category. The Name
	// strings are appended after the FAX_LOG_CATEGORY entries. The Name field of each FAX_LOG_CATEGORY
	// is an offset indicating the location of the associated Name string in the buffer.<113>
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A variable to return the size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// NumberCategories:  A pointer to a DWORD ([MS-DTYP] section 2.2.9) variable to receive
	// the number of FAX_LOG_CATEGORY that the method returns in the Buffer parameter.
	NumberCategories uint32 `idl:"name:NumberCategories;pointer:ref" json:"number_categories"`
	// Return: The FAX_GetLoggingCategories return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetLoggingCategoriesResponse structure represents the FAX_GetLoggingCategories operation response

func (*GetLoggingCategoriesResponse) MarshalNDR

func (*GetLoggingCategoriesResponse) UnmarshalNDR

func (o *GetLoggingCategoriesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetMessageExRequest

type GetMessageExRequest struct {
	// dwlMessageId: A DWORDLONG ([MS-DTYP] section 2.2.13) value that identifies the fax
	// message to retrieve from the archive.
	MessageID uint64 `idl:"name:dwlMessageId" json:"message_id"`
	// Folder: A FAX_ENUM_MESSAGE_FOLDER that indicates the type of the archive where the
	// message resides. The FAX_MESSAGE_FOLDER_QUEUE value is invalid for this parameter.
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
	// level: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the type of structure
	// to return in lppBuffer. The only value currently supported is 1.
	Level uint32 `idl:"name:level" json:"level"`
}

GetMessageExRequest structure represents the FAX_GetMessageEx operation request

func (*GetMessageExRequest) MarshalNDR

func (o *GetMessageExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetMessageExRequest) UnmarshalNDR

func (o *GetMessageExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetMessageExResponse

type GetMessageExResponse struct {
	// lppBuffer: A pointer to an array of FAX_MESSAGE_1 structures that contain the retrieved
	// messages.
	Buffer []byte `idl:"name:lppBuffer;size_is:(, lpdwBufferSize)" json:"buffer"`
	// lpdwBufferSize: A pointer to a DWORD value that specifies the size, in bytes, of
	// the buffer that is pointed to by the lppBuffer parameter.
	BufferSize uint32 `idl:"name:lpdwBufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetMessageEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetMessageExResponse structure represents the FAX_GetMessageEx operation response

func (*GetMessageExResponse) MarshalNDR

func (o *GetMessageExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetMessageExResponse) UnmarshalNDR

func (o *GetMessageExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetMessageRequest

type GetMessageRequest struct {
	// dwlMessageId: A DWORDLONG ([MS-DTYP] section 2.2.13) value that identifies the fax
	// message to retrieve from the archive.
	MessageID uint64 `idl:"name:dwlMessageId" json:"message_id"`
	// Folder: The type of archive where the message resides. FAX_MESSAGE_FOLDER_QUEUE is
	// an invalid value for this parameter.
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
}

GetMessageRequest structure represents the FAX_GetMessage operation request

func (*GetMessageRequest) MarshalNDR

func (o *GetMessageRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetMessageRequest) UnmarshalNDR

func (o *GetMessageRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetMessageResponse

type GetMessageResponse struct {
	// lppBuffer: A pointer to a buffer that receives a FAX_MESSAGEW (section 2.2.38) structure.
	// This buffer contains the retrieved message.
	Buffer []byte `idl:"name:lppBuffer;size_is:(, lpdwBufferSize)" json:"buffer"`
	// lpdwBufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return
	// the size, in bytes, of the buffer that is pointed to by the lppBuffer parameter.
	BufferSize uint32 `idl:"name:lpdwBufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetMessage return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetMessageResponse structure represents the FAX_GetMessage operation response

func (*GetMessageResponse) MarshalNDR

func (o *GetMessageResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetMessageResponse) UnmarshalNDR

func (o *GetMessageResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetOutboxConfigurationRequest

type GetOutboxConfigurationRequest struct {
}

GetOutboxConfigurationRequest structure represents the FAX_GetOutboxConfiguration operation request

func (*GetOutboxConfigurationRequest) MarshalNDR

func (*GetOutboxConfigurationRequest) UnmarshalNDR

func (o *GetOutboxConfigurationRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetOutboxConfigurationResponse

type GetOutboxConfigurationResponse struct {
	// Buffer: A pointer to a FAX_OUTBOX_CONFIG (section 2.2.16) object.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the
	// size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetOutboxConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetOutboxConfigurationResponse structure represents the FAX_GetOutboxConfiguration operation response

func (*GetOutboxConfigurationResponse) MarshalNDR

func (*GetOutboxConfigurationResponse) UnmarshalNDR

type GetPageDataRequest

type GetPageDataRequest struct {
	// JobId: A unique number that identifies the fax job that is associated with the page
	// of data.
	JobID uint32 `idl:"name:JobId" json:"job_id"`
	// ImageWidth: A pointer to a DWORD variable to receive the width, in pixels, of the
	// fax image.
	ImageWidth uint32 `idl:"name:ImageWidth" json:"image_width"`
	// ImageHeight: A pointer to a DWORD variable to receive the height, in pixels, of the
	// fax image.
	ImageHeight uint32 `idl:"name:ImageHeight" json:"image_height"`
}

GetPageDataRequest structure represents the FAX_GetPageData operation request

func (*GetPageDataRequest) MarshalNDR

func (o *GetPageDataRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPageDataRequest) UnmarshalNDR

func (o *GetPageDataRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPageDataResponse

type GetPageDataResponse struct {
	// Buffer: A pointer to the address of a buffer to receive the first page of data in
	// the fax document.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) variable to receive the
	// size of the buffer, in bytes, pointed to by the Buffer parameter.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// ImageWidth: A pointer to a DWORD variable to receive the width, in pixels, of the
	// fax image.
	ImageWidth uint32 `idl:"name:ImageWidth" json:"image_width"`
	// ImageHeight: A pointer to a DWORD variable to receive the height, in pixels, of the
	// fax image.
	ImageHeight uint32 `idl:"name:ImageHeight" json:"image_height"`
	// Return: The FAX_GetPageData return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPageDataResponse structure represents the FAX_GetPageData operation response

func (*GetPageDataResponse) MarshalNDR

func (o *GetPageDataResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPageDataResponse) UnmarshalNDR

func (o *GetPageDataResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPersonalCoverPagesOptionRequest

type GetPersonalCoverPagesOptionRequest struct {
}

GetPersonalCoverPagesOptionRequest structure represents the FAX_GetPersonalCoverPagesOption operation request

func (*GetPersonalCoverPagesOptionRequest) MarshalNDR

func (*GetPersonalCoverPagesOptionRequest) UnmarshalNDR

type GetPersonalCoverPagesOptionResponse

type GetPersonalCoverPagesOptionResponse struct {
	// lpbPersonalCPAllowed: A pointer to a BOOL that receives the personal cover-pages
	// option. If TRUE, the server allows sending personal cover pages. Otherwise, the server
	// does not allow personal cover pages.
	PersonalCreatePartitionAllowed bool `idl:"name:lpbPersonalCPAllowed;pointer:ref" json:"personal_create_partition_allowed"`
	// Return: The FAX_GetPersonalCoverPagesOption return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPersonalCoverPagesOptionResponse structure represents the FAX_GetPersonalCoverPagesOption operation response

func (*GetPersonalCoverPagesOptionResponse) MarshalNDR

func (*GetPersonalCoverPagesOptionResponse) UnmarshalNDR

type GetPersonalProfileInfoRequest

type GetPersonalProfileInfoRequest struct {
	// dwlMessageId: A DWORDLONG ([MS-DTYP] section 2.2.13) that contains the message identifier
	// for which the sender's FAX_PERSONAL_PROFILEW (section 2.2.44) structure is retrieved.
	MessageID uint64 `idl:"name:dwlMessageId" json:"message_id"`
	// dwFolder: A FAX_ENUM_MESSAGE_FOLDER indicating the location of the folder in which
	// to search for the message containing the personal profile information.
	Folder fax.MessageFolder `idl:"name:dwFolder" json:"folder"`
	// ProfType: A FAX_ENUM_PERSONAL_PROF_TYPES indicating whether to retrieve sender or
	// recipient personal profile information.
	ProfType fax.PersonalProfileTypes `idl:"name:ProfType" json:"prof_type"`
}

GetPersonalProfileInfoRequest structure represents the FAX_GetPersonalProfileInfo operation request

func (*GetPersonalProfileInfoRequest) MarshalNDR

func (*GetPersonalProfileInfoRequest) UnmarshalNDR

func (o *GetPersonalProfileInfoRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPersonalProfileInfoResponse

type GetPersonalProfileInfoResponse struct {
	// Buffer:  A pointer to a FAX_PERSONAL_PROFILEW in which to place the returned recipient
	// or sender personal profile information.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) variable to receive the
	// buffer size.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetPersonalProfileInfo return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPersonalProfileInfoResponse structure represents the FAX_GetPersonalProfileInfo operation response

func (*GetPersonalProfileInfoResponse) MarshalNDR

func (*GetPersonalProfileInfoResponse) UnmarshalNDR

type GetPortExRequest

type GetPortExRequest struct {
	// dwDeviceId: A DWORD ([MS-DTYP] section 2.2.9) that indicates a unique identifier
	// that distinguishes the device. The value of dwDeviceId MUST be greater than zero.
	DeviceID uint32 `idl:"name:dwDeviceId" json:"device_id"`
}

GetPortExRequest structure represents the FAX_GetPortEx operation request

func (*GetPortExRequest) MarshalNDR

func (o *GetPortExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPortExRequest) UnmarshalNDR

func (o *GetPortExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPortExResponse

type GetPortExResponse struct {
	// Buffer: A pointer to a buffer to hold a _FAX_PORT_INFO_EXW (section 2.2.46) structure.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD in which to return the size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetPortEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPortExResponse structure represents the FAX_GetPortEx operation response

func (*GetPortExResponse) MarshalNDR

func (o *GetPortExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPortExResponse) UnmarshalNDR

func (o *GetPortExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPortRequest

type GetPortRequest struct {
	// FaxPortHandle: An RPC context handle that references a specified fax port.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
}

GetPortRequest structure represents the FAX_GetPort operation request

func (*GetPortRequest) MarshalNDR

func (o *GetPortRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPortRequest) UnmarshalNDR

func (o *GetPortRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPortResponse

type GetPortResponse struct {
	// PortBuffer: A pointer to the address of a buffer to receive a _FAX_PORT_INFO (section
	// 2.2.8) structure. The structure describes one fax port.
	PortBuffer []byte `idl:"name:PortBuffer;size_is:(, BufferSize)" json:"port_buffer"`
	// BufferSize: A variable to return the size, in bytes, of the port buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetPort return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPortResponse structure represents the FAX_GetPort operation response

func (*GetPortResponse) MarshalNDR

func (o *GetPortResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPortResponse) UnmarshalNDR

func (o *GetPortResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetQueueStatesRequest

type GetQueueStatesRequest struct {
}

GetQueueStatesRequest structure represents the FAX_GetQueueStates operation request

func (*GetQueueStatesRequest) MarshalNDR

func (o *GetQueueStatesRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetQueueStatesRequest) UnmarshalNDR

func (o *GetQueueStatesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetQueueStatesResponse

type GetQueueStatesResponse struct {
	// pdwQueueStates: A pointer to a DWORD ([MS-DTYP] section 2.2.9) value that receives
	// state information about the fax queue. If this value is zero, both the incoming and
	// outgoing queues are unblocked. Otherwise, this value is a combination of one or more
	// of the following values.
	//
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	|                                 |                                                                                |
	//	|           VALUE/CODE            |                                    MEANING                                     |
	//	|                                 |                                                                                |
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	| 0x00000000                      | Both the incoming and outgoing queues are unblocked.                           |
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	| FAX_INCOMING_BLOCKED 0x00000001 | The fax service will not receive new incoming faxes.                           |
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	| FAX_OUTBOX_BLOCKED 0x00000002   | The fax service will reject submissions of new outgoing faxes to its queue.    |
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	| FAX_OUTBOX_PAUSED 0x00000004    | The fax service will not dequeue and execute outgoing fax jobs from its queue. |
	//	+---------------------------------+--------------------------------------------------------------------------------+
	QueueStates uint32 `idl:"name:pdwQueueStates" json:"queue_states"`
	// Return: The FAX_GetQueueStates return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetQueueStatesResponse structure represents the FAX_GetQueueStates operation response

func (*GetQueueStatesResponse) MarshalNDR

func (o *GetQueueStatesResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetQueueStatesResponse) UnmarshalNDR

func (o *GetQueueStatesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetReceiptsConfigurationRequest

type GetReceiptsConfigurationRequest struct {
}

GetReceiptsConfigurationRequest structure represents the FAX_GetReceiptsConfiguration operation request

func (*GetReceiptsConfigurationRequest) MarshalNDR

func (*GetReceiptsConfigurationRequest) UnmarshalNDR

type GetReceiptsConfigurationResponse

type GetReceiptsConfigurationResponse struct {
	// Buffer: A pointer to a _FAX_RECEIPTS_CONFIGW (section 2.2.48) structure.
	Buffer []byte `idl:"name:Buffer;size_is:(, BufferSize)" json:"buffer"`
	// BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the
	// size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:BufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetReceiptsConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetReceiptsConfigurationResponse structure represents the FAX_GetReceiptsConfiguration operation response

func (*GetReceiptsConfigurationResponse) MarshalNDR

func (*GetReceiptsConfigurationResponse) UnmarshalNDR

type GetReceiptsOptionsRequest

type GetReceiptsOptionsRequest struct {
}

GetReceiptsOptionsRequest structure represents the FAX_GetReceiptsOptions operation request

func (*GetReceiptsOptionsRequest) MarshalNDR

func (o *GetReceiptsOptionsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetReceiptsOptionsRequest) UnmarshalNDR

func (o *GetReceiptsOptionsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetReceiptsOptionsResponse

type GetReceiptsOptionsResponse struct {
	// lpdwReceiptsOptions: A pointer to the DWORD ([MS-DTYP] section 2.2.9) that receives
	// the options.
	//
	//	+--------------+----------------------------------------------------------------------------------+
	//	|              |                                                                                  |
	//	|  VALUE/CODE  |                                     MEANING                                      |
	//	|              |                                                                                  |
	//	+--------------+----------------------------------------------------------------------------------+
	//	+--------------+----------------------------------------------------------------------------------+
	//	| DRT_EMAIL 1  | Allow sending the receipt by email. The email address is the email address of    |
	//	|              | the sender.                                                                      |
	//	+--------------+----------------------------------------------------------------------------------+
	//	| DRT_MSGBOX 4 | Allow notification on the transmission result by sending a text message          |
	//	|              | containing a character string to the sender's computer as described in Messenger |
	//	|              | Service Remote Protocol Specification [MS-MSRP] section 3.2.4.1.<130>            |
	//	+--------------+----------------------------------------------------------------------------------+
	ReceiptsOptions uint32 `idl:"name:lpdwReceiptsOptions;pointer:ref" json:"receipts_options"`
	// Return: The FAX_GetReceiptsOptions return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetReceiptsOptionsResponse structure represents the FAX_GetReceiptsOptions operation response

func (*GetReceiptsOptionsResponse) MarshalNDR

func (o *GetReceiptsOptionsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetReceiptsOptionsResponse) UnmarshalNDR

func (o *GetReceiptsOptionsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetRecipientsLimitRequest

type GetRecipientsLimitRequest struct {
}

GetRecipientsLimitRequest structure represents the FAX_GetRecipientsLimit operation request

func (*GetRecipientsLimitRequest) MarshalNDR

func (o *GetRecipientsLimitRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetRecipientsLimitRequest) UnmarshalNDR

func (o *GetRecipientsLimitRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetRecipientsLimitResponse

type GetRecipientsLimitResponse struct {
	// lpdwRecipientsLimit: A pointer to a DWORD ([MS-DTYP] section 2.2.9) value. This is
	// set to the maximum number of recipients to which a fax can be sent.
	RecipientsLimit uint32 `idl:"name:lpdwRecipientsLimit;pointer:ref" json:"recipients_limit"`
	// Return: The FAX_GetRecipientsLimit return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetRecipientsLimitResponse structure represents the FAX_GetRecipientsLimit operation response

func (*GetRecipientsLimitResponse) MarshalNDR

func (o *GetRecipientsLimitResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetRecipientsLimitResponse) UnmarshalNDR

func (o *GetRecipientsLimitResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetRoutingInfoRequest

type GetRoutingInfoRequest struct {
	// FaxPortHandle: An RPC context handle that references a specified fax port.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
	// RoutingGuid: A curly braced GUID string that specifies the GUID that uniquely identifies
	// the fax routing method for which to obtain the routing information. Fax routing methods
	// are defined by a fax routing extension and the method is identified by a GUID. For
	// more information about routing methods, see [MSDN-FRM]. The routing methods and the
	// associated curly-braced GUID string values that can be used for this parameter are
	// discoverable by calling FAX_EnumRoutingMethods (section 3.1.4.1.31). Included in
	// this list are the default routing methods described in Default Routing Methods (section
	// 2.2.87).
	RoutingGUID string `idl:"name:RoutingGuid;string;pointer:unique" json:"routing_guid"`
}

GetRoutingInfoRequest structure represents the FAX_GetRoutingInfo operation request

func (*GetRoutingInfoRequest) MarshalNDR

func (o *GetRoutingInfoRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetRoutingInfoRequest) UnmarshalNDR

func (o *GetRoutingInfoRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetRoutingInfoResponse

type GetRoutingInfoResponse struct {
	// RoutingInfoBuffer: A pointer to the address of a buffer that receives the fax routing
	// information. The buffer format and contents depend on the routing method that is
	// identified by the RoutingGuid.
	RoutingInfoBuffer []byte `idl:"name:RoutingInfoBuffer;size_is:(, RoutingInfoBufferSize)" json:"routing_info_buffer"`
	// RoutingInfoBufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) variable that
	// receives the size, in bytes, of the RoutingInfoBuffer buffer.
	RoutingInfoBufferSize uint32 `idl:"name:RoutingInfoBufferSize;pointer:ref" json:"routing_info_buffer_size"`
	// Return: The FAX_GetRoutingInfo return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetRoutingInfoResponse structure represents the FAX_GetRoutingInfo operation response

func (*GetRoutingInfoResponse) MarshalNDR

func (o *GetRoutingInfoResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetRoutingInfoResponse) UnmarshalNDR

func (o *GetRoutingInfoResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetSecurityEx2Request

type GetSecurityEx2Request struct {
	// SecurityInformation: Defines the desired entries, which are indicated as a bitwise
	// OR operation, in the security descriptor to return.
	//
	// §  OWNER_SECURITY_INFORMATION: 0x00000001
	//
	// §  GROUP_SECURITY_INFORMATION: 0x00000002
	//
	// §  DACL_SECURITY_INFORMATION: 0x00000004
	//
	// §  SACL_SECURITY_INFORMATION: 0x00000008
	//
	// The requested access levels to entries by SecurityInformation can be a combination
	// of the following:
	//
	// § Read Control (requested if any of the bits in SecurityInformation is set by an
	// OR operation with GROUP_SECURITY_INFORMATION, DACL_SECURITY_INFORMATION, and/or OWNER_SECURITY_INFORMATION)
	//
	// § Request for access to set or get SACL (requested if one of the bits in SecurityInformation
	// is set by an OR operation with SACL_SECURITY_INFORMATION)
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
}

GetSecurityEx2Request structure represents the FAX_GetSecurityEx2 operation request

func (*GetSecurityEx2Request) MarshalNDR

func (o *GetSecurityEx2Request) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetSecurityEx2Request) UnmarshalNDR

func (o *GetSecurityEx2Request) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetSecurityEx2Response

type GetSecurityEx2Response struct {
	// pSecurityDescriptor: A pointer to a SECURITY_DESCRIPTOR, as specified in [MS-DTYP]
	// section 2.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(, lpdwBufferSize)" json:"security_descriptor"`
	// lpdwBufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) value that indicates
	// the size, in bytes, of the pSecurityDescriptor buffer.
	BufferSize uint32 `idl:"name:lpdwBufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetSecurityEx2 return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetSecurityEx2Response structure represents the FAX_GetSecurityEx2 operation response

func (*GetSecurityEx2Response) MarshalNDR

func (o *GetSecurityEx2Response) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetSecurityEx2Response) UnmarshalNDR

func (o *GetSecurityEx2Response) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetSecurityExRequest

type GetSecurityExRequest struct {
	// SecurityInformation: Defines the desired entries, which are indicated as a bitwise
	// OR operation, in the security descriptor to return.
	//
	// §  OWNER_SECURITY_INFORMATION 0x00000001
	//
	// §  GROUP_SECURITY_INFORMATION 0x00000002
	//
	// §  DACL_SECURITY_INFORMATION 0x00000004
	//
	// §  SACL_SECURITY_INFORMATION 0x00000008
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
}

GetSecurityExRequest structure represents the FAX_GetSecurityEx operation request

func (*GetSecurityExRequest) MarshalNDR

func (o *GetSecurityExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetSecurityExRequest) UnmarshalNDR

func (o *GetSecurityExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetSecurityExResponse

type GetSecurityExResponse struct {
	// pSecurityDescriptor: A pointer to a SECURITY_DESCRIPTOR.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(, lpdwBufferSize)" json:"security_descriptor"`
	// lpdwBufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) value that indicates
	// the size of the pSecurityDescriptor buffer.
	BufferSize uint32 `idl:"name:lpdwBufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetSecurityEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetSecurityExResponse structure represents the FAX_GetSecurityEx operation response

func (*GetSecurityExResponse) MarshalNDR

func (o *GetSecurityExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetSecurityExResponse) UnmarshalNDR

func (o *GetSecurityExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetSecurityRequest

type GetSecurityRequest struct {
}

GetSecurityRequest structure represents the FAX_GetSecurity operation request

func (*GetSecurityRequest) MarshalNDR

func (o *GetSecurityRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetSecurityRequest) UnmarshalNDR

func (o *GetSecurityRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetSecurityResponse

type GetSecurityResponse struct {
	// pSecurityDescriptor: A pointer to a SECURITY_DESCRIPTOR ([MS-DTYP] section 2.4.6)
	// structure.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(, lpdwBufferSize)" json:"security_descriptor"`
	// lpdwBufferSize: A variable to return the size, in bytes, of the security descriptor
	// buffer.
	BufferSize uint32 `idl:"name:lpdwBufferSize;pointer:ref" json:"buffer_size"`
	// Return: The FAX_GetSecurity return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetSecurityResponse structure represents the FAX_GetSecurity operation response

func (*GetSecurityResponse) MarshalNDR

func (o *GetSecurityResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetSecurityResponse) UnmarshalNDR

func (o *GetSecurityResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetServerActivityRequest

type GetServerActivityRequest struct {
	// pServerActivity: A pointer to a FAX_SERVER_ACTIVITY object.
	ServerActivity *fax.ServerActivity `idl:"name:pServerActivity;pointer:ref" json:"server_activity"`
}

GetServerActivityRequest structure represents the FAX_GetServerActivity operation request

func (*GetServerActivityRequest) MarshalNDR

func (o *GetServerActivityRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetServerActivityRequest) UnmarshalNDR

func (o *GetServerActivityRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetServerActivityResponse

type GetServerActivityResponse struct {
	// pServerActivity: A pointer to a FAX_SERVER_ACTIVITY object.
	ServerActivity *fax.ServerActivity `idl:"name:pServerActivity;pointer:ref" json:"server_activity"`
	// Return: The FAX_GetServerActivity return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetServerActivityResponse structure represents the FAX_GetServerActivity operation response

func (*GetServerActivityResponse) MarshalNDR

func (o *GetServerActivityResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetServerActivityResponse) UnmarshalNDR

func (o *GetServerActivityResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetServerSKURequest

type GetServerSKURequest struct {
}

GetServerSKURequest structure represents the FAX_GetServerSKU operation request

func (*GetServerSKURequest) MarshalNDR

func (o *GetServerSKURequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetServerSKURequest) UnmarshalNDR

func (o *GetServerSKURequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetServerSKUResponse

type GetServerSKUResponse struct {
	// pServerSKU: A pointer to a PRODUCT_SKU_TYPE (section 2.2.75) enumeration that receives
	// the fax server SKU.
	ServerSKU fax.ProductSKUType `idl:"name:pServerSKU;pointer:ref" json:"server_sku"`
	// Return: The FAX_GetServerSKU return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetServerSKUResponse structure represents the FAX_GetServerSKU operation response

func (*GetServerSKUResponse) MarshalNDR

func (o *GetServerSKUResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetServerSKUResponse) UnmarshalNDR

func (o *GetServerSKUResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetServicePrintersRequest

type GetServicePrintersRequest struct {
}

GetServicePrintersRequest structure represents the FAX_GetServicePrinters operation request

func (*GetServicePrintersRequest) MarshalNDR

func (o *GetServicePrintersRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetServicePrintersRequest) UnmarshalNDR

func (o *GetServicePrintersRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetServicePrintersResponse

type GetServicePrintersResponse struct {
	// lpBuffer: A pointer to a buffer containing an array of FAX_PRINTER_INFOW.
	Buffer []byte `idl:"name:lpBuffer;size_is:(, lpdwBufferSize)" json:"buffer"`
	// lpdwBufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) value containing the
	// size, in bytes, of the buffer.
	BufferSize uint32 `idl:"name:lpdwBufferSize;pointer:ref" json:"buffer_size"`
	// lpdwPrintersReturned: A pointer to a DWORD value indicating the number of the printers
	// in the buffer.
	PrintersReturned uint32 `idl:"name:lpdwPrintersReturned;pointer:ref" json:"printers_returned"`
	// Return: The FAX_GetServicePrinters return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetServicePrintersResponse structure represents the FAX_GetServicePrinters operation response

func (*GetServicePrintersResponse) MarshalNDR

func (o *GetServicePrintersResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetServicePrintersResponse) UnmarshalNDR

func (o *GetServicePrintersResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetVersionRequest

type GetVersionRequest struct {
	// pVersion: A pointer to a FAX_VERSION (section 2.2.22) object.
	Version *fax.Version `idl:"name:pVersion" json:"version"`
}

GetVersionRequest structure represents the FAX_GetVersion operation request

func (*GetVersionRequest) MarshalNDR

func (o *GetVersionRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetVersionRequest) UnmarshalNDR

func (o *GetVersionRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetVersionResponse

type GetVersionResponse struct {
	// pVersion: A pointer to a FAX_VERSION (section 2.2.22) object.
	Version *fax.Version `idl:"name:pVersion" json:"version"`
	// Return: The FAX_GetVersion return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetVersionResponse structure represents the FAX_GetVersion operation response

func (*GetVersionResponse) MarshalNDR

func (o *GetVersionResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetVersionResponse) UnmarshalNDR

func (o *GetVersionResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type OpenPortRequest

type OpenPortRequest struct {
	// DeviceId: A DWORD ([MS-DTYP] section 2.2.9) variable that is the line identifier
	// for the device (port). The client SHOULD call the FAX_EnumPorts (section 3.1.4.1.28)
	// method to retrieve a valid value for this parameter.
	DeviceID uint32 `idl:"name:DeviceId" json:"device_id"`
	// Flags: A DWORD variable that contains a set of bit flags defining the access mode
	// for the port.<137>
	//
	//	+-----------------------------+----------------------------------------------------------------------------------+
	//	|                             |                                                                                  |
	//	|         VALUE/CODE          |                                     MEANING                                      |
	//	|                             |                                                                                  |
	//	+-----------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000                  | No port access mode flags are specified.                                         |
	//	+-----------------------------+----------------------------------------------------------------------------------+
	//	| PORT_OPEN_QUERY 0x00000001  | The port access mode that is required to obtain a fax port handle. This access   |
	//	|                             | mode is also required to call the FAX_GetPort (section 3.1.4.1.51) method to     |
	//	|                             | query fax port information.<138>                                                 |
	//	+-----------------------------+----------------------------------------------------------------------------------+
	//	| PORT_OPEN_MODIFY 0x00000002 | The port access mode to change the configuration of a fax port. The fax server   |
	//	|                             | can use this port access mode to allow execution of the FAX_SetPort (section     |
	//	|                             | 3.1.4.1.88) method. This access mode also includes the allowance that is         |
	//	|                             | associated with the PORT_OPEN_QUERY access mode.<139>                            |
	//	+-----------------------------+----------------------------------------------------------------------------------+
	Flags uint32 `idl:"name:Flags" json:"flags"`
}

OpenPortRequest structure represents the FAX_OpenPort operation request

func (*OpenPortRequest) MarshalNDR

func (o *OpenPortRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*OpenPortRequest) UnmarshalNDR

func (o *OpenPortRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type OpenPortResponse

type OpenPortResponse struct {
	// FaxPortHandle: A pointer to a variable that receives a fax port handle as described
	// in Fax Data Types (section 2.2.74) which is required on subsequent calls by other
	// fax client methods. This method SHOULD return a NULL handle to indicate an error.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
	// Return: The FAX_OpenPort return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

OpenPortResponse structure represents the FAX_OpenPort operation response

func (*OpenPortResponse) MarshalNDR

func (o *OpenPortResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*OpenPortResponse) UnmarshalNDR

func (o *OpenPortResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ReadFileRequest

type ReadFileRequest struct {
	// hCopy: A copy handle returned by FAX_StartCopyMessageFromServer.
	HCopy *fax.Copy `idl:"name:hCopy;pointer:ref" json:"h_copy"`
	// dwMaxDataSize: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the maximum
	// size, in bytes, of data to be read and returned in the buffer. The caller MUST set
	// this argument to a value greater than zero before making the call.
	MaxDataSize uint32 `idl:"name:dwMaxDataSize" json:"max_data_size"`
	// lpdwDataSize: A pointer to a DWORD in which to return the size, in bytes, of the
	// data that is sent in this segment. The caller MUST set *lpdwDataSize to the same
	// value as dwMaxDataSize before making the call.
	DataSize uint32 `idl:"name:lpdwDataSize;pointer:ref" json:"data_size"`
}

ReadFileRequest structure represents the FAX_ReadFile operation request

func (*ReadFileRequest) MarshalNDR

func (o *ReadFileRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ReadFileRequest) UnmarshalNDR

func (o *ReadFileRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ReadFileResponse

type ReadFileResponse struct {
	// lpbData: A pointer to the buffer in which to place the data. This data MUST be allocated
	// by the caller to be at least the size specified by the lpdwDataSize argument. The
	// data to be placed in this buffer is a binary data block read from the file indicated
	// by the dwlMessageId and Folder arguments for the FAX_StartCopyMessageFromServer call,
	// which the client used to obtain the hCopy handle.
	Data []byte `idl:"name:lpbData;size_is:(lpdwDataSize);pointer:ref" json:"data"`
	// lpdwDataSize: A pointer to a DWORD in which to return the size, in bytes, of the
	// data that is sent in this segment. The caller MUST set *lpdwDataSize to the same
	// value as dwMaxDataSize before making the call.
	DataSize uint32 `idl:"name:lpdwDataSize;pointer:ref" json:"data_size"`
	// Return: The FAX_ReadFile return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ReadFileResponse structure represents the FAX_ReadFile operation response

func (*ReadFileResponse) MarshalNDR

func (o *ReadFileResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ReadFileResponse) UnmarshalNDR

func (o *ReadFileResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ReassignMessageRequest

type ReassignMessageRequest struct {
	// dwlMessageId: A DWORDLONG ([MS-DTYP] section 2.2.13) value that specifies the identifier
	// of the fax message to reassign.
	MessageID uint64 `idl:"name:dwlMessageId" json:"message_id"`
	// pReAssignInfo: A pointer to a FAX_REASSIGN_INFO (section 2.2.18) structure that contains
	// reassignment information.
	ReassignInfo *fax.ReassignInfo `idl:"name:pReAssignInfo;pointer:ref" json:"reassign_info"`
}

ReassignMessageRequest structure represents the FAX_ReAssignMessage operation request

func (*ReassignMessageRequest) MarshalNDR

func (o *ReassignMessageRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ReassignMessageRequest) UnmarshalNDR

func (o *ReassignMessageRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ReassignMessageResponse

type ReassignMessageResponse struct {
	// Return: The FAX_ReAssignMessage return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ReassignMessageResponse structure represents the FAX_ReAssignMessage operation response

func (*ReassignMessageResponse) MarshalNDR

func (o *ReassignMessageResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ReassignMessageResponse) UnmarshalNDR

func (o *ReassignMessageResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type RefreshArchiveRequest

type RefreshArchiveRequest struct {
	// Folder: A value indicating the archive folder to refresh. The value can be either
	// FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS. For more information, see
	// FAX_ENUM_MESSAGE_FOLDER (section 2.2.2).<146>
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
}

RefreshArchiveRequest structure represents the FAX_RefreshArchive operation request

func (*RefreshArchiveRequest) MarshalNDR

func (o *RefreshArchiveRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RefreshArchiveRequest) UnmarshalNDR

func (o *RefreshArchiveRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type RefreshArchiveResponse

type RefreshArchiveResponse struct {
	// Return: The FAX_RefreshArchive return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

RefreshArchiveResponse structure represents the FAX_RefreshArchive operation response

func (*RefreshArchiveResponse) MarshalNDR

func (o *RefreshArchiveResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RefreshArchiveResponse) UnmarshalNDR

func (o *RefreshArchiveResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type RegisterServiceProviderExRequest

type RegisterServiceProviderExRequest struct {
	// lpcwstrGUID: A pointer to a constant null-terminated character string that contains
	// a valid string representation of the GUID of the FSP.
	GUID string `idl:"name:lpcwstrGUID;string;pointer:ref" json:"guid"`
	// lpcwstrFriendlyName: A pointer to a constant null-terminated character string to
	// associate with the FSP execution component. This is the FSP friendly name, which
	// is suitable for display. This value cannot exceed MAX_FAX_STRING_LEN (section 2.2.86)
	// characters.
	FriendlyName string `idl:"name:lpcwstrFriendlyName;string;pointer:ref" json:"friendly_name"`
	// lpcwstrImageName: A pointer to a constant null-terminated character string that specifies
	// the full path and file name for the FSP execution component.<148> This value cannot
	// exceed MAX_FAX_STRING_LEN characters.
	ImageName string `idl:"name:lpcwstrImageName;string;pointer:ref" json:"image_name"`
	// lpcwstrTspName: A pointer to a constant null-terminated character string that specifies
	// the name of the telephony service provider that is associated with the devices for
	// the FSP. This parameter SHOULD be set to NULL if the FSP does not use a telephony
	// service provider. This value cannot exceed MAX_FAX_STRING_LEN characters. This value
	// MUST be unique across all registered FSPs.
	TspName string `idl:"name:lpcwstrTspName;string;pointer:ref" json:"tsp_name"`
	// dwFSPIVersion: A DWORD ([MS-DTYP] section 2.2.9) value that specifies the API version
	// of the FSP interface. The value MUST be 0x00010000.
	FspiVersion uint32 `idl:"name:dwFSPIVersion" json:"fspi_version"`
	// dwCapabilities: A DWORD value that specifies the capabilities of the extended FSP.
	// This value MUST be 0.
	Capabilities uint32 `idl:"name:dwCapabilities" json:"capabilities"`
}

RegisterServiceProviderExRequest structure represents the FAX_RegisterServiceProviderEx operation request

func (*RegisterServiceProviderExRequest) MarshalNDR

func (*RegisterServiceProviderExRequest) UnmarshalNDR

type RegisterServiceProviderExResponse

type RegisterServiceProviderExResponse struct {
	// Return: The FAX_RegisterServiceProviderEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

RegisterServiceProviderExResponse structure represents the FAX_RegisterServiceProviderEx operation response

func (*RegisterServiceProviderExResponse) MarshalNDR

func (*RegisterServiceProviderExResponse) UnmarshalNDR

type RemoveMessageRequest

type RemoveMessageRequest struct {
	// dwlMessageId: A DWORDLONG ([MS-DTYP] section 2.2.13) value identifying the fax message
	// to remove from the archive.
	MessageID uint64 `idl:"name:dwlMessageId" json:"message_id"`
	// Folder: The type of the archive where the message resides. FAX_MESSAGE_FOLDER_QUEUE
	// is an invalid value for this parameter.
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
}

RemoveMessageRequest structure represents the FAX_RemoveMessage operation request

func (*RemoveMessageRequest) MarshalNDR

func (o *RemoveMessageRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RemoveMessageRequest) UnmarshalNDR

func (o *RemoveMessageRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type RemoveMessageResponse

type RemoveMessageResponse struct {
	// Return: The FAX_RemoveMessage return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

RemoveMessageResponse structure represents the FAX_RemoveMessage operation response

func (*RemoveMessageResponse) MarshalNDR

func (o *RemoveMessageResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RemoveMessageResponse) UnmarshalNDR

func (o *RemoveMessageResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type RemoveOutboundGroupRequest

type RemoveOutboundGroupRequest struct {
	// lpwstrGroupName: A pointer to a null-terminated string that uniquely identifies an
	// existing group name. The group name is expected to be case-insensitive.
	GroupName string `idl:"name:lpwstrGroupName;string;pointer:ref" json:"group_name"`
}

RemoveOutboundGroupRequest structure represents the FAX_RemoveOutboundGroup operation request

func (*RemoveOutboundGroupRequest) MarshalNDR

func (o *RemoveOutboundGroupRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RemoveOutboundGroupRequest) UnmarshalNDR

func (o *RemoveOutboundGroupRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type RemoveOutboundGroupResponse

type RemoveOutboundGroupResponse struct {
	// Return: The FAX_RemoveOutboundGroup return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

RemoveOutboundGroupResponse structure represents the FAX_RemoveOutboundGroup operation response

func (*RemoveOutboundGroupResponse) MarshalNDR

func (*RemoveOutboundGroupResponse) UnmarshalNDR

func (o *RemoveOutboundGroupResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type RemoveOutboundRuleRequest

type RemoveOutboundRuleRequest struct {
	// dwAreaCode: The area code of the rule. The combination of the dwAreaCode and dwCountryCode
	// parameters are a unique key.
	AreaCode uint32 `idl:"name:dwAreaCode" json:"area_code"`
	// dwCountryCode: The country code of the rule. The combination of dwAreaCode and dwCountryCode
	// are a unique key.
	CountryCode uint32 `idl:"name:dwCountryCode" json:"country_code"`
}

RemoveOutboundRuleRequest structure represents the FAX_RemoveOutboundRule operation request

func (*RemoveOutboundRuleRequest) MarshalNDR

func (o *RemoveOutboundRuleRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RemoveOutboundRuleRequest) UnmarshalNDR

func (o *RemoveOutboundRuleRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type RemoveOutboundRuleResponse

type RemoveOutboundRuleResponse struct {
	// Return: The FAX_RemoveOutboundRule return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

RemoveOutboundRuleResponse structure represents the FAX_RemoveOutboundRule operation response

func (*RemoveOutboundRuleResponse) MarshalNDR

func (o *RemoveOutboundRuleResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RemoveOutboundRuleResponse) UnmarshalNDR

func (o *RemoveOutboundRuleResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SendDocumentExRequest

type SendDocumentExRequest struct {
	// lpcwstrFileName: A pointer to a null-terminated character string that contains the
	// name of the file, without path information, of the body of the fax in TIFF. The body
	// file is previously copied to the server queue directory using the call sequence of
	// FAX_StartCopyToServer (section 3.1.4.1.97) to retrieve the file name from the server,
	// FAX_WriteFile (section 3.1.4.1.105) to write to the file, and FAX_EndCopy (section
	// 3.1.4.1.15) to end the write operation. If no fax body is available, this pointer
	// MUST be NULL.
	FileName string `idl:"name:lpcwstrFileName;string;pointer:unique" json:"file_name"`
	// lpcCoverPageInfo: A pointer to a FAX_COVERPAGE_INFO_EXW (section 2.2.12) structure
	// that contains the cover-page information, including the name of the cover-page file
	// obtained from the fax server with the FAX_StartCopyToServer call, if available. This
	// pointer MUST NOT be NULL. If no cover-page information is available, the lpwstrCoverPageFileName
	// member of the structure MUST be NULL. If cover-page information is specified, the
	// fax server SHOULD use the server queue directory to find the cover page. The fax
	// client can add a new personal cover page template to the server queue directory before
	// calling this method by using the call sequence of FAX_StartCopyToServer to retrieve
	// the file name from the server, FAX_WriteFile to write to the file, and FAX_EndCopy
	// to end the write operation. If this call sequence was used, the client SHOULD set
	// the bServerBased member of the structure to FALSE; otherwise the client MUST set
	// the bServerBased member to TRUE. If bServerBased is FALSE, the server SHOULD validate
	// that the cover page template specified by the lpwstrCoverPageFileName member has
	// a file extension of ".cov" and the file name string contains (except for the terminating
	// null character) only characters representing valid hexadecimal digits: "0123456789abcdefABCDEF".
	CoverPageInfoCount *fax.CoverPageInfoExW `idl:"name:lpcCoverPageInfo" json:"cover_page_info_count"`
	// lpcSenderProfile: A pointer to a buffer containing an array of FAX_PERSONAL_PROFILEW
	// (section 2.2.44) structures that contain the personal profile (section 3.1.1) of
	// the fax sender. This pointer MUST NOT be NULL.
	SenderProfileCount uint8 `idl:"name:lpcSenderProfile" json:"sender_profile_count"`
	// dwNumRecipients: A DWORD ([MS-DTYP] section 2.2.9) that contains the number of recipients
	// of the fax.
	RecipientsLength uint32 `idl:"name:dwNumRecipients" json:"recipients_length"`
	// lpcRecipientList: A pointer to an array FAX_PERSONAL_PROFILEW that contains the personal
	// profiles of the recipients of the fax. The dwNumRecipients member specifies the number
	// of elements in this array.
	RecipientListCount []byte `idl:"name:lpcRecipientList;size_is:(dwNumRecipients)" json:"recipient_list_count"`
	// lpJobParams: A pointer to a FAX_JOB_PARAM_EXW (section 2.2.14) structure that contains
	// the information necessary for the fax server to send the fax transmission.
	JobParams *fax.JobParamExW `idl:"name:lpJobParams" json:"job_params"`
	// lpdwJobId: An optional pointer to a DWORD to return the job identifier. This parameter
	// is used for backward compatibility with FaxObs_SendDocument (section 3.1.4.2.7).
	// The fax server MUST ignore this argument if the fax client submits a NULL pointer
	// value when making the call.
	JobID uint32 `idl:"name:lpdwJobId;pointer:unique" json:"job_id"`
}

SendDocumentExRequest structure represents the FAX_SendDocumentEx operation request

func (*SendDocumentExRequest) MarshalNDR

func (o *SendDocumentExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SendDocumentExRequest) UnmarshalNDR

func (o *SendDocumentExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SendDocumentExResponse

type SendDocumentExResponse struct {
	// lpdwJobId: An optional pointer to a DWORD to return the job identifier. This parameter
	// is used for backward compatibility with FaxObs_SendDocument (section 3.1.4.2.7).
	// The fax server MUST ignore this argument if the fax client submits a NULL pointer
	// value when making the call.
	JobID uint32 `idl:"name:lpdwJobId;pointer:unique" json:"job_id"`
	// lpdwlMessageId: A pointer to a DWORDLONG ([MS-DTYP] section 2.2.13) that returns
	// the unique message identifier that represents the fax message to be sent to all recipients.
	MessageID uint64 `idl:"name:lpdwlMessageId" json:"message_id"`
	// lpdwlRecipientMessageIds: A pointer to a DWORDLONG array in which the server returns
	// the unique message identifier for each individual recipient. The number of elements
	// in this array SHOULD be at least equal to the value specified in the dwNumRecipients
	// member. The elements in the array SHOULD be ordered in the same order as the elements
	// of the lpcRecipientList array.
	RecipientMessageIDs []uint64 `idl:"name:lpdwlRecipientMessageIds;size_is:(dwNumRecipients)" json:"recipient_message_ids"`
	// Return: The FAX_SendDocumentEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SendDocumentExResponse structure represents the FAX_SendDocumentEx operation response

func (*SendDocumentExResponse) MarshalNDR

func (o *SendDocumentExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SendDocumentExResponse) UnmarshalNDR

func (o *SendDocumentExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetActivityLoggingConfigurationRequest

type SetActivityLoggingConfigurationRequest struct {
	// pActivLogCfg: A pointer to a FAX_ACTIVITY_LOGGING_CONFIGW (section 2.2.25) object.
	// The directory specified by the lpwstrDBPath field of this structure SHOULD be created
	// by the caller if it does not exist.
	ActivityLogConfig *fax.ActivityLoggingConfigW `idl:"name:pActivLogCfg;pointer:ref" json:"activity_log_config"`
}

SetActivityLoggingConfigurationRequest structure represents the FAX_SetActivityLoggingConfiguration operation request

func (*SetActivityLoggingConfigurationRequest) MarshalNDR

func (*SetActivityLoggingConfigurationRequest) UnmarshalNDR

type SetActivityLoggingConfigurationResponse

type SetActivityLoggingConfigurationResponse struct {
	// Return: The FAX_SetActivityLoggingConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetActivityLoggingConfigurationResponse structure represents the FAX_SetActivityLoggingConfiguration operation response

func (*SetActivityLoggingConfigurationResponse) MarshalNDR

func (*SetActivityLoggingConfigurationResponse) UnmarshalNDR

type SetArchiveConfigurationRequest

type SetArchiveConfigurationRequest struct {
	// Folder: The archive location. The client MUST set this parameter to either FAX_MESSAGE_FOLDER_INBOX
	// or FAX_MESSAGE_FOLDER_SENTITEMS.
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
	// pArchiveCfg: A pointer to a buffer containing an array of FAX_ARCHIVE_CONFIGW (section
	// 2.2.27) structures. If the size of the archive exceeds the dwSizeQuotaHighWatermark
	// value and if the bSizeQuotaWarning member is set to TRUE, an event log warning SHOULD
	// be issued. If an event log warning was already issued, no more events SHOULD be issued
	// until the size of the archive drops below the dwSizeQuotaLowWatermark value. If a
	// fax message stays in the archive longer than the dwAgeLimit value, it MAY be automatically
	// deleted. If the dwAgeLimit value is zero, the time limit MUST NOT be used.
	ArchiveConfig uint8 `idl:"name:pArchiveCfg;pointer:ref" json:"archive_config"`
}

SetArchiveConfigurationRequest structure represents the FAX_SetArchiveConfiguration operation request

func (*SetArchiveConfigurationRequest) MarshalNDR

func (*SetArchiveConfigurationRequest) UnmarshalNDR

type SetArchiveConfigurationResponse

type SetArchiveConfigurationResponse struct {
	// Return: The FAX_SetArchiveConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetArchiveConfigurationResponse structure represents the FAX_SetArchiveConfiguration operation response

func (*SetArchiveConfigurationResponse) MarshalNDR

func (*SetArchiveConfigurationResponse) UnmarshalNDR

type SetConfigWizardUsedRequest

type SetConfigWizardUsedRequest struct {
	// bConfigWizardUsed: A Boolean value indicating whether the fax configuration wizard
	// was used.
	ConfigWizardUsed bool `idl:"name:bConfigWizardUsed" json:"config_wizard_used"`
}

SetConfigWizardUsedRequest structure represents the FAX_SetConfigWizardUsed operation request

func (*SetConfigWizardUsedRequest) MarshalNDR

func (o *SetConfigWizardUsedRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetConfigWizardUsedRequest) UnmarshalNDR

func (o *SetConfigWizardUsedRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetConfigWizardUsedResponse

type SetConfigWizardUsedResponse struct {
	// Return: The FAX_SetConfigWizardUsed return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetConfigWizardUsedResponse structure represents the FAX_SetConfigWizardUsed operation response

func (*SetConfigWizardUsedResponse) MarshalNDR

func (*SetConfigWizardUsedResponse) UnmarshalNDR

func (o *SetConfigWizardUsedResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetConfigurationRequest

type SetConfigurationRequest struct {
	// FaxConfig: A pointer to a FAX_CONFIGURATIONW. The SizeOfStruct member of this structure
	// MUST be set to the correct size, in bytes, of the FAX_CONFIGURATIONW described in
	// section 2.2.28. The structure MUST be passed as a byte array buffer. The structure
	// MUST be present at the start of the buffer. The LPCWSTR fields in the structure MUST
	// store the offsets to the actual string data, which MUST be located at the end of
	// the structure. The LPCWSTR strings located at the end of the buffer MUST be in the
	// same order of occurrence in the structure.  If the Branding structure member is
	// TRUE, the fax server SHOULD generate a brand that contains transmission-related information,
	// such as the transmitting subscriber identifier, date, time, and page count. If the
	// UseDeviceTsid structure member is TRUE, the server SHOULD use the device's transmitting
	// subscriber identifier. If the ServerCp structure member is TRUE, the client SHOULD
	// use a common cover page stored on the fax server; if this member is FALSE, the client
	// SHOULD use a personal cover page template. If the PauseServerQueue structure member
	// is TRUE, the server SHOULD pause the outgoing fax queue. If the ArchiveOutgoingFaxes
	// structure member is TRUE, the server SHOULD archive transmissions in the directory
	// specified by the ArchiveDirectory member. The fax server SHOULD ignore the ArchiveDirectory
	// structure member if the ArchiveOutgoingFaxes member is FALSE. If the ArchiveOutgoingFaxes
	// member is TRUE, the fax server SHOULD<155> validate the value of the ArchiveDirectory
	// member, and if this validation succeeds, the fax server SHOULD retain the value of
	// the ArchiveDirectory member and use this value as the name of the directory where
	// the fax server will archive the future fax transmissions. The fax server SHOULD retain
	// the discount time period submitted by the client with the StartCheapTime and the
	// StopCheapTime structure members.<156>
	FaxConfig *fax.ConfigW `idl:"name:FaxConfig" json:"fax_config"`
}

SetConfigurationRequest structure represents the FAX_SetConfiguration operation request

func (*SetConfigurationRequest) MarshalNDR

func (o *SetConfigurationRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetConfigurationRequest) UnmarshalNDR

func (o *SetConfigurationRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetConfigurationResponse

type SetConfigurationResponse struct {
	// Return: The FAX_SetConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetConfigurationResponse structure represents the FAX_SetConfiguration operation response

func (*SetConfigurationResponse) MarshalNDR

func (o *SetConfigurationResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetConfigurationResponse) UnmarshalNDR

func (o *SetConfigurationResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetDeviceOrderInGroupRequest

type SetDeviceOrderInGroupRequest struct {
	// lpwstrGroupName: A pointer to a null-terminated string that uniquely identifies a
	// group. Group names SHOULD be case-insensitive.
	GroupName string `idl:"name:lpwstrGroupName;string;pointer:ref" json:"group_name"`
	// dwDeviceId: A DWORD ([MS-DTYP] section 2.2.9) value specifying the identifier of
	// the device in the group. The specified device MUST exist in the group.
	DeviceID uint32 `idl:"name:dwDeviceId" json:"device_id"`
	// dwNewOrder: A DWORD value specifying the new 1-based order of the device in the group.
	// If there are N devices in the group, this value MUST be between 1 and N (inclusive).
	// Other devices are moved up or down in the group to place the specified device in
	// the specified order.
	NewOrder uint32 `idl:"name:dwNewOrder" json:"new_order"`
}

SetDeviceOrderInGroupRequest structure represents the FAX_SetDeviceOrderInGroup operation request

func (*SetDeviceOrderInGroupRequest) MarshalNDR

func (*SetDeviceOrderInGroupRequest) UnmarshalNDR

func (o *SetDeviceOrderInGroupRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetDeviceOrderInGroupResponse

type SetDeviceOrderInGroupResponse struct {
	// Return: The FAX_SetDeviceOrderInGroup return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetDeviceOrderInGroupResponse structure represents the FAX_SetDeviceOrderInGroup operation response

func (*SetDeviceOrderInGroupResponse) MarshalNDR

func (*SetDeviceOrderInGroupResponse) UnmarshalNDR

func (o *SetDeviceOrderInGroupResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetExtensionDataRequest

type SetExtensionDataRequest struct {
	// lpcwstrComputerName: A null-terminated character string that SHOULD hold the name
	// of the client computer.
	ComputerName string `idl:"name:lpcwstrComputerName;string" json:"computer_name"`
	// dwDeviceId: A DWORD ([MS-DTYP] section 2.2.9) value of the unique device identifier.
	// A value of zero indicates the caller needs to set a named data BLOB that is not associated
	// with any specific device. This value can be used to store configurations that affect
	// all the devices. For example, an Optical Character Recognition (OCR) routing extension
	// might export several different routing methods that all rely on the same OCR parameters.
	// This routing extension can associate the OCR configuration with a non-specific device
	// so that it becomes global.
	DeviceID uint32 `idl:"name:dwDeviceId" json:"device_id"`
	// lpcwstrNameGUID: A curly-braced GUID string that identifies the data to set. The
	// GUID can identify a routing extension or a routing method. Because GUIDs are unique,
	// the server determines from the specific GUID value whether the call is requesting
	// to set routing extension data or routing method data. If some data is already set
	// for the specified GUID, the fax server SHOULD replace it with the new data that is
	// pointed to by the pData parameter.
	NameGUID string `idl:"name:lpcwstrNameGUID;string" json:"name_guid"`
	// pData: A pointer to the data buffer to set. For the default routing methods described
	// in the Default Routing Methods (section 2.2.87) this data is a null-terminated character
	// string containing an EmailID, Printer, or Folder name. For other routing extensions
	// or methods the format of this data depends on the respective routing extension or
	// routing method and SHOULD be treated as opaque binary data by the fax server.
	Data []byte `idl:"name:pData;size_is:(dwDataSize);pointer:ref" json:"data"`
	// dwDataSize: A DWORD value that indicates the size, in bytes, of the pData buffer.
	// The maximum size is FAX_MAX_RPC_BUFFER (section 2.2.82).
	DataSize uint32 `idl:"name:dwDataSize" json:"data_size"`
}

SetExtensionDataRequest structure represents the FAX_SetExtensionData operation request

func (*SetExtensionDataRequest) MarshalNDR

func (o *SetExtensionDataRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetExtensionDataRequest) UnmarshalNDR

func (o *SetExtensionDataRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetExtensionDataResponse

type SetExtensionDataResponse struct {
	// Return: The FAX_SetExtensionData return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetExtensionDataResponse structure represents the FAX_SetExtensionData operation response

func (*SetExtensionDataResponse) MarshalNDR

func (o *SetExtensionDataResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetExtensionDataResponse) UnmarshalNDR

func (o *SetExtensionDataResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetGeneralConfigurationRequest

type SetGeneralConfigurationRequest struct {
	// level: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the type of structure
	// to return in Buffer. This value MUST be set to zero.
	Level uint32 `idl:"name:level" json:"level"`
	// Buffer: A pointer to a FAX_GENERAL_CONFIG that contains the configuration information
	// to set.
	Buffer []byte `idl:"name:Buffer;size_is:(BufferSize);pointer:ref" json:"buffer"`
	// BufferSize: A pointer to a DWORD value that specifies the size, in bytes, of the
	// buffer that is pointed to by the Buffer parameter. The maximum size is FAX_MAX_RPC_BUFFER
	// (section 2.2.82).
	BufferSize uint32 `idl:"name:BufferSize" json:"buffer_size"`
}

SetGeneralConfigurationRequest structure represents the FAX_SetGeneralConfiguration operation request

func (*SetGeneralConfigurationRequest) MarshalNDR

func (*SetGeneralConfigurationRequest) UnmarshalNDR

type SetGeneralConfigurationResponse

type SetGeneralConfigurationResponse struct {
	// Return: The FAX_SetGeneralConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetGeneralConfigurationResponse structure represents the FAX_SetGeneralConfiguration operation response

func (*SetGeneralConfigurationResponse) MarshalNDR

func (*SetGeneralConfigurationResponse) UnmarshalNDR

type SetGlobalRoutingInfoRequest

type SetGlobalRoutingInfoRequest struct {
	// RoutingInfo: A pointer to a buffer that contains a FAX_GLOBAL_ROUTING_INFOW (section
	// 2.2.32) structure.
	RoutingInfo *fax.GlobalRoutingInfoW `idl:"name:RoutingInfo" json:"routing_info"`
}

SetGlobalRoutingInfoRequest structure represents the FAX_SetGlobalRoutingInfo operation request

func (*SetGlobalRoutingInfoRequest) MarshalNDR

func (*SetGlobalRoutingInfoRequest) UnmarshalNDR

func (o *SetGlobalRoutingInfoRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetGlobalRoutingInfoResponse

type SetGlobalRoutingInfoResponse struct {
	// Return: The FAX_SetGlobalRoutingInfo return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetGlobalRoutingInfoResponse structure represents the FAX_SetGlobalRoutingInfo operation response

func (*SetGlobalRoutingInfoResponse) MarshalNDR

func (*SetGlobalRoutingInfoResponse) UnmarshalNDR

func (o *SetGlobalRoutingInfoResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetJobRequest

type SetJobRequest struct {
	// JobId: A DWORD ([MS-DTYP] section 2.2.9) variable that uniquely identifies the fax
	// job to modify.
	JobID uint32 `idl:"name:JobId" json:"job_id"`
	// Command: A DWORD variable that indicates the job command that the fax server is requested
	// to perform.
	//
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	|                       |                                                                                  |
	//	|      VALUE/CODE       |                                     MEANING                                      |
	//	|                       |                                                                                  |
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	| JC_DELETE 0x00000001  | The fax server MUST cancel the specified fax job. This job can be in an active   |
	//	|                       | or queued state. This is equivalent with the FAX_Abort (section 3.1.4.1.2) call. |
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	| JC_PAUSE 0x00000002   | The fax server MUST pause the specified fax job if the job status is JS_PENDING  |
	//	|                       | or JS_RETRYING.                                                                  |
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	| JC_RESUME 0x00000003  | The fax server MUST resume the specified fax job if it is in a paused state and  |
	//	|                       | return the job status to the value it had when the job was paused: JS_PENDING or |
	//	|                       | JS_RETRYING.                                                                     |
	//	+-----------------------+----------------------------------------------------------------------------------+
	//	| JC_RESTART 0x00000003 | The fax server MUST restart the specified fax job.                               |
	//	+-----------------------+----------------------------------------------------------------------------------+
	Command uint32 `idl:"name:Command" json:"command"`
}

SetJobRequest structure represents the FAX_SetJob operation request

func (*SetJobRequest) MarshalNDR

func (o *SetJobRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetJobRequest) UnmarshalNDR

func (o *SetJobRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetJobResponse

type SetJobResponse struct {
	// Return: The FAX_SetJob return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetJobResponse structure represents the FAX_SetJob operation response

func (*SetJobResponse) MarshalNDR

func (o *SetJobResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetJobResponse) UnmarshalNDR

func (o *SetJobResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetLoggingCategoriesRequest

type SetLoggingCategoriesRequest struct {
	// Buffer: A pointer to an array of the FAX_LOG_CATEGORY (section 2.2.11) structure.
	// Each structure contains the data to modify one logging category. The data includes
	// a friendly name of the logging category, a numeric identifier for the category, and
	// the current severity-level threshold for the category. For more information, see
	// [MSDN-FSCAR].
	Buffer []byte `idl:"name:Buffer;size_is:(BufferSize);pointer:unique" json:"buffer"`
	// BufferSize: A variable to return the size, in bytes, of the job information buffer.
	// This variable MUST be set to a value between 1 and 1,048,576. The maximum size is
	// FAX_MAX_RPC_BUFFER (section 2.2.82).
	BufferSize uint32 `idl:"name:BufferSize" json:"buffer_size"`
	// NumberCategories: A DWORD ([MS-DTYP] section 2.2.9) variable that contains the number
	// of FAX_LOG_CATEGORY items that the method passes in the Buffer parameter.
	NumberCategories uint32 `idl:"name:NumberCategories" json:"number_categories"`
}

SetLoggingCategoriesRequest structure represents the FAX_SetLoggingCategories operation request

func (*SetLoggingCategoriesRequest) MarshalNDR

func (*SetLoggingCategoriesRequest) UnmarshalNDR

func (o *SetLoggingCategoriesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetLoggingCategoriesResponse

type SetLoggingCategoriesResponse struct {
	// Return: The FAX_SetLoggingCategories return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetLoggingCategoriesResponse structure represents the FAX_SetLoggingCategories operation response

func (*SetLoggingCategoriesResponse) MarshalNDR

func (*SetLoggingCategoriesResponse) UnmarshalNDR

func (o *SetLoggingCategoriesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetMessageRequest

type SetMessageRequest struct {
	// dwlMessageId: The unique ID number of the fax message.
	MessageID uint64 `idl:"name:dwlMessageId" json:"message_id"`
	// Folder: Identifies the location of the fax message. The value in this parameter MUST
	// come from the FAX_ENUM_MESSAGE_FOLDER (section 2.2.2) enumeration. It can be set
	// to the FAX_MESSAGE_FOLDER_INBOX or FAX_MESSAGE_FOLDER_SENTITEMS constant.
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
	// lpMessageProps: This MUST be a pointer to a FAX_MESSAGE_PROPS. Contains the property
	// settings for the fax message identified by dwlMessageId.
	MessageProperties *fax.MessageProperties `idl:"name:lpMessageProps;pointer:ref" json:"message_properties"`
}

SetMessageRequest structure represents the FAX_SetMessage operation request

func (*SetMessageRequest) MarshalNDR

func (o *SetMessageRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetMessageRequest) UnmarshalNDR

func (o *SetMessageRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetMessageResponse

type SetMessageResponse struct {
	// Return: The FAX_SetMessage return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetMessageResponse structure represents the FAX_SetMessage operation response

func (*SetMessageResponse) MarshalNDR

func (o *SetMessageResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetMessageResponse) UnmarshalNDR

func (o *SetMessageResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetOutboundGroupRequest

type SetOutboundGroupRequest struct {
	// pGroup: A pointer to an RPC_FAX_OUTBOUND_ROUTING_GROUPW buffer to set.
	Group *fax.OutboundRoutingGroupw `idl:"name:pGroup;pointer:ref" json:"group"`
}

SetOutboundGroupRequest structure represents the FAX_SetOutboundGroup operation request

func (*SetOutboundGroupRequest) MarshalNDR

func (o *SetOutboundGroupRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetOutboundGroupRequest) UnmarshalNDR

func (o *SetOutboundGroupRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetOutboundGroupResponse

type SetOutboundGroupResponse struct {
	// Return: The FAX_SetOutboundGroup return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetOutboundGroupResponse structure represents the FAX_SetOutboundGroup operation response

func (*SetOutboundGroupResponse) MarshalNDR

func (o *SetOutboundGroupResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetOutboundGroupResponse) UnmarshalNDR

func (o *SetOutboundGroupResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetOutboundRuleRequest

type SetOutboundRuleRequest struct {
	// pRule: A pointer to an RPC_FAX_OUTBOUND_ROUTING_RULEW (section 2.2.41) buffer to
	// set.
	Rule *fax.OutboundRoutingRuleW `idl:"name:pRule;pointer:ref" json:"rule"`
}

SetOutboundRuleRequest structure represents the FAX_SetOutboundRule operation request

func (*SetOutboundRuleRequest) MarshalNDR

func (o *SetOutboundRuleRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetOutboundRuleRequest) UnmarshalNDR

func (o *SetOutboundRuleRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetOutboundRuleResponse

type SetOutboundRuleResponse struct {
	// Return: The FAX_SetOutboundRule return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetOutboundRuleResponse structure represents the FAX_SetOutboundRule operation response

func (*SetOutboundRuleResponse) MarshalNDR

func (o *SetOutboundRuleResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetOutboundRuleResponse) UnmarshalNDR

func (o *SetOutboundRuleResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetOutboxConfigurationRequest

type SetOutboxConfigurationRequest struct {
	// pOutboxCfg: A pointer to an FAX_OUTBOX_CONFIG (section 2.2.16) object containing
	// configuration information.
	OutboxConfig *fax.OutboxConfig `idl:"name:pOutboxCfg;pointer:ref" json:"outbox_config"`
}

SetOutboxConfigurationRequest structure represents the FAX_SetOutboxConfiguration operation request

func (*SetOutboxConfigurationRequest) MarshalNDR

func (*SetOutboxConfigurationRequest) UnmarshalNDR

func (o *SetOutboxConfigurationRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetOutboxConfigurationResponse

type SetOutboxConfigurationResponse struct {
	// Return: The FAX_SetOutboxConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetOutboxConfigurationResponse structure represents the FAX_SetOutboxConfiguration operation response

func (*SetOutboxConfigurationResponse) MarshalNDR

func (*SetOutboxConfigurationResponse) UnmarshalNDR

type SetPortExRequest

type SetPortExRequest struct {
	// dwDeviceId: A unique identifier that distinguishes the device. The value of dwDeviceId
	// MUST be greater than zero.
	DeviceID uint32 `idl:"name:dwDeviceId" json:"device_id"`
	// pPortInfo: A pointer to a buffer of type FAX_PORT_INFO_EXW (section 2.2.45).
	PortInfo *fax.PortInfoExW `idl:"name:pPortInfo;pointer:ref" json:"port_info"`
}

SetPortExRequest structure represents the FAX_SetPortEx operation request

func (*SetPortExRequest) MarshalNDR

func (o *SetPortExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPortExRequest) UnmarshalNDR

func (o *SetPortExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPortExResponse

type SetPortExResponse struct {
	// Return: The FAX_SetPortEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetPortExResponse structure represents the FAX_SetPortEx operation response

func (*SetPortExResponse) MarshalNDR

func (o *SetPortExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPortExResponse) UnmarshalNDR

func (o *SetPortExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPortRequest

type SetPortRequest struct {
	// FaxPortHandle: An RPC context handle that references a specified fax port.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
	// PortInfo: A pointer to a FAX_PORT_INFO (section 2.2.7) structure. The structure (except
	// the State field, which has no purpose for this call and which the fax server SHOULD
	// ignore) contains data to modify the configuration of the specified fax port. The
	// client MUST set the SizeofStruct member of this structure to the correct size described
	// in section 2.2.7 before it calls the FAX_SetPort.
	PortInfo *fax.PortInfo `idl:"name:PortInfo" json:"port_info"`
}

SetPortRequest structure represents the FAX_SetPort operation request

func (*SetPortRequest) MarshalNDR

func (o *SetPortRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPortRequest) UnmarshalNDR

func (o *SetPortRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPortResponse

type SetPortResponse struct {
	// Return: The FAX_SetPort return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetPortResponse structure represents the FAX_SetPort operation response

func (*SetPortResponse) MarshalNDR

func (o *SetPortResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPortResponse) UnmarshalNDR

func (o *SetPortResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetQueueRequest

type SetQueueRequest struct {
	// dwQueueStates: A pointer to a DWORD ([MS-DTYP] section 2.2.9) value that contains
	// state information about the fax queue. If this value is zero, both the incoming and
	// outgoing queues are unblocked. Otherwise, this value is a combination of one or more
	// of the following values.
	//
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	|                                 |                                                                                |
	//	|           VALUE/CODE            |                                    MEANING                                     |
	//	|                                 |                                                                                |
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	| FAX_INCOMING_BLOCKED 0x00000001 | The fax service will not receive new incoming faxes.                           |
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	| FAX_OUTBOX_BLOCKED 0x00000002   | The fax service will reject submissions of new outgoing faxes to its queue.    |
	//	+---------------------------------+--------------------------------------------------------------------------------+
	//	| FAX_OUTBOX_PAUSED 0x00000004    | The fax service will not dequeue and execute outgoing fax jobs from its queue. |
	//	+---------------------------------+--------------------------------------------------------------------------------+
	QueueStates uint32 `idl:"name:dwQueueStates" json:"queue_states"`
}

SetQueueRequest structure represents the FAX_SetQueue operation request

func (*SetQueueRequest) MarshalNDR

func (o *SetQueueRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetQueueRequest) UnmarshalNDR

func (o *SetQueueRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetQueueResponse

type SetQueueResponse struct {
	// Return: The FAX_SetQueue return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetQueueResponse structure represents the FAX_SetQueue operation response

func (*SetQueueResponse) MarshalNDR

func (o *SetQueueResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetQueueResponse) UnmarshalNDR

func (o *SetQueueResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetReceiptsConfigurationRequest

type SetReceiptsConfigurationRequest struct {
	// pReceipts: A pointer to a FAX_RECEIPTS_CONFIGW (section 2.2.47) object.
	Receipts *fax.ReceiptsConfigW `idl:"name:pReceipts;pointer:ref" json:"receipts"`
}

SetReceiptsConfigurationRequest structure represents the FAX_SetReceiptsConfiguration operation request

func (*SetReceiptsConfigurationRequest) MarshalNDR

func (*SetReceiptsConfigurationRequest) UnmarshalNDR

type SetReceiptsConfigurationResponse

type SetReceiptsConfigurationResponse struct {
	// Return: The FAX_SetReceiptsConfiguration return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetReceiptsConfigurationResponse structure represents the FAX_SetReceiptsConfiguration operation response

func (*SetReceiptsConfigurationResponse) MarshalNDR

func (*SetReceiptsConfigurationResponse) UnmarshalNDR

type SetRecipientsLimitRequest

type SetRecipientsLimitRequest struct {
	// dwRecipientsLimit: A DWORD ([MS-DTYP] section 2.2.9) that specifies the maximum number
	// of recipients for the fax.
	RecipientsLimit uint32 `idl:"name:dwRecipientsLimit" json:"recipients_limit"`
}

SetRecipientsLimitRequest structure represents the FAX_SetRecipientsLimit operation request

func (*SetRecipientsLimitRequest) MarshalNDR

func (o *SetRecipientsLimitRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetRecipientsLimitRequest) UnmarshalNDR

func (o *SetRecipientsLimitRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetRecipientsLimitResponse

type SetRecipientsLimitResponse struct {
	// Return: The FAX_SetRecipientsLimit return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetRecipientsLimitResponse structure represents the FAX_SetRecipientsLimit operation response

func (*SetRecipientsLimitResponse) MarshalNDR

func (o *SetRecipientsLimitResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetRecipientsLimitResponse) UnmarshalNDR

func (o *SetRecipientsLimitResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetRoutingInfoRequest

type SetRoutingInfoRequest struct {
	// FaxPortHandle: An RPC context handle that references a specified fax port. This context
	// handle MUST be obtained using the FAX_OpenPort (section 3.1.4.1.65) method.
	FaxPort *fax.Port `idl:"name:FaxPortHandle" json:"fax_port"`
	// RoutingGuid: A curly-braced GUID string that uniquely identifies the fax routing
	// method to set the routing information for. Fax routing methods are defined by a fax
	// routing extension, and the method is identified by a GUID. For more information about
	// routing methods, see [MSDN-FRM].For more information about routing methods, see [MSDN-FRM].
	// The routing methods and the associated curly-braced GUID string values that can be
	// used for this parameter are discoverable by calling FAX_EnumRoutingMethods (section
	// 3.1.4.1.31). Included in this list are the Default Routing Methods described in section
	// 2.2.87.
	RoutingGUID string `idl:"name:RoutingGuid;string;pointer:unique" json:"routing_guid"`
	// RoutingInfoBuffer: A pointer to a buffer that contains the new fax routing information.
	// The format and contents of this buffer depend on the routing method identified by
	// the RoutingGuid.
	RoutingInfoBuffer []byte `idl:"name:RoutingInfoBuffer;size_is:(RoutingInfoBufferSize);pointer:unique" json:"routing_info_buffer"`
	// RoutingInfoBufferSize: The size, in bytes, of the RoutingInfoBuffer buffer. The maximum
	// size is the value FAX_MAX_RPC_BUFFER(section 2.2.82).
	RoutingInfoBufferSize uint32 `idl:"name:RoutingInfoBufferSize" json:"routing_info_buffer_size"`
}

SetRoutingInfoRequest structure represents the FAX_SetRoutingInfo operation request

func (*SetRoutingInfoRequest) MarshalNDR

func (o *SetRoutingInfoRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetRoutingInfoRequest) UnmarshalNDR

func (o *SetRoutingInfoRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetRoutingInfoResponse

type SetRoutingInfoResponse struct {
	// Return: The FAX_SetRoutingInfo return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetRoutingInfoResponse structure represents the FAX_SetRoutingInfo operation response

func (*SetRoutingInfoResponse) MarshalNDR

func (o *SetRoutingInfoResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetRoutingInfoResponse) UnmarshalNDR

func (o *SetRoutingInfoResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetSecurityEx2Request

type SetSecurityEx2Request struct {
	// SecurityInformation: Defines the desired entries, which are indicated as a bitwise
	// OR operation, in the security descriptor to return.
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// pSecurityDescriptor: A pointer to a SECURITY_DESCRIPTOR ([MS-DTYP] section 2.4.6)
	// structure.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(dwBufferSize);pointer:unique" json:"security_descriptor"`
	// dwBufferSize: A value that indicates the size, in bytes, of the pSecurityDescriptor
	// buffer. The maximum size is FAX_MAX_RPC_BUFFER (section 2.2.82).
	BufferSize uint32 `idl:"name:dwBufferSize" json:"buffer_size"`
}

SetSecurityEx2Request structure represents the FAX_SetSecurityEx2 operation request

func (*SetSecurityEx2Request) MarshalNDR

func (o *SetSecurityEx2Request) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetSecurityEx2Request) UnmarshalNDR

func (o *SetSecurityEx2Request) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetSecurityEx2Response

type SetSecurityEx2Response struct {
	// Return: The FAX_SetSecurityEx2 return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetSecurityEx2Response structure represents the FAX_SetSecurityEx2 operation response

func (*SetSecurityEx2Response) MarshalNDR

func (o *SetSecurityEx2Response) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetSecurityEx2Response) UnmarshalNDR

func (o *SetSecurityEx2Response) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetSecurityRequest

type SetSecurityRequest struct {
	// SecurityInformation: Identifies the components that are included in the security
	// descriptor. The value of this parameter is a bitwise OR combination of SECURITY_INFORMATION
	// ([MS-DTYP] section 2.4.7) constant values.
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// pSecurityDescriptor: A pointer to a SECURITY_DESCRIPTOR ([MS-DTYP] section 2.4.6)
	// structure to be set.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(dwBufferSize);pointer:unique" json:"security_descriptor"`
	// dwBufferSize: A variable to indicate the size, in bytes, of the pSecurityDescriptor
	// security descriptor buffer. The maximum size is FAX_MAX_RPC_BUFFER (section 2.2.82).
	BufferSize uint32 `idl:"name:dwBufferSize" json:"buffer_size"`
}

SetSecurityRequest structure represents the FAX_SetSecurity operation request

func (*SetSecurityRequest) MarshalNDR

func (o *SetSecurityRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetSecurityRequest) UnmarshalNDR

func (o *SetSecurityRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetSecurityResponse

type SetSecurityResponse struct {
	// Return: The FAX_SetSecurity return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetSecurityResponse structure represents the FAX_SetSecurity operation response

func (*SetSecurityResponse) MarshalNDR

func (o *SetSecurityResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetSecurityResponse) UnmarshalNDR

func (o *SetSecurityResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartCopyMessageFromServerRequest

type StartCopyMessageFromServerRequest struct {
	// dwlMessageId: A DWORDLONG ([MS-DTYP] section 2.2.13) value that indicates the message
	// identifier to copy to the client.
	MessageID uint64 `idl:"name:dwlMessageId" json:"message_id"`
	// Folder: This MUST be an enumeration value that indicates the folder from which to
	// copy the message. For more information, see FAX_ENUM_MESSAGE_FOLDER (section 2.2.2).
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
}

StartCopyMessageFromServerRequest structure represents the FAX_StartCopyMessageFromServer operation request

func (*StartCopyMessageFromServerRequest) MarshalNDR

func (*StartCopyMessageFromServerRequest) UnmarshalNDR

type StartCopyMessageFromServerResponse

type StartCopyMessageFromServerResponse struct {
	// lpHandle: The copy handle identifying this copy operation.
	Handle *fax.Copy `idl:"name:lpHandle;pointer:ref" json:"handle"`
	// Return: The FAX_StartCopyMessageFromServer return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

StartCopyMessageFromServerResponse structure represents the FAX_StartCopyMessageFromServer operation response

func (*StartCopyMessageFromServerResponse) MarshalNDR

func (*StartCopyMessageFromServerResponse) UnmarshalNDR

type StartCopyToServerRequest

type StartCopyToServerRequest struct {
	// lpcwstrFileExt: A null-terminated character string containing the extension of the
	// file to create on the server. The only file name extensions that are supported by
	// the server are ".tif" and ".cov".
	FileExt string `idl:"name:lpcwstrFileExt;string;pointer:ref" json:"file_ext"`
	// lpwstrServerFileName: Pointer to the buffer that receives the null-terminated character
	// string containing the name and specified extension of the file created on the server.
	// The client MUST fill the buffer with any null-terminated character string of sufficient
	// length to accommodate the character string that will be received. The server MUST
	// overwrite this buffer with the null-terminated character string containing the name
	// of the file on the server upon return. The server SHOULD NOT write more than 255
	// characters, including the terminating null character, to the returned character string.
	ServerFileName string `idl:"name:lpwstrServerFileName;string;pointer:ref" json:"server_file_name"`
}

StartCopyToServerRequest structure represents the FAX_StartCopyToServer operation request

func (*StartCopyToServerRequest) MarshalNDR

func (o *StartCopyToServerRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StartCopyToServerRequest) UnmarshalNDR

func (o *StartCopyToServerRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartCopyToServerResponse

type StartCopyToServerResponse struct {
	// lpwstrServerFileName: Pointer to the buffer that receives the null-terminated character
	// string containing the name and specified extension of the file created on the server.
	// The client MUST fill the buffer with any null-terminated character string of sufficient
	// length to accommodate the character string that will be received. The server MUST
	// overwrite this buffer with the null-terminated character string containing the name
	// of the file on the server upon return. The server SHOULD NOT write more than 255
	// characters, including the terminating null character, to the returned character string.
	ServerFileName string `idl:"name:lpwstrServerFileName;string;pointer:ref" json:"server_file_name"`
	// lpHandle: The copy handle identifying this copy operation.
	Handle *fax.Copy `idl:"name:lpHandle;pointer:ref" json:"handle"`
	// Return: The FAX_StartCopyToServer return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

StartCopyToServerResponse structure represents the FAX_StartCopyToServer operation response

func (*StartCopyToServerResponse) MarshalNDR

func (o *StartCopyToServerResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StartCopyToServerResponse) UnmarshalNDR

func (o *StartCopyToServerResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartMessagesEnumExRequest

type StartMessagesEnumExRequest struct {
	// fAllAccounts: A flag indicating whether the messages for all accounts are enumerated.
	// If this parameter is nonzero, the messages for all accounts are enumerated; otherwise,
	// the lpcwstrAccountName parameter indicates which account is enumerated.
	AllAccounts bool `idl:"name:fAllAccounts" json:"all_accounts"`
	// lpcwstrAccountName: A pointer to a constant null-terminated character string that
	// indicates which account to enumerate. If this value is set to NULL, the current account's
	// jobs are enumerated. Cross-account enumeration is currently not supported. The value
	// for this parameter can be obtained using the FAX_EnumAccounts (section 3.1.4.1.18)
	// method.
	AccountName string `idl:"name:lpcwstrAccountName;string;pointer:unique" json:"account_name"`
	// Folder: A FAX_ENUM_MESSAGE_FOLDER (section 2.2.2) enumeration that indicates the
	// type of archive where the message resides. The FAX_MESSAGE_FOLDER_QUEUE value is
	// invalid for this parameter.
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
	// level: A DWORD ([MS-DTYP] section 2.2.9) value that indicates the structure to return.
	// This value MUST be set to 1.
	Level uint32 `idl:"name:level" json:"level"`
}

StartMessagesEnumExRequest structure represents the FAX_StartMessagesEnumEx operation request

func (*StartMessagesEnumExRequest) MarshalNDR

func (o *StartMessagesEnumExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StartMessagesEnumExRequest) UnmarshalNDR

func (o *StartMessagesEnumExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartMessagesEnumExResponse

type StartMessagesEnumExResponse struct {
	// lpHandle: A pointer to an enumeration handle return value.
	Handle *fax.MessageEnum `idl:"name:lpHandle;pointer:ref" json:"handle"`
	// Return: The FAX_StartMessagesEnumEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

StartMessagesEnumExResponse structure represents the FAX_StartMessagesEnumEx operation response

func (*StartMessagesEnumExResponse) MarshalNDR

func (*StartMessagesEnumExResponse) UnmarshalNDR

func (o *StartMessagesEnumExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartMessagesEnumRequest

type StartMessagesEnumRequest struct {
	// Folder: This MUST be a FAX_ENUM_MESSAGE_FOLDER (section 2.2.2) enumeration that indicates
	// the type of the archive where the message resides. The FAX_MESSAGE_FOLDER_QUEUE value
	// is invalid for this parameter.
	Folder fax.MessageFolder `idl:"name:Folder" json:"folder"`
}

StartMessagesEnumRequest structure represents the FAX_StartMessagesEnum operation request

func (*StartMessagesEnumRequest) MarshalNDR

func (o *StartMessagesEnumRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StartMessagesEnumRequest) UnmarshalNDR

func (o *StartMessagesEnumRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartMessagesEnumResponse

type StartMessagesEnumResponse struct {
	// lpHandle: A pointer to an enumeration handle return value.
	Handle *fax.MessageEnum `idl:"name:lpHandle;pointer:ref" json:"handle"`
	// Return: The FAX_StartMessagesEnum return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

StartMessagesEnumResponse structure represents the FAX_StartMessagesEnum operation response

func (*StartMessagesEnumResponse) MarshalNDR

func (o *StartMessagesEnumResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StartMessagesEnumResponse) UnmarshalNDR

func (o *StartMessagesEnumResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartServerNotificationEx2Request

type StartServerNotificationEx2Request struct {
	// lpcwstrAccountName: A pointer to a constant null-terminated character string that
	// indicates which account to enumerate. If this value is NULL, the current account's
	// jobs are enumerated. Cross-account enumeration currently is not supported.
	AccountName string `idl:"name:lpcwstrAccountName;string;pointer:unique" json:"account_name"`
	// lpcwstrMachineName: A pointer to a null-terminated string that contains the name
	// of the fax client machine.
	MachineName string `idl:"name:lpcwstrMachineName;string;pointer:ref" json:"machine_name"`
	// lpcwstrEndPoint: A pointer to a null-terminated string that contains the client machine
	// RPC server endpoint string.
	Endpoint string `idl:"name:lpcwstrEndPoint;string;pointer:ref" json:"endpoint"`
	// Context: A ULONG64 ([MS-DTYP] section 2.2.54) value that can be passed to FAX_OpenConnection
	// (section 3.2.4.5) as a notification context.
	Context uint64 `idl:"name:Context" json:"context"`
	// lpcwstrProtseqString: A pointer to a null-terminated string that contains the fax
	// client RPC server's protocol sequence string. The protocol that is used for sending
	// the notifications is always TCP/IP.<176>
	ProtocolSequenceString string `idl:"name:lpcwstrProtseqString;string;pointer:ref" json:"protocol_sequence_string"`
	// dwEventTypes: A DWORD ([MS-DTYP] section 2.2.9) value that indicates which events
	// the client needs to receive. For more information, see FAX_ENUM_EVENT_TYPE (section
	// 2.2.63). During registration the client is allowed to register for multiple events,
	// so that if any of them occur the client will get a notification. Hence bitwise ORing
	// of events is allowed in this case. This value cannot be FAX_EVENT_TYPE_LEGACY because
	// the method only supports extended events.
	EventTypes uint32 `idl:"name:dwEventTypes" json:"event_types"`
	// level: A DWORD value that indicates the structure to return. The value MUST be set
	// to 1.
	Level uint32 `idl:"name:level" json:"level"`
}

StartServerNotificationEx2Request structure represents the FAX_StartServerNotificationEx2 operation request

func (*StartServerNotificationEx2Request) MarshalNDR

func (*StartServerNotificationEx2Request) UnmarshalNDR

type StartServerNotificationEx2Response

type StartServerNotificationEx2Response struct {
	// lpHandle: A pointer to an RPC_FAX_EVENT_EX_HANDLE (Fax Data Types (section 2.2.74))
	// that returns a subscription context handle. This handle can be used in the FAX_EndServerNotification
	// (section 3.1.4.1.17) method.
	Handle *fax.EventEx `idl:"name:lpHandle;pointer:ref" json:"handle"`
	// Return: The FAX_StartServerNotificationEx2 return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

StartServerNotificationEx2Response structure represents the FAX_StartServerNotificationEx2 operation response

func (*StartServerNotificationEx2Response) MarshalNDR

func (*StartServerNotificationEx2Response) UnmarshalNDR

type StartServerNotificationExRequest

type StartServerNotificationExRequest struct {
	// lpcwstrMachineName: A pointer to a string containing the name of the fax client machine.
	// The machine name MUST be NULL for a local machine and an FQDN for a remote machine.
	MachineName string `idl:"name:lpcwstrMachineName;string;pointer:ref" json:"machine_name"`
	// lpcwstrEndPoint: A pointer to a string containing the client machine RPC server endpoint
	// string. The endpoint MUST be a TCP port between 1024 and 65534 (in increments of
	// 10).
	Endpoint string `idl:"name:lpcwstrEndPoint;string;pointer:ref" json:"endpoint"`
	// Context: A ULONG64 ([MS-DTYP] section 2.2.54) value that can be passed to FAX_OpenConnection
	// (section 3.2.4.5) as a notification context.
	Context uint64 `idl:"name:Context" json:"context"`
	// lpcwstrProtSeq: A pointer to a string containing the fax client RPC server's protocol
	// sequence string. The protocol used for sending the notifications is always TCP/IP.
	// The protocol sequence string MUST be ncalrpc for local and respectively ncan_ip_tcp
	// for remote. <174>
	ProtocolSeq string `idl:"name:lpcwstrProtSeq;string;pointer:ref" json:"protocol_seq"`
	// bEventEx: A Boolean value that indicates which notification method to use for notifications.
	// If set to TRUE, the registration is for extended events (FAX_EVENT_EX (section 2.2.67)).
	// If FALSE, the registration is for legacy events (FAX_EVENT (section 2.2.66)).
	EventEx bool `idl:"name:bEventEx" json:"event_ex"`
	// dwEventTypes: A DWORD ([MS-DTYP] section 2.2.9) value containing bitwise OR combination
	// of FAX_ENUM_EVENT_TYPE (section 2.2.63) event type flags, events the client needs
	// to receive. During registration the client is allowed to register for multiple events,
	// so that if any of them occur the client will get a notification. Hence bitwise ORing
	// of events is allowed in this case. For more information, see FAX_ENUM_EVENT_TYPE.
	EventTypes uint32 `idl:"name:dwEventTypes" json:"event_types"`
}

StartServerNotificationExRequest structure represents the FAX_StartServerNotificationEx operation request

func (*StartServerNotificationExRequest) MarshalNDR

func (*StartServerNotificationExRequest) UnmarshalNDR

type StartServerNotificationExResponse

type StartServerNotificationExResponse struct {
	// lpHandle: The returned subscription context handle. This handle can be used in the
	// FAX_EndServerNotification (section 3.1.4.1.17) method.
	Handle *fax.EventEx `idl:"name:lpHandle;pointer:ref" json:"handle"`
	// Return: The FAX_StartServerNotificationEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

StartServerNotificationExResponse structure represents the FAX_StartServerNotificationEx operation response

func (*StartServerNotificationExResponse) MarshalNDR

func (*StartServerNotificationExResponse) UnmarshalNDR

type StartServerNotificationRequest

type StartServerNotificationRequest struct {
	// lpcwstrMachineName: A pointer to a string that contains the name of the fax client
	// machine. The machine name MUST be NULL for a local machine and a fully qualified
	// domain name (FQDN) for a remote machine.
	MachineName string `idl:"name:lpcwstrMachineName;string;pointer:ref" json:"machine_name"`
	// lpcwstrEndPoint: A pointer to a string that contains the client machine RPC server
	// endpoint string. The endpoint MUST be a TCP port between 1024 and 65534 (in increments
	// of 10).
	Endpoint string `idl:"name:lpcwstrEndPoint;string;pointer:ref" json:"endpoint"`
	// Context: A ULONG64 ([MS-DTYP] section 2.2.54) value that can be passed to FAX_OpenConnection
	// (section 3.2.4.5) as a notification context.
	Context uint64 `idl:"name:Context" json:"context"`
	// lpcwstrProtseqString: A pointer to a string that contains the fax client RPC server's
	// protocol sequence string. The protocol sequence string MUST be ncalrpc for local
	// and ncan_ip_tcp for remote.
	ProtocolSequenceString string `idl:"name:lpcwstrProtseqString;string;pointer:ref" json:"protocol_sequence_string"`
	// bEventEx: A Boolean value that indicates which notification method to use for notifications.
	// This parameter is always set to FALSE.
	EventEx bool `idl:"name:bEventEx" json:"event_ex"`
	// dwEventTypes: A DWORD ([MS-DTYP] section 2.2.9) value that indicates which events
	// the client needs to receive. This parameter is always set to FAX_EVENT_TYPE_LEGACY.
	// For more information, see FAX_ENUM_EVENT_TYPE (section 2.2.63).
	EventTypes uint32 `idl:"name:dwEventTypes" json:"event_types"`
}

StartServerNotificationRequest structure represents the FAX_StartServerNotification operation request

func (*StartServerNotificationRequest) MarshalNDR

func (*StartServerNotificationRequest) UnmarshalNDR

type StartServerNotificationResponse

type StartServerNotificationResponse struct {
	// lpHandle: Returned subscription context handle. This handle can be used in the FAX_EndServerNotification
	// (section 3.1.4.1.17) method.
	Handle *fax.Event `idl:"name:lpHandle;pointer:ref" json:"handle"`
	// Return: The FAX_StartServerNotification return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

StartServerNotificationResponse structure represents the FAX_StartServerNotification operation response

func (*StartServerNotificationResponse) MarshalNDR

func (*StartServerNotificationResponse) UnmarshalNDR

type UnregisterRoutingExtensionRequest

type UnregisterRoutingExtensionRequest struct {
	// lpcwstrExtensionName: Specifies the name of the fax routing extension returned by
	// the FAX_EnumRoutingExtensions (section 3.1.4.1.30) call as the lpcwstrExtensionName
	// field of the FAX_ROUTING_EXTENSION_INFO (section 2.2.49) structure representing the
	// respective fax routing extension.
	ExtensionName string `idl:"name:lpcwstrExtensionName;string;pointer:ref" json:"extension_name"`
}

UnregisterRoutingExtensionRequest structure represents the FAX_UnregisterRoutingExtension operation request

func (*UnregisterRoutingExtensionRequest) MarshalNDR

func (*UnregisterRoutingExtensionRequest) UnmarshalNDR

type UnregisterRoutingExtensionResponse

type UnregisterRoutingExtensionResponse struct {
	// Return: The FAX_UnregisterRoutingExtension return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

UnregisterRoutingExtensionResponse structure represents the FAX_UnregisterRoutingExtension operation response

func (*UnregisterRoutingExtensionResponse) MarshalNDR

func (*UnregisterRoutingExtensionResponse) UnmarshalNDR

type UnregisterServiceProviderExRequest

type UnregisterServiceProviderExRequest struct {
	// lpcwstrGUID: A pointer to a constant null-terminated character string that contains
	// a valid string representation of the GUID of the fax service provider (FSP). This
	// value can be obtained with the FAX_EnumerateProviders (section 3.1.4.1.19) method.
	GUID string `idl:"name:lpcwstrGUID;string;pointer:ref" json:"guid"`
}

UnregisterServiceProviderExRequest structure represents the FAX_UnregisterServiceProviderEx operation request

func (*UnregisterServiceProviderExRequest) MarshalNDR

func (*UnregisterServiceProviderExRequest) UnmarshalNDR

type UnregisterServiceProviderExResponse

type UnregisterServiceProviderExResponse struct {
	// Return: The FAX_UnregisterServiceProviderEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

UnregisterServiceProviderExResponse structure represents the FAX_UnregisterServiceProviderEx operation response

func (*UnregisterServiceProviderExResponse) MarshalNDR

func (*UnregisterServiceProviderExResponse) UnmarshalNDR

type WriteFileRequest

type WriteFileRequest struct {
	// hCopy: An RPC context handle that is returned by FAX_StartCopyToServer.
	HCopy *fax.Copy `idl:"name:hCopy;pointer:ref" json:"h_copy"`
	// lpbData: A pointer to the buffer from which to copy the file.
	Data []byte `idl:"name:lpbData;size_is:(dwDataSize);pointer:ref" json:"data"`
	// dwDataSize: A DWORD ([MS-DTYP] section 2.2.9) value indicating the size, in bytes,
	// of the data buffer pointed by the lpbData argument. This size MUST be between 1 and
	// RPC_COPY_BUFFER_SIZE (16384) bytes.
	DataSize uint32 `idl:"name:dwDataSize" json:"data_size"`
}

WriteFileRequest structure represents the FAX_WriteFile operation request

func (*WriteFileRequest) MarshalNDR

func (o *WriteFileRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*WriteFileRequest) UnmarshalNDR

func (o *WriteFileRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type WriteFileResponse

type WriteFileResponse struct {
	// Return: The FAX_WriteFile return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

WriteFileResponse structure represents the FAX_WriteFile operation response

func (*WriteFileResponse) MarshalNDR

func (o *WriteFileResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*WriteFileResponse) UnmarshalNDR

func (o *WriteFileResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL