DispatchHandle contains a unique handle which may be used later to unregister the function \r
using UnRegister().\r
\r
- @param[in] This Pointer to the EFI_SMM_SW_DISPATCH2_PROTOCOL instance.\r
- @param[in] DispatchFunction Function to register for handler when the specified software \r
- SMI is generated. \r
- @param[in] RegisterContext Pointer to the dispatch function's context.\r
- The caller fills this context in before calling\r
- the register function to indicate to the register\r
- function which Software SMI input value the\r
- dispatch function should be invoked for.\r
- @param[out] DispatchHandle Handle generated by the dispatcher to track the\r
- function instance.\r
+ Note that the modifiers for the parameter RegisterContext are IN, OUT, while they are IN, CONST\r
+ in the PI 1.2 errta B spec. This in-consistency is for support for the case where SwSmiInputValue\r
+ is set to -1, a unique value will be returned in the RegisterContext structure.\r
+\r
+ @param[in] This Pointer to the EFI_SMM_SW_DISPATCH2_PROTOCOL instance.\r
+ @param[in] DispatchFunction Function to register for handler when the specified software \r
+ SMI is generated. \r
+ @param[in, out] RegisterContext Pointer to the dispatch function's context.\r
+ The caller fills this context in before calling\r
+ the register function to indicate to the register\r
+ function which Software SMI input value the\r
+ dispatch function should be invoked for.\r
+ @param[out] DispatchHandle Handle generated by the dispatcher to track the\r
+ function instance.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
registered and the SMI source has been enabled.\r
(EFIAPI *EFI_SMM_SW_REGISTER2)(\r
IN CONST EFI_SMM_SW_DISPATCH2_PROTOCOL *This,\r
IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction,\r
- IN CONST EFI_SMM_SW_REGISTER_CONTEXT *RegisterContext,\r
+ IN OUT EFI_SMM_SW_REGISTER_CONTEXT *RegisterContext,\r
OUT EFI_HANDLE *DispatchHandle\r
);\r
\r