VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.h@ 95013

最後變更 在這個檔案從95013是 80721,由 vboxsync 提交於 6 年 前

Devices/EFI/FirmwareNew: Start upgrade process to edk2-stable201908 (compiles on Windows and works to some extent), bugref:4643

  • 屬性 svn:eol-style 設為 native
檔案大小: 5.1 KB
 
1/** @file
2 This module produces two driver health manager forms.
3 One will be used by BDS core to configure the Configured Required
4 driver health instances, the other will be automatically included by
5 firmware setup (UI).
6
7Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
8SPDX-License-Identifier: BSD-2-Clause-Patent
9
10**/
11
12#ifndef _DRIVER_HEALTH_MANAGEMENT_DXE_H_
13#define _DRIVER_HEALTH_MANAGEMENT_DXE_H_
14
15#include <Uefi.h>
16#include <Base.h>
17#include <Protocol/ComponentName.h>
18#include <Protocol/DriverHealth.h>
19#include <Protocol/HiiConfigAccess.h>
20#include <Protocol/FormBrowser2.h>
21#include <Protocol/HiiDatabase.h>
22#include <Guid/MdeModuleHii.h>
23
24#include <Library/DebugLib.h>
25#include <Library/UefiDriverEntryPoint.h>
26#include <Library/UefiLib.h>
27#include <Library/BaseLib.h>
28#include <Library/BaseMemoryLib.h>
29#include <Library/MemoryAllocationLib.h>
30#include <Library/UefiBootServicesTableLib.h>
31#include <Library/UefiRuntimeServicesTableLib.h>
32#include <Library/UefiBootManagerLib.h>
33#include <Library/HiiLib.h>
34#include <Library/PrintLib.h>
35#include <Library/DevicePathLib.h>
36#include <Library/PcdLib.h>
37
38///
39/// HII specific Vendor Device Path definition.
40///
41typedef struct {
42 VENDOR_DEVICE_PATH VendorDevicePath;
43 EFI_DEVICE_PATH_PROTOCOL End;
44} FORM_DEVICE_PATH;
45
46/**
47 This function is invoked if user selected a interactive opcode from Driver Health's
48 Formset. The decision by user is saved to gCallbackKey for later processing.
49
50 @param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
51 @param Action Specifies the type of action taken by the browser.
52 @param QuestionId A unique value which is sent to the original exporting driver
53 so that it can identify the type of data to expect.
54 @param Type The type of value for the question.
55 @param Value A pointer to the data being sent to the original exporting driver.
56 @param ActionRequest On return, points to the action requested by the callback function.
57
58 @retval EFI_SUCCESS The callback successfully handled the action.
59 @retval EFI_INVALID_PARAMETER The setup browser call this function with invalid parameters.
60
61**/
62EFI_STATUS
63EFIAPI
64DriverHealthManagerCallback (
65 IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
66 IN EFI_BROWSER_ACTION Action,
67 IN EFI_QUESTION_ID QuestionId,
68 IN UINT8 Type,
69 IN EFI_IFR_TYPE_VALUE *Value,
70 OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
71 );
72
73/**
74 This function allows a caller to extract the current configuration for one
75 or more named elements from the target driver.
76
77
78 @param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
79 @param Request A null-terminated Unicode string in <ConfigRequest> format.
80 @param Progress On return, points to a character in the Request string.
81 Points to the string's null terminator if request was successful.
82 Points to the most recent '&' before the first failing name/value
83 pair (or the beginning of the string if the failure is in the
84 first name/value pair) if the request was not successful.
85 @param Results A null-terminated Unicode string in <ConfigAltResp> format which
86 has all values filled in for the names in the Request string.
87 String to be allocated by the called function.
88
89 @retval EFI_SUCCESS The Results is filled with the requested values.
90 @retval EFI_OUT_OF_RESOURCES Not enough memory to store the results.
91 @retval EFI_INVALID_PARAMETER Request is illegal syntax, or unknown name.
92 @retval EFI_NOT_FOUND Routing data doesn't match any storage in this driver.
93
94**/
95EFI_STATUS
96EFIAPI
97DriverHealthManagerFakeExtractConfig (
98 IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
99 IN CONST EFI_STRING Request,
100 OUT EFI_STRING *Progress,
101 OUT EFI_STRING *Results
102 );
103
104/**
105 This function processes the results of changes in configuration.
106
107
108 @param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
109 @param Configuration A null-terminated Unicode string in <ConfigResp> format.
110 @param Progress A pointer to a string filled in with the offset of the most
111 recent '&' before the first failing name/value pair (or the
112 beginning of the string if the failure is in the first
113 name/value pair) or the terminating NULL if all was successful.
114
115 @retval EFI_SUCCESS The Results is processed successfully.
116 @retval EFI_INVALID_PARAMETER Configuration is NULL.
117 @retval EFI_NOT_FOUND Routing data doesn't match any storage in this driver.
118
119**/
120EFI_STATUS
121EFIAPI
122DriverHealthManagerFakeRouteConfig (
123 IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
124 IN CONST EFI_STRING Configuration,
125 OUT EFI_STRING *Progress
126 );
127#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette