3.1.4.2.32 FaxObs_GetSecurityDescriptor (Opnum 31)

The client calls FaxObs_GetSecurityDescriptor (Opnum 31) method to retrieve the fax security descriptor of the server. The client can set the fax security descriptor of the server with the FaxObs_SetSecurityDescriptor (section 3.1.4.2.33) method.

On success, the server MUST allocate memory for the return data buffer and return a FAX_SECURITY_DESCRIPTOR (section 2.2.90) structure.

The client SHOULD free the buffer.

 error_status_t FaxObs_GetSecurityDescriptor(
   [in] handle_t hBinding,
   [in] DWORD Id,
   [in, out, unique, size_is(,*BufferSize)] 
     LPBYTE* FaxSecurityDescriptor,
   [in, out] LPDWORD BufferSize
 );

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

Id: A DWORD ([MS-DTYP] section 2.2.9) containing the identifier of the security descriptor to request. The client MUST set this parameter to 0.

FaxSecurityDescriptor: A pointer to the address of the returned buffer containing a FAX_SECURITY_DESCRIPTOR.

BufferSize: Pointer to a DWORD variable containing the number of bytes returned in the FaxSecurityDescriptor 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 server cannot allocate sufficient memory to hold the FAX_SECURITY_DESCRIPTOR to be returned to the client.

ERROR_INVALID_CATEGORY

0x00000075

The server SHOULD return this error code if the value of the Id parameter is greater than 0.<214>

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