-/**\r
- Provides the parent dispatch service for a power button event.\r
-\r
- This service registers a function (DispatchFunction) which will be called when an SMI is \r
- generated because the power button was pressed or released, as specified by RegisterContext. \r
- On return, DispatchHandle contains a unique handle which may be used later to unregister the \r
- function using UnRegister().\r
- The DispatchFunction will be called with Context set to the same value as was passed into \r
- this function in RegisterContext and with CommBuffer and CommBufferSize set to NULL.\r
-\r
- @param[in] This Pointer to the EFI_SMM_POWER_BUTTON_DISPATCH2_PROTOCOL instance.\r
- @param[in] DispatchFunction Function to register for handler when power button is pressed or released.\r
- @param[in] RegisterContext Pointer to the dispatch function\92s context. The caller fills in this context\r
- before calling the Register() function to indicate to the Register() function\r
- the power button SMI phase for which the dispatch function should be invoked.\r
- @param[out] DispatchHandle Handle generated by the dispatcher to track the function instance. \r
-\r
- @retval EFI_SUCCESS The dispatch function has been successfully\r
- registered and the SMI source has been enabled.\r
- @retval EFI_DEVICE_ERROR The driver was unable to enable the SMI source.\r
- @retval EFI_INVALID_PARAMETER RegisterContext is invalid. The power button input value\r
- is not within valid range.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough memory (system or SMM) to manage this child.\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SMM_POWER_BUTTON_REGISTER)(\r
- IN CONST EFI_SMM_POWER_BUTTON_DISPATCH2_PROTOCOL *This,\r
- IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction,\r
- IN EFI_SMM_POWER_BUTTON_REGISTER_CONTEXT *RegisterContext,\r
- OUT EFI_HANDLE *DispatchHandle\r
- );\r