@param[in] ImageHandle The handle of the registered driver.\r
@param[in,out] CommunicationBuffer Pointer to the buffer to convey into SMRAM.\r
@param[in,out] SourceSize The size of the data buffer being passed in.\r
+ On exit, the size of data being returned.\r
+ Zero if the handler does not wish to reply with any data.\r
\r
@retval EFI_SUCCESS The message was successfully posted\r
@retval EFI_INVALID_PARAMETER The buffer was NULL\r
\r
@retval EFI_SUCCESS The requested number of bytes was allocated.\r
@retval EFI_OUT_OF_RESOURCES The pool requested could not be allocated.\r
- @retval EFI_INVALID_PARAMETER PoolType was invalid.\r
@retval EFI_UNSUPPORTED In runtime.\r
\r
**/\r
@param[in] This Protocol instance pointer.\r
@param[out] InSmm Whether the caller is inside SMM for IA-32\r
or servicing a PMI for the Itanium processor\r
- family.\r
+ family.\r
\r
@retval EFI_SUCCESS The operation was successful\r
@retval EFI_INVALID_PARAMETER InSmm was NULL.\r
IN OUT EFI_SMM_SYSTEM_TABLE **Smst\r
);\r
\r
-/**\r
- @par Protocol Description:\r
- This protocol is used to install SMM handlers for support of subsequent SMI/PMI\r
- activations. This protocol is available on both IA-32 and Itanium-based systems.\r
-\r
-**/\r
+///\r
+/// This protocol is used to install SMM handlers for support of subsequent SMI/PMI\r
+/// activations. This protocol is available on both IA-32 and Itanium-based systems.\r
+///\r
struct _EFI_SMM_BASE_PROTOCOL {\r
- ///\r
- /// Registers a handler to run in System Management RAM (SMRAM).\r
- ///\r
EFI_SMM_REGISTER_HANDLER Register;\r
-\r
- ///\r
- /// Removes a handler from execution in SMRAM.\r
- ///\r
EFI_SMM_UNREGISTER_HANDLER UnRegister;\r
-\r
- ///\r
- /// Sends/receives a message for a registered handler.\r
- ///\r
EFI_SMM_COMMUNICATE Communicate;\r
-\r
- ///\r
- /// Registers a callback from the constructor.\r
- ///\r
EFI_SMM_CALLBACK_SERVICE RegisterCallback;\r
-\r
- ///\r
- /// Detects whether the caller is inside or outside of SMM. SName\r
- ///\r
EFI_SMM_INSIDE_OUT InSmm;\r
-\r
- ///\r
- /// Allocates SMRAM.\r
- ///\r
EFI_SMM_ALLOCATE_POOL SmmAllocatePool;\r
-\r
- ///\r
- /// Deallocates SMRAM.\r
- ///\r
EFI_SMM_FREE_POOL SmmFreePool;\r
-\r
- ///\r
- /// Retrieves the location of the System Management System Table (SMST).\r
- ///\r
EFI_SMM_GET_SMST_LOCATION GetSmstLocation;\r
};\r
\r