3.1.4.2.29 FaxObs_SetTapiLocations (Opnum 27)

The FaxObs_SetTapiLocations (Opnum 27) method is called by the client to set the current and other available TAPI locations for the server. The TAPI locations can be retrieved by the client with the FaxObs_GetTapiLocations (section 3.1.4.2.28) method.

A TAPI location is described by a FAX_TAPI_LOCATIONS (section 2.2.88) data structure, which includes information such as a friendly name, country code, and area code for the respective location. For more information about TAPI, see [MSDN-TAPI2.2].

On success, the server MUST apply the new locations configuration that was requested by the client.

 error_status_t FaxObs_SetTapiLocations(
   [in] handle_t hBinding,
   [in, unique, size_is(BufferSize)] 
     LPBYTE Buffer,
   [in] DWORD BufferSize
 );

hBinding: A handle that is provided by the client RPC layer when the RPC call is made.

Buffer: A pointer to a FAX_TAPI_LOCATION_INFO (section 2.2.89) structure containing a list of FAX_TAPI_LOCATIONS, each structure describing one location. The current location is identified in this list of by the FAX_TAPI_LOCATIONS with the location identifier value (contained by the PermanentLocationID member) described by the CurrentLocationID member of the FAX_TAPI_LOCATION_INFO.

BufferSize: Pointer to a DWORD ([MS-DTYP] section 2.2.9) variable that contains the size, in bytes, of the data contained in the 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_CONFIG_SET access rights.

ERROR_INVALID_PARAMETER

0x00000057

The parameter is incorrect. This error is returned if the Buffer parameter is set to a NULL pointer value.

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