mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-27 15:44:04 +02:00
MdeModulePkg: Refine the get default value logic.
Based on the input request to get default value for questions. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16413 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
76c94bb2dd
commit
787fc2a600
@ -928,7 +928,7 @@ ProcessAction (
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((Action & BROWSER_ACTION_DEFAULT) == BROWSER_ACTION_DEFAULT) {
|
if ((Action & BROWSER_ACTION_DEFAULT) == BROWSER_ACTION_DEFAULT) {
|
||||||
ExtractDefault (gCurrentSelection->FormSet, gCurrentSelection->Form, DefaultId, gBrowserSettingScope, GetDefaultForAll, NULL, FALSE);
|
ExtractDefault (gCurrentSelection->FormSet, gCurrentSelection->Form, DefaultId, gBrowserSettingScope, GetDefaultForAll, NULL, FALSE, FALSE);
|
||||||
UpdateStatementStatus (gCurrentSelection->FormSet, gCurrentSelection->Form, gBrowserSettingScope);
|
UpdateStatementStatus (gCurrentSelection->FormSet, gCurrentSelection->Form, gBrowserSettingScope);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1542,7 +1542,7 @@ ProcessUserInput (
|
|||||||
//
|
//
|
||||||
// Reset Question to default value specified by DefaultId
|
// Reset Question to default value specified by DefaultId
|
||||||
//
|
//
|
||||||
Status = ExtractDefault (gCurrentSelection->FormSet, NULL, Statement->DefaultId, FormSetLevel, GetDefaultForAll, NULL, FALSE);
|
Status = ExtractDefault (gCurrentSelection->FormSet, NULL, Statement->DefaultId, FormSetLevel, GetDefaultForAll, NULL, FALSE, FALSE);
|
||||||
UpdateStatementStatus (gCurrentSelection->FormSet, NULL, FormSetLevel);
|
UpdateStatementStatus (gCurrentSelection->FormSet, NULL, FormSetLevel);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -3986,13 +3986,15 @@ GetQuestionDefault (
|
|||||||
@param FormSet Form data structure.
|
@param FormSet Form data structure.
|
||||||
@param Form Form data structure.
|
@param Form Form data structure.
|
||||||
@param DefaultId The Class of the default.
|
@param DefaultId The Class of the default.
|
||||||
|
@param BrowserStorage The input request storage for the questions.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
VOID
|
VOID
|
||||||
ExtractAltCfgForForm (
|
ExtractAltCfgForForm (
|
||||||
IN FORM_BROWSER_FORMSET *FormSet,
|
IN FORM_BROWSER_FORMSET *FormSet,
|
||||||
IN FORM_BROWSER_FORM *Form,
|
IN FORM_BROWSER_FORM *Form,
|
||||||
IN UINT16 DefaultId
|
IN UINT16 DefaultId,
|
||||||
|
IN BROWSER_STORAGE *BrowserStorage
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
@ -4013,10 +4015,13 @@ ExtractAltCfgForForm (
|
|||||||
FormSetStorage = FORMSET_STORAGE_FROM_LINK (Link);
|
FormSetStorage = FORMSET_STORAGE_FROM_LINK (Link);
|
||||||
Storage = FormSetStorage->BrowserStorage;
|
Storage = FormSetStorage->BrowserStorage;
|
||||||
Link = GetNextNode (&FormSet->StorageListHead, Link);
|
Link = GetNextNode (&FormSet->StorageListHead, Link);
|
||||||
|
if (BrowserStorage != NULL && BrowserStorage != Storage) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (Storage->Type != EFI_HII_VARSTORE_EFI_VARIABLE &&
|
if (Storage->Type != EFI_HII_VARSTORE_EFI_VARIABLE &&
|
||||||
FormSetStorage->ElementCount != 0 &&
|
FormSetStorage->ElementCount != 0 &&
|
||||||
FormSetStorage->ConfigAltResp != NULL) {
|
FormSetStorage->HasCallAltCfg) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4030,6 +4035,10 @@ ExtractAltCfgForForm (
|
|||||||
Link = GetNextNode (&Form->ConfigRequestHead, Link);
|
Link = GetNextNode (&Form->ConfigRequestHead, Link);
|
||||||
|
|
||||||
Storage = ConfigInfo->Storage;
|
Storage = ConfigInfo->Storage;
|
||||||
|
if (BrowserStorage != NULL && BrowserStorage != Storage) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (Storage->Type == EFI_HII_VARSTORE_EFI_VARIABLE) {
|
if (Storage->Type == EFI_HII_VARSTORE_EFI_VARIABLE) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -4107,12 +4116,14 @@ CleanAltCfgForForm (
|
|||||||
|
|
||||||
@param FormSet Form data structure.
|
@param FormSet Form data structure.
|
||||||
@param DefaultId The Class of the default.
|
@param DefaultId The Class of the default.
|
||||||
|
@param BrowserStorage The input request storage for the questions.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
VOID
|
VOID
|
||||||
ExtractAltCfgForFormSet (
|
ExtractAltCfgForFormSet (
|
||||||
IN FORM_BROWSER_FORMSET *FormSet,
|
IN FORM_BROWSER_FORMSET *FormSet,
|
||||||
IN UINT16 DefaultId
|
IN UINT16 DefaultId,
|
||||||
|
IN BROWSER_STORAGE *BrowserStorage
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
@ -4129,6 +4140,10 @@ ExtractAltCfgForFormSet (
|
|||||||
Storage = FormSetStorage->BrowserStorage;
|
Storage = FormSetStorage->BrowserStorage;
|
||||||
Link = GetNextNode (&FormSet->StorageListHead, Link);
|
Link = GetNextNode (&FormSet->StorageListHead, Link);
|
||||||
|
|
||||||
|
if (BrowserStorage != NULL && BrowserStorage != Storage) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (Storage->Type == EFI_HII_VARSTORE_EFI_VARIABLE) {
|
if (Storage->Type == EFI_HII_VARSTORE_EFI_VARIABLE) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -4140,6 +4155,8 @@ ExtractAltCfgForFormSet (
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FormSetStorage->HasCallAltCfg = TRUE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// 2. Get value through hii config routine protocol.
|
// 2. Get value through hii config routine protocol.
|
||||||
//
|
//
|
||||||
@ -4200,6 +4217,8 @@ CleanAltCfgForFormSet (
|
|||||||
FreePool (FormSetStorage->ConfigAltResp);
|
FreePool (FormSetStorage->ConfigAltResp);
|
||||||
FormSetStorage->ConfigAltResp = NULL;
|
FormSetStorage->ConfigAltResp = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FormSetStorage->HasCallAltCfg = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4218,6 +4237,7 @@ CleanAltCfgForFormSet (
|
|||||||
@param RetrieveValueFirst Whether call the retrieve call back to
|
@param RetrieveValueFirst Whether call the retrieve call back to
|
||||||
get the initial value before get default
|
get the initial value before get default
|
||||||
value.
|
value.
|
||||||
|
@param SkipGetAltCfg Whether skip the get altcfg string process.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The function completed successfully.
|
@retval EFI_SUCCESS The function completed successfully.
|
||||||
@retval EFI_UNSUPPORTED Unsupport SettingScope.
|
@retval EFI_UNSUPPORTED Unsupport SettingScope.
|
||||||
@ -4231,7 +4251,8 @@ ExtractDefault (
|
|||||||
IN BROWSER_SETTING_SCOPE SettingScope,
|
IN BROWSER_SETTING_SCOPE SettingScope,
|
||||||
IN BROWSER_GET_DEFAULT_VALUE GetDefaultValueScope,
|
IN BROWSER_GET_DEFAULT_VALUE GetDefaultValueScope,
|
||||||
IN BROWSER_STORAGE *Storage OPTIONAL,
|
IN BROWSER_STORAGE *Storage OPTIONAL,
|
||||||
IN BOOLEAN RetrieveValueFirst
|
IN BOOLEAN RetrieveValueFirst,
|
||||||
|
IN BOOLEAN SkipGetAltCfg
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
@ -4258,7 +4279,9 @@ ExtractDefault (
|
|||||||
//
|
//
|
||||||
// Prepare the AltCfg String for form.
|
// Prepare the AltCfg String for form.
|
||||||
//
|
//
|
||||||
ExtractAltCfgForForm (FormSet, Form, DefaultId);
|
if (!SkipGetAltCfg && (GetDefaultValueScope != GetDefaultForNoStorage)) {
|
||||||
|
ExtractAltCfgForForm (FormSet, Form, DefaultId, Storage);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Extract Form default
|
// Extract Form default
|
||||||
@ -4320,24 +4343,30 @@ ExtractDefault (
|
|||||||
//
|
//
|
||||||
// Clean the AltCfg String.
|
// Clean the AltCfg String.
|
||||||
//
|
//
|
||||||
CleanAltCfgForForm(Form);
|
if (!SkipGetAltCfg && (GetDefaultValueScope != GetDefaultForNoStorage)) {
|
||||||
|
CleanAltCfgForForm(Form);
|
||||||
|
}
|
||||||
} else if (SettingScope == FormSetLevel) {
|
} else if (SettingScope == FormSetLevel) {
|
||||||
//
|
//
|
||||||
// Prepare the AltCfg String for formset.
|
// Prepare the AltCfg String for formset.
|
||||||
//
|
//
|
||||||
ExtractAltCfgForFormSet (FormSet, DefaultId);
|
if (!SkipGetAltCfg && (GetDefaultValueScope != GetDefaultForNoStorage)) {
|
||||||
|
ExtractAltCfgForFormSet (FormSet, DefaultId, Storage);
|
||||||
|
}
|
||||||
|
|
||||||
FormLink = GetFirstNode (&FormSet->FormListHead);
|
FormLink = GetFirstNode (&FormSet->FormListHead);
|
||||||
while (!IsNull (&FormSet->FormListHead, FormLink)) {
|
while (!IsNull (&FormSet->FormListHead, FormLink)) {
|
||||||
Form = FORM_BROWSER_FORM_FROM_LINK (FormLink);
|
Form = FORM_BROWSER_FORM_FROM_LINK (FormLink);
|
||||||
ExtractDefault (FormSet, Form, DefaultId, FormLevel, GetDefaultValueScope, Storage, RetrieveValueFirst);
|
ExtractDefault (FormSet, Form, DefaultId, FormLevel, GetDefaultValueScope, Storage, RetrieveValueFirst, SkipGetAltCfg);
|
||||||
FormLink = GetNextNode (&FormSet->FormListHead, FormLink);
|
FormLink = GetNextNode (&FormSet->FormListHead, FormLink);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Clean the AltCfg String.
|
// Clean the AltCfg String.
|
||||||
//
|
//
|
||||||
CleanAltCfgForFormSet (FormSet);
|
if (!SkipGetAltCfg && (GetDefaultValueScope != GetDefaultForNoStorage)) {
|
||||||
|
CleanAltCfgForFormSet (FormSet);
|
||||||
|
}
|
||||||
} else if (SettingScope == SystemLevel) {
|
} else if (SettingScope == SystemLevel) {
|
||||||
//
|
//
|
||||||
// Preload all Hii formset.
|
// Preload all Hii formset.
|
||||||
@ -4359,7 +4388,7 @@ ExtractDefault (
|
|||||||
|
|
||||||
mSystemLevelFormSet = LocalFormSet;
|
mSystemLevelFormSet = LocalFormSet;
|
||||||
|
|
||||||
ExtractDefault (LocalFormSet, NULL, DefaultId, FormSetLevel, GetDefaultValueScope, Storage, RetrieveValueFirst);
|
ExtractDefault (LocalFormSet, NULL, DefaultId, FormSetLevel, GetDefaultValueScope, Storage, RetrieveValueFirst, SkipGetAltCfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
mSystemLevelFormSet = OldFormSet;
|
mSystemLevelFormSet = OldFormSet;
|
||||||
@ -4919,158 +4948,6 @@ ConfigRequestAdjust (
|
|||||||
return RetVal;
|
return RetVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
Base on ConfigRequest info to get default value for current formset.
|
|
||||||
|
|
||||||
ConfigRequest info include the info about which questions in current formset need to
|
|
||||||
get default value. This function only get these questions default value.
|
|
||||||
|
|
||||||
@param FormSet FormSet data structure.
|
|
||||||
@param Storage Storage need to update value.
|
|
||||||
@param ConfigRequest The config request string.
|
|
||||||
|
|
||||||
**/
|
|
||||||
VOID
|
|
||||||
GetDefaultForFormset (
|
|
||||||
IN FORM_BROWSER_FORMSET *FormSet,
|
|
||||||
IN BROWSER_STORAGE *Storage,
|
|
||||||
IN CHAR16 *ConfigRequest
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UINT8 *BackUpBuf;
|
|
||||||
UINTN BufferSize;
|
|
||||||
LIST_ENTRY BackUpList;
|
|
||||||
NAME_VALUE_NODE *Node;
|
|
||||||
LIST_ENTRY *Link;
|
|
||||||
LIST_ENTRY *NodeLink;
|
|
||||||
NAME_VALUE_NODE *TmpNode;
|
|
||||||
EFI_STATUS Status;
|
|
||||||
EFI_STRING Progress;
|
|
||||||
EFI_STRING Result;
|
|
||||||
|
|
||||||
BackUpBuf = NULL;
|
|
||||||
InitializeListHead(&BackUpList);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Back update the edit buffer.
|
|
||||||
//
|
|
||||||
if (Storage->Type == EFI_HII_VARSTORE_BUFFER ||
|
|
||||||
(Storage->Type == EFI_HII_VARSTORE_EFI_VARIABLE_BUFFER)) {
|
|
||||||
BackUpBuf = AllocateCopyPool (Storage->Size, Storage->EditBuffer);
|
|
||||||
ASSERT (BackUpBuf != NULL);
|
|
||||||
} else if (Storage->Type == EFI_HII_VARSTORE_NAME_VALUE) {
|
|
||||||
Link = GetFirstNode (&Storage->NameValueListHead);
|
|
||||||
while (!IsNull (&Storage->NameValueListHead, Link)) {
|
|
||||||
Node = NAME_VALUE_NODE_FROM_LINK (Link);
|
|
||||||
Link = GetNextNode (&Storage->NameValueListHead, Link);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Only back Node belong to this formset.
|
|
||||||
//
|
|
||||||
if (StrStr (Storage->ConfigRequest, Node->Name) == NULL) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
TmpNode = AllocateCopyPool (sizeof (NAME_VALUE_NODE), Node);
|
|
||||||
ASSERT (TmpNode != NULL);
|
|
||||||
TmpNode->Name = AllocateCopyPool (StrSize(Node->Name) * sizeof (CHAR16), Node->Name);
|
|
||||||
ASSERT (TmpNode->Name != NULL);
|
|
||||||
TmpNode->EditValue = AllocateCopyPool (StrSize(Node->EditValue) * sizeof (CHAR16), Node->EditValue);
|
|
||||||
ASSERT (TmpNode->EditValue != NULL);
|
|
||||||
|
|
||||||
InsertTailList(&BackUpList, &TmpNode->Link);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Get default value.
|
|
||||||
//
|
|
||||||
ExtractDefault (FormSet, NULL, EFI_HII_DEFAULT_CLASS_STANDARD, FormSetLevel, GetDefaultForStorage, Storage, TRUE);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Update the question value based on the input ConfigRequest.
|
|
||||||
//
|
|
||||||
if (Storage->Type == EFI_HII_VARSTORE_BUFFER ||
|
|
||||||
(Storage->Type == EFI_HII_VARSTORE_EFI_VARIABLE_BUFFER)) {
|
|
||||||
ASSERT (BackUpBuf != NULL);
|
|
||||||
BufferSize = Storage->Size;
|
|
||||||
Status = mHiiConfigRouting->BlockToConfig(
|
|
||||||
mHiiConfigRouting,
|
|
||||||
ConfigRequest,
|
|
||||||
Storage->EditBuffer,
|
|
||||||
BufferSize,
|
|
||||||
&Result,
|
|
||||||
&Progress
|
|
||||||
);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
Status = mHiiConfigRouting->ConfigToBlock (
|
|
||||||
mHiiConfigRouting,
|
|
||||||
Result,
|
|
||||||
BackUpBuf,
|
|
||||||
&BufferSize,
|
|
||||||
&Progress
|
|
||||||
);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
if (Result != NULL) {
|
|
||||||
FreePool (Result);
|
|
||||||
}
|
|
||||||
|
|
||||||
CopyMem (Storage->EditBuffer, BackUpBuf, Storage->Size);
|
|
||||||
FreePool (BackUpBuf);
|
|
||||||
} else if (Storage->Type == EFI_HII_VARSTORE_NAME_VALUE) {
|
|
||||||
//
|
|
||||||
// Update question value, only element in ConfigReqeust will be update.
|
|
||||||
//
|
|
||||||
Link = GetFirstNode (&BackUpList);
|
|
||||||
while (!IsNull (&BackUpList, Link)) {
|
|
||||||
Node = NAME_VALUE_NODE_FROM_LINK (Link);
|
|
||||||
Link = GetNextNode (&BackUpList, Link);
|
|
||||||
|
|
||||||
if (StrStr (ConfigRequest, Node->Name) != NULL) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
NodeLink = GetFirstNode (&Storage->NameValueListHead);
|
|
||||||
while (!IsNull (&Storage->NameValueListHead, NodeLink)) {
|
|
||||||
TmpNode = NAME_VALUE_NODE_FROM_LINK (NodeLink);
|
|
||||||
NodeLink = GetNextNode (&Storage->NameValueListHead, NodeLink);
|
|
||||||
|
|
||||||
if (StrCmp (Node->Name, TmpNode->Name) != 0) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
FreePool (TmpNode->EditValue);
|
|
||||||
TmpNode->EditValue = AllocateCopyPool (StrSize(Node->EditValue) * sizeof (CHAR16), Node->EditValue);
|
|
||||||
|
|
||||||
RemoveEntryList (&Node->Link);
|
|
||||||
FreePool (Node->EditValue);
|
|
||||||
FreePool (Node->Name);
|
|
||||||
FreePool (Node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Restore the Name/Value node.
|
|
||||||
//
|
|
||||||
Link = GetFirstNode (&BackUpList);
|
|
||||||
while (!IsNull (&BackUpList, Link)) {
|
|
||||||
Node = NAME_VALUE_NODE_FROM_LINK (Link);
|
|
||||||
Link = GetNextNode (&BackUpList, Link);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Free this node.
|
|
||||||
//
|
|
||||||
RemoveEntryList (&Node->Link);
|
|
||||||
FreePool (Node->EditValue);
|
|
||||||
FreePool (Node->Name);
|
|
||||||
FreePool (Node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Fill storage's edit copy with settings requested from Configuration Driver.
|
Fill storage's edit copy with settings requested from Configuration Driver.
|
||||||
|
|
||||||
@ -5161,7 +5038,7 @@ LoadStorage (
|
|||||||
// If get value fail, extract default from IFR binary
|
// If get value fail, extract default from IFR binary
|
||||||
//
|
//
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
ExtractDefault (FormSet, NULL, EFI_HII_DEFAULT_CLASS_STANDARD, FormSetLevel, GetDefaultForStorage, Storage->BrowserStorage, TRUE);
|
ExtractDefault (FormSet, NULL, EFI_HII_DEFAULT_CLASS_STANDARD, FormSetLevel, GetDefaultForStorage, Storage->BrowserStorage, TRUE, TRUE);
|
||||||
} else {
|
} else {
|
||||||
//
|
//
|
||||||
// Convert Result from <ConfigAltResp> to <ConfigResp>
|
// Convert Result from <ConfigAltResp> to <ConfigResp>
|
||||||
@ -5307,7 +5184,7 @@ InitializeCurrentSetting (
|
|||||||
//
|
//
|
||||||
// Extract default from IFR binary for no storage questions.
|
// Extract default from IFR binary for no storage questions.
|
||||||
//
|
//
|
||||||
ExtractDefault (FormSet, NULL, EFI_HII_DEFAULT_CLASS_STANDARD, FormSetLevel, GetDefaultForNoStorage, NULL, TRUE);
|
ExtractDefault (FormSet, NULL, EFI_HII_DEFAULT_CLASS_STANDARD, FormSetLevel, GetDefaultForNoStorage, NULL, TRUE, FALSE);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Request current settings from Configuration Driver
|
// Request current settings from Configuration Driver
|
||||||
@ -6100,7 +5977,7 @@ ExecuteAction (
|
|||||||
// Executet the difault action.
|
// Executet the difault action.
|
||||||
//
|
//
|
||||||
if ((Action & BROWSER_ACTION_DEFAULT) != 0) {
|
if ((Action & BROWSER_ACTION_DEFAULT) != 0) {
|
||||||
Status = ExtractDefault (FormSet, Form, DefaultId, gBrowserSettingScope, GetDefaultForAll, NULL, FALSE);
|
Status = ExtractDefault (FormSet, Form, DefaultId, gBrowserSettingScope, GetDefaultForAll, NULL, FALSE, FALSE);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
@ -172,6 +172,7 @@ typedef struct {
|
|||||||
|
|
||||||
CHAR16 *ConfigRequest; // <ConfigRequest> = <ConfigHdr> + <RequestElement>
|
CHAR16 *ConfigRequest; // <ConfigRequest> = <ConfigHdr> + <RequestElement>
|
||||||
CHAR16 *ConfigAltResp; // Alt config response string for this ConfigRequest.
|
CHAR16 *ConfigAltResp; // Alt config response string for this ConfigRequest.
|
||||||
|
BOOLEAN HasCallAltCfg; // Flag to show whether browser has call ExtractConfig to get Altcfg string.
|
||||||
UINTN ElementCount; // Number of <RequestElement> in the <ConfigRequest>
|
UINTN ElementCount; // Number of <RequestElement> in the <ConfigRequest>
|
||||||
UINTN SpareStrLen; // Spare length of ConfigRequest string buffer
|
UINTN SpareStrLen; // Spare length of ConfigRequest string buffer
|
||||||
} FORMSET_STORAGE;
|
} FORMSET_STORAGE;
|
||||||
@ -917,6 +918,7 @@ InitializeFormSet (
|
|||||||
@param RetrieveValueFirst Whether call the retrieve call back to
|
@param RetrieveValueFirst Whether call the retrieve call back to
|
||||||
get the initial value before get default
|
get the initial value before get default
|
||||||
value.
|
value.
|
||||||
|
@param SkipGetAltCfg Whether skip the get altcfg string process.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The function completed successfully.
|
@retval EFI_SUCCESS The function completed successfully.
|
||||||
@retval EFI_UNSUPPORTED Unsupport SettingScope.
|
@retval EFI_UNSUPPORTED Unsupport SettingScope.
|
||||||
@ -930,7 +932,8 @@ ExtractDefault (
|
|||||||
IN BROWSER_SETTING_SCOPE SettingScope,
|
IN BROWSER_SETTING_SCOPE SettingScope,
|
||||||
IN BROWSER_GET_DEFAULT_VALUE GetDefaultValueScope,
|
IN BROWSER_GET_DEFAULT_VALUE GetDefaultValueScope,
|
||||||
IN BROWSER_STORAGE *Storage,
|
IN BROWSER_STORAGE *Storage,
|
||||||
IN BOOLEAN RetrieveValueFirst
|
IN BOOLEAN RetrieveValueFirst,
|
||||||
|
IN BOOLEAN SkipGetAltCfg
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user