UINTN BufferSize;\r
CHAR8 *LanguageString;\r
\r
- ASSERT (HiiHandle != NULL);\r
ASSERT (IsHiiHandleRegistered (HiiHandle));\r
//\r
// Collect current supported Languages for given HII handle\r
Status = mHiiStringProt->GetLanguages (mHiiStringProt, HiiHandle, LanguageString, &BufferSize);\r
\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- gBS->FreePool (LanguageString);\r
+ FreePool (LanguageString);\r
LanguageString = AllocateZeroPool (BufferSize);\r
if (LanguageString == NULL) {\r
return NULL;\r
HiiLibGetNextLanguage (&LanguageString, Lang);\r
LangNumber++;\r
}\r
- gBS->FreePool (Languages);\r
+ FreePool (Languages);\r
\r
return LangNumber;\r
}\r
Status = mHiiStringProt->GetSecondaryLanguages (mHiiStringProt, HiiHandle, FirstLanguage, LanguageString, &BufferSize);\r
\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- gBS->FreePool (LanguageString);\r
+ FreePool (LanguageString);\r
LanguageString = AllocateZeroPool (BufferSize);\r
if (LanguageString == NULL) {\r
return NULL;\r
EFI_STATUS Status;\r
\r
if (mHiiProtocolsInitialized) {\r
+ //\r
+ // Only need to initialize the protocol instance once.\r
+ //\r
return;\r
}\r
\r
package header that defined by UEFI VFR compiler and StringGather\r
tool.\r
\r
+ #pragma pack (push, 1)\r
+ typedef struct {\r
+ UINT32 BinaryLength;\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
+ } TIANO_AUTOGEN_PACKAGES_HEADER;\r
+ #pragma pack (pop)\r
+\r
If there is not enough resource for the new package list,\r
the function will ASSERT.\r
\r
\r
for (Index = 0; Index < NumberOfPackages; Index++) {\r
CopyMem (&PackageLength, VA_ARG (Marker, VOID *), sizeof (UINT32));\r
+ //\r
+ // Do not count the BinaryLength field.\r
+ //\r
PackageListLength += (PackageLength - sizeof (UINT32));\r
}\r
\r
PackageListLength += sizeof (EFI_HII_PACKAGE_HEADER);\r
PackageListHeader = AllocateZeroPool (PackageListLength);\r
ASSERT (PackageListHeader != NULL);\r
+ \r
CopyMem (&PackageListHeader->PackageListGuid, GuidId, sizeof (EFI_GUID));\r
PackageListHeader->PackageLength = PackageListLength;\r
\r
If not enough resource to complete the operation, then ASSERT.\r
\r
@param NumberOfPackages Number of packages.\r
- @param GuidId Package GUID.\r
- @param ... Variable argument list for packages to be assembled.\r
+ @param GuidId Package GUID.\r
+ @param ... Variable argument list for packages to be assembled.\r
\r
@return EFI_HII_PACKAGE_LIST_HEADER Pointer of EFI_HII_PACKAGE_LIST_HEADER. The function will ASSERT if system has\r
- not enough resource to complete the operation.\r
+ not enough resource to complete the operation.\r
\r
**/\r
EFI_HII_PACKAGE_LIST_HEADER *\r
@param HiiHandle The handle that was previously registered to the data base that is requested for removal.\r
List later.\r
\r
- @return VOID\r
-\r
**/\r
VOID\r
EFIAPI\r
)\r
{\r
EFI_STATUS Status;\r
- ASSERT (HiiHandle != NULL);\r
+ ASSERT (IsHiiHandleRegistered (HiiHandle));\r
\r
LocateHiiProtocols ();\r
\r
EFI_HII_PACKAGE_LIST_HEADER *HiiPackageList;\r
\r
ASSERT (Guid != NULL);\r
+ ASSERT (IsHiiHandleRegistered (Handle));\r
\r
//\r
// Get HII PackageList\r
//\r
CopyMem (Guid, &HiiPackageList->PackageListGuid, sizeof (EFI_GUID));\r
\r
- gBS->FreePool (HiiPackageList);\r
+ FreePool (HiiPackageList);\r
\r
return EFI_SUCCESS;\r
}\r
break;\r
}\r
}\r
- gBS->FreePool (Handles);\r
+ FreePool (Handles);\r
\r
if (DriverHandle == NULL) {\r
return NULL;\r
HiiHandles\r
);\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- gBS->FreePool (HiiHandles);\r
+ FreePool (HiiHandles);\r
HiiHandles = AllocatePool (BufferSize);\r
ASSERT (HiiHandles != NULL);\r
\r
}\r
\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (HiiHandles);\r
+ FreePool (HiiHandles);\r
return NULL;\r
}\r
\r
}\r
}\r
\r
- gBS->FreePool (HiiHandles);\r
+ FreePool (HiiHandles);\r
return HiiHandle;\r
}\r
\r
while (*LangStrings != 0) {\r
HiiLibGetNextLanguage (&LangStrings, Lang);\r
\r
+ //\r
+ // For each language supported by the package,\r
+ // a string token is created.\r
+ //\r
Status = mHiiStringProt->NewString (\r
mHiiStringProt,\r
PackageList,\r
while (*LangStrings != 0) {\r
HiiLibGetNextLanguage (&LangStrings, Lang);\r
\r
+ //\r
+ // For each language supported by the package,\r
+ // the string is updated.\r
+ //\r
Status = mHiiStringProt->SetString (\r
mHiiStringProt,\r
PackageList,\r
\r
Out:\r
if (HiiHandleBuffer != NULL) {\r
- gBS->FreePool (HiiHandleBuffer);\r
+ FreePool (HiiHandleBuffer);\r
}\r
return Status;\r
}\r
\r
LangStrings = Languages;\r
HiiLibGetNextLanguage (&LangStrings, Lang);\r
- gBS->FreePool (Languages);\r
+ FreePool (Languages);\r
\r
Status = mHiiStringProt->GetString (\r
mHiiStringProt,\r
\r
Status = HiiLibGetString (HiiHandle, StringId, *String, &StringSize);\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- gBS->FreePool (*String);\r
+ FreePool (*String);\r
*String = AllocateZeroPool (StringSize);\r
if (*String == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
// Each entry is 5 CHAR8 values long. The first 3 CHAR8 values are the ISO 639-2 code.\r
// The last 2 CHAR8 values are the ISO 639-1 code.\r
//\r
-CHAR8 Iso639ToRfc3066ConversionTable[] =\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 Iso639ToRfc3066ConversionTable[] =\r
"\\r
aaraa\\r
abkab\\r