3.1.4.2.35 FaxObs_AccessCheck (Opnum 34)

The FaxObs_AccessCheck (Opnum 34) method is called by the client to check whether the currently logged-on client user account has access permissions to execute specific fax operations on the fax server.

In response, the server MUST validate access of the fax clients currently logged-on user account against the requested access.

 error_status_t FaxObs_AccessCheck(
   [in] handle_t hBinding,
   [in] DWORD AccessMask,
   [out] LPDWORD fAccess
 );

hBinding: The RPC binding handle for this call. The client SHOULD reuse the RPC binding handle used as an input hBinding argument for the FaxObs_ConnectionRefCount (section 3.1.4.2.2) method call used to connect to the fax server.

AccessMask: A DWORD ([MS-DTYP] section 2.2.9) containing a set of bit flags that define the fax access permissions to check for the fax client user account. This parameter MUST be a bitwise OR combination of generic FaxObs access rights and specific FaxObs access rights that are described in the following tables.

Generic FaxObs Access Rights

Description

FAX_WRITE

0x00020001

Includes the read-only rights that are granted by the following specific FaxObs access rights in combination with the standard access rights STANDARD_RIGHTS_WRITE:

§ FAX_JOB_SUBMIT

FAX_READ

0x00020016

Includes the read-only rights that are granted by the following specific FaxObs access rights in combination with the standard access rights STANDARD_RIGHTS_READ:

§ FAX_JOB_QUERY

§ FAX_CONFIG_QUERY

§ FAX_PORT_QUERY

FAX_ALL_ACCESS

0x001F007F

Includes the read-only rights that are granted by the following specific FaxObs access rights in combination with the standard access rights STANDARD_RIGHTS_ALL:

§ FAX_JOB_SUBMIT

§ FAX_JOB_QUERY

§ FAX_CONFIG_QUERY

§ FAX_CONFIG_SET

§ FAX_PORT_QUERY

§ FAX_PORT_SET

§ FAX_JOB_MANAGE

The generic FaxObs access rights are bitwise OR combination of specific FaxObs access rights and standard access rights. For more information about the standard access rights, see [MSDN-SAR].

Specific FaxObs access rights

Description

FAX_JOB_SUBMIT

0x00000001

The user can submit documents to be faxed.

Example method: FaxObs_SendDocument (section 3.1.4.2.7).

FAX_JOB_QUERY

0x00000002

The user can query information about submitted fax jobs.

Example method: FaxObs_EnumJobs (section 3.1.4.2.9).

FAX_CONFIG_QUERY

0x00000004

The user can query the fax server configuration.

Example method: FaxObs_GetConfiguration (section 3.1.4.2.24).

FAX_CONFIG_SET

0x00000008

The user can change the fax server configuration.

Example method: FaxObs_SetConfiguration (section 3.1.4.2.25).

FAX_PORT_QUERY

0x00000010

The user can query information about the fax ports (devices) installed on the fax server.

Example method: FaxObs_EnumPorts (section 3.1.4.2.15).

FAX_PORT_SET

0x00000020

The user can change the configuration of the fax ports (devices) installed on the fax server.

Example method: FaxObs_SetPort (section 3.1.4.2.17).

FAX_JOB_MANAGE

0x00000040

The user can pause, resume, and cancel submitted fax jobs.

Example method: FaxObs_SetJob (section 3.1.4.2.11).

fAccess: A pointer to a BOOL variable to receive on successful return the access check return value. A TRUE value indicates that access is allowed. A FALSE value indicates that access is denied.

Return Values: This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise, it MUST return one of the following error codes, one of the fax-specific errors that are defined 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. This error code is returned if any of the following conditions are met:

§ The hBinding parameter is set to a NULL value. <216>

§ The fAccess parameter is set to a NULL pointer value. <217>

Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying RPC protocol, [MS-RPCE].