3.1.4.1.37 FAX_GetCountryList (Opnum 30)

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.

In response, the server MUST validate that the client's fax user account has any access to the fax server. It MUST then allocate memory for the country/region list array to be passed out and fill it with data. To indicate success, the server MUST return the buffer that contains the country/region list, along with the buffer size.

The client SHOULD free the buffer.

 error_status_t FAX_GetCountryList(
   [in] handle_t FaxHandle,
   [out, size_is(, *BufferSize)] LPBYTE* Buffer,
   [out, ref] LPDWORD BufferSize
 );

FaxHandle: The RPC binding handle for this call. The client SHOULD reuse the RPC binding handle used as an input hBinding argument for the FAX_ConnectFaxServer (section 3.1.4.1.10) or FAX_ConnectionRefCount (section 3.1.4.1.11) method call used to connect to the fax server.

Buffer: A pointer to a buffer of type FAX_TAPI_LINECOUNTRY_LISTW (section 2.2.51) in which to place the country/region information.

BufferSize: A pointer to a DWORD ([MS-DTYP] section 2.2.9) in which to return the size, in bytes, of 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 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].