- @param[in] This The EFI_SMM_COMMUNICATION_PROTOCOL instance.\r
- @param[in, out] CommBuffer A pointer to the buffer to convey into SMRAM.\r
- @param[in, out] CommSize The size of the data buffer being passed in.On exit, the size of data\r
- being returned. Zero if the handler does not wish to reply with any data.\r
+ @param[in] This The EFI_SMM_COMMUNICATION_PROTOCOL instance.\r
+ @param[in, out] CommBuffer A pointer to the buffer to convey into SMRAM.\r
+ @param[in, out] CommSize The size of the data buffer being passed in. On exit, the size of data\r
+ being returned. Zero if the handler does not wish to reply with any data.\r
+ This parameter is optional and may be NULL.\r
+\r
+ @retval EFI_SUCCESS The message was successfully posted.\r
+ @retval EFI_INVALID_PARAMETER The CommBuffer was NULL.\r
+ @retval EFI_BAD_BUFFER_SIZE The buffer is too large for the MM implementation.\r
+ If this error is returned, the MessageLength field\r
+ in the CommBuffer header or the integer pointed by\r
+ CommSize, are updated to reflect the maximum payload\r
+ size the implementation can accommodate.\r
+ @retval EFI_ACCESS_DENIED The CommunicateBuffer parameter or CommSize parameter,\r
+ if not omitted, are in address range that cannot be\r
+ accessed by the MM environment.\r