3.1.4.2.24 FaxObs_GetConfiguration (Opnum 22)

The FaxObs_GetConfiguration (Opnum 22) method is called by the client to retrieve information about the configuration of the fax server.

In response, the server MUST validate that the client's fax user account has access to query configuration. The server MUST then allocate memory for the configuration information to be returned to the client and fill the buffer with data.

To indicate success, the server MUST return the buffer that contains the configuration information, along with the buffer size.

The client SHOULD free the buffer.

 error_status_t FaxObs_GetConfiguration(
   [in] handle_t hBinding,
   [in, out, unique, size_is(,*BufferSize)] 
     LPBYTE* Buffer,
   [in, out] LPDWORD BufferSize
 );

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.

Buffer: A pointer to the address of the returned buffer containing a _FAX_CONFIGURATIONW (section 2.2.29) structure. The structure contains the current configuration settings for the fax server.

BufferSize: A variable 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 the FAX_CONFIG_QUERY access rights.

ERROR_NOT_ENOUGH_MEMORY

0x00000008

The fax server cannot allocate sufficient memory to hold the _FAX_CONFIGURATIONW to be returned to the client.

ERROR_INVALID_PARAMETER

0x00000057

The parameter is incorrect. This error code is returned if the Buffer or BufferSize parameters are set to NULL pointer values.

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