fax

package
v1.2.4 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2025 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

	// Conn returns the client connection (unsafe)
	Conn() dcerpc.Conn
}

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".
	CoverPageInfo *fax.CoverPageInfoExW `idl:"name:lpcCoverPageInfo" json:"cover_page_info"`
	// 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.
	SenderProfile []byte `idl:"name:lpcSenderProfile" json:"sender_profile"`
	// 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.
	RecipientList []byte `idl:"name:lpcRecipientList;size_is:(, dwNumRecipients)" json:"recipient_list"`
	// 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 {
	// XXX: dwNumRecipients is an implicit input depedency for output parameters
	RecipientsLength uint32 `idl:"name:dwNumRecipients" json:"recipients_length"`

	// 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 UnimplementedFaxServer added in v1.1.5

type UnimplementedFaxServer struct {
}

Unimplemented fax

func (UnimplementedFaxServer) Abort added in v1.1.5

func (UnimplementedFaxServer) AccessCheck added in v1.1.5

func (UnimplementedFaxServer) AccessCheckEx2 added in v1.1.5

func (UnimplementedFaxServer) AddOutboundGroup added in v1.1.5

func (UnimplementedFaxServer) AddOutboundRule added in v1.1.5

func (UnimplementedFaxServer) CheckServerProtocolSeq added in v1.1.5

func (UnimplementedFaxServer) CheckValidFaxFolder added in v1.1.5

func (UnimplementedFaxServer) ClosePort added in v1.1.5

func (UnimplementedFaxServer) ConnectFaxServer added in v1.1.5

func (UnimplementedFaxServer) ConnectionReferenceCount added in v1.1.5

func (UnimplementedFaxServer) CreateAccount added in v1.1.5

func (UnimplementedFaxServer) DeleteAccount added in v1.1.5

func (UnimplementedFaxServer) EnableRoutingMethod added in v1.1.5

func (UnimplementedFaxServer) EndCopy added in v1.1.5

func (UnimplementedFaxServer) EndMessagesEnum added in v1.1.5

func (UnimplementedFaxServer) EndServerNotification added in v1.1.5

func (UnimplementedFaxServer) EnumAccounts added in v1.1.5

func (UnimplementedFaxServer) EnumGlobalRoutingInfo added in v1.1.5

func (UnimplementedFaxServer) EnumJobs added in v1.1.5

func (UnimplementedFaxServer) EnumJobsEx added in v1.1.5

func (UnimplementedFaxServer) EnumJobsEx2 added in v1.1.5

func (UnimplementedFaxServer) EnumMessages added in v1.1.5

func (UnimplementedFaxServer) EnumMessagesEx added in v1.1.5

func (UnimplementedFaxServer) EnumOutboundGroups added in v1.1.5

func (UnimplementedFaxServer) EnumOutboundRules added in v1.1.5

func (UnimplementedFaxServer) EnumPorts added in v1.1.5

func (UnimplementedFaxServer) EnumPortsEx added in v1.1.5

func (UnimplementedFaxServer) EnumRoutingExtensions added in v1.1.5

func (UnimplementedFaxServer) EnumRoutingMethods added in v1.1.5

func (UnimplementedFaxServer) EnumerateProviders added in v1.1.5

func (UnimplementedFaxServer) GetAccountInfo added in v1.1.5

func (UnimplementedFaxServer) GetActivityLoggingConfiguration added in v1.1.5

func (UnimplementedFaxServer) GetArchiveConfiguration added in v1.1.5

func (UnimplementedFaxServer) GetConfigOption added in v1.1.5

func (UnimplementedFaxServer) GetConfiguration added in v1.1.5

func (UnimplementedFaxServer) GetCountryList added in v1.1.5

func (UnimplementedFaxServer) GetDeviceStatus added in v1.1.5

func (UnimplementedFaxServer) GetExtensionData added in v1.1.5

func (UnimplementedFaxServer) GetGeneralConfiguration added in v1.1.5

func (UnimplementedFaxServer) GetJob added in v1.1.5

func (UnimplementedFaxServer) GetJobEx added in v1.1.5

func (UnimplementedFaxServer) GetJobEx2 added in v1.1.5

func (UnimplementedFaxServer) GetLoggingCategories added in v1.1.5

func (UnimplementedFaxServer) GetMessage added in v1.1.5

func (UnimplementedFaxServer) GetMessageEx added in v1.1.5

func (UnimplementedFaxServer) GetOutboxConfiguration added in v1.1.5

func (UnimplementedFaxServer) GetPageData added in v1.1.5

func (UnimplementedFaxServer) GetPersonalCoverPagesOption added in v1.1.5

func (UnimplementedFaxServer) GetPersonalProfileInfo added in v1.1.5

func (UnimplementedFaxServer) GetPort added in v1.1.5

func (UnimplementedFaxServer) GetPortEx added in v1.1.5

func (UnimplementedFaxServer) GetQueueStates added in v1.1.5

func (UnimplementedFaxServer) GetReceiptsConfiguration added in v1.1.5

func (UnimplementedFaxServer) GetReceiptsOptions added in v1.1.5

func (UnimplementedFaxServer) GetRecipientsLimit added in v1.1.5

func (UnimplementedFaxServer) GetRoutingInfo added in v1.1.5

func (UnimplementedFaxServer) GetSecurity added in v1.1.5

func (UnimplementedFaxServer) GetSecurityEx added in v1.1.5

func (UnimplementedFaxServer) GetSecurityEx2 added in v1.1.5

func (UnimplementedFaxServer) GetServerActivity added in v1.1.5

func (UnimplementedFaxServer) GetServerSKU added in v1.1.5

func (UnimplementedFaxServer) GetServicePrinters added in v1.1.5

func (UnimplementedFaxServer) GetVersion added in v1.1.5

func (UnimplementedFaxServer) OpenPort added in v1.1.5

func (UnimplementedFaxServer) ReadFile added in v1.1.5

func (UnimplementedFaxServer) ReassignMessage added in v1.1.5

func (UnimplementedFaxServer) RefreshArchive added in v1.1.5

func (UnimplementedFaxServer) RegisterServiceProviderEx added in v1.1.5

func (UnimplementedFaxServer) RemoveMessage added in v1.1.5

func (UnimplementedFaxServer) RemoveOutboundGroup added in v1.1.5

func (UnimplementedFaxServer) RemoveOutboundRule added in v1.1.5

func (UnimplementedFaxServer) SendDocumentEx added in v1.1.5

func (UnimplementedFaxServer) SetActivityLoggingConfiguration added in v1.1.5

func (UnimplementedFaxServer) SetArchiveConfiguration added in v1.1.5

func (UnimplementedFaxServer) SetConfigWizardUsed added in v1.1.5

func (UnimplementedFaxServer) SetConfiguration added in v1.1.5

func (UnimplementedFaxServer) SetDeviceOrderInGroup added in v1.1.5

func (UnimplementedFaxServer) SetExtensionData added in v1.1.5

func (UnimplementedFaxServer) SetGeneralConfiguration added in v1.1.5

func (UnimplementedFaxServer) SetGlobalRoutingInfo added in v1.1.5

func (UnimplementedFaxServer) SetJob added in v1.1.5

func (UnimplementedFaxServer) SetLoggingCategories added in v1.1.5

func (UnimplementedFaxServer) SetMessage added in v1.1.5

func (UnimplementedFaxServer) SetOutboundGroup added in v1.1.5

func (UnimplementedFaxServer) SetOutboundRule added in v1.1.5

func (UnimplementedFaxServer) SetOutboxConfiguration added in v1.1.5

func (UnimplementedFaxServer) SetPort added in v1.1.5

func (UnimplementedFaxServer) SetPortEx added in v1.1.5

func (UnimplementedFaxServer) SetQueue added in v1.1.5

func (UnimplementedFaxServer) SetReceiptsConfiguration added in v1.1.5

func (UnimplementedFaxServer) SetRecipientsLimit added in v1.1.5

func (UnimplementedFaxServer) SetRoutingInfo added in v1.1.5

func (UnimplementedFaxServer) SetSecurity added in v1.1.5

func (UnimplementedFaxServer) SetSecurityEx2 added in v1.1.5

func (UnimplementedFaxServer) StartCopyMessageFromServer added in v1.1.5

func (UnimplementedFaxServer) StartCopyToServer added in v1.1.5

func (UnimplementedFaxServer) StartMessagesEnum added in v1.1.5

func (UnimplementedFaxServer) StartMessagesEnumEx added in v1.1.5

func (UnimplementedFaxServer) StartServerNotification added in v1.1.5

func (UnimplementedFaxServer) StartServerNotificationEx added in v1.1.5

func (UnimplementedFaxServer) StartServerNotificationEx2 added in v1.1.5

func (UnimplementedFaxServer) UnregisterRoutingExtension added in v1.1.5

func (UnimplementedFaxServer) UnregisterServiceProviderEx added in v1.1.5

func (UnimplementedFaxServer) WriteFile added in v1.1.5

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