FAX_GetSecurity (Opnum 23)

The FAX_GetSecurity (Opnum 23) method is called by the client to retrieve information about the fax security descriptor from the fax server.

The server MUST validate that the client's fax user account has access to retrieve security information. On success, the server MUST return the fax security descriptor from the fax server in pSecurityDescriptor.

Protocol version FAX_API_VERSION_3 (0x00030000) fax servers SHOULD fail this call by returning ERROR_NOT_SUPPORTED (0x00000032). The fax client SHOULD NOT call this method if the protocol version reported by the server is FAX_API_VERSION_3 (0x00030000). For more information, see FAX_ConnectFaxServer (section The fax client SHOULD call the FAX_GetSecurityEx2 (section method instead.

The client SHOULD free pSecurityDescriptor.

 error_status_t FAX_GetSecurity(
   [in] handle_t hBinding,
   [out, size_is(, *lpdwBufferSize)] 
     LPBYTE* pSecurityDescriptor,
   [out, ref] LPDWORD lpdwBufferSize

hBinding: 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 or FAX_ConnectionRefCount (section method call used to connect to the fax server.

pSecurityDescriptor: A pointer to a SECURITY_DESCRIPTOR ([MS-DTYP] section 2.4.6) structure.

lpdwBufferSize: A variable to return the size, in bytes, of the security descriptor 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




Access is denied. The client's fax user account does not have a permission level of at least READ_CONTROL.



Not enough storage is available to process this command.



The parameter is incorrect. This is returned when pSecurityDescriptor is NULL.



The security descriptor structure is invalid.

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