3.1.4.1.52 FAX_GetPortEx (Opnum 46)

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).

The server MUST validate that the client's fax user account has the access to obtain port status information. The server MUST validate that the dwDeviceId parameter is for a valid device. The Buffer parameter MUST NOT be NULL.

On success, the server MUST return information about the specified fax port in Buffer.

The client SHOULD free the returned buffer.

 error_status_t FAX_GetPortEx(
   [in] handle_t hFaxHandle,
   [in] DWORD dwDeviceId,
   [out, size_is(, *BufferSize)] LPBYTE* Buffer,
   [out, ref] LPDWORD BufferSize
 );

hFaxHandle: 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.

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.

Buffer: A pointer to a buffer to hold a _FAX_PORT_INFO_EXW (section 2.2.46) structure.

BufferSize: A pointer to a DWORD 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 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].