summaryrefslogtreecommitdiff
path: root/FatPkg
diff options
context:
space:
mode:
authorqhuang8 <qhuang8@efd2e655-3735-4b16-a529-16bfa2dd702b>2008-10-10 02:33:21 +0000
committerqhuang8 <qhuang8@efd2e655-3735-4b16-a529-16bfa2dd702b>2008-10-10 02:33:21 +0000
commit6fc82165bdc689332ebb81b18d77069cd12b4141 (patch)
tree0520b96675d49a27befcd36270385a1090530aa4 /FatPkg
parent529b8c83dfb9c1d37491b57e9c942e7b4f81dc8a (diff)
Add details comments for the code flow to initialize Unicode Collation (2) support.
git-svn-id: https://edk2-fatdriver2.svn.sourceforge.net/svnroot/edk2-fatdriver2/trunk@29 efd2e655-3735-4b16-a529-16bfa2dd702b
Diffstat (limited to 'FatPkg')
-rw-r--r--FatPkg/EnhancedFatDxe/UnicodeCollation.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/FatPkg/EnhancedFatDxe/UnicodeCollation.c b/FatPkg/EnhancedFatDxe/UnicodeCollation.c
index 4a849af2eb..9e5db7b967 100644
--- a/FatPkg/EnhancedFatDxe/UnicodeCollation.c
+++ b/FatPkg/EnhancedFatDxe/UnicodeCollation.c
@@ -162,6 +162,12 @@ InitializeUnicodeCollationSupportWithConfig (
/**
Initialize Unicode Collation support.
+ This function searches Initialized Unicode Collation support based on PCDs:
+ PcdUnicodeCollation2Support and PcdUnicodeCollationSupport.
+ It first tries to locate Unicode Collation 2 protocol and matches it with current
+ platform language code. If for any reason the first attempt fails, it then tries to
+ use Unicode Collation Protocol.
+
@param AgentHandle The handle used to open Unicode Collation (2) protocol.
@retval EFI_SUCCESS The Unicode Collation (2) protocol has been successfully located.
@@ -177,10 +183,18 @@ InitializeUnicodeCollationSupport (
EFI_STATUS Status;
Status = EFI_UNSUPPORTED;
+
+ //
+ // First try to use RFC 3066 Unicode Collation 2 Protocol.
+ //
if (FeaturePcdGet (PcdUnicodeCollation2Support)) {
Status = InitializeUnicodeCollationSupportWithConfig (AgentHandle, &mRfc3066Lang);
}
+ //
+ // If the attempt to use Unicode Collation 2 Protocol fails, then we fall back
+ // on the ISO 639-2 Unicode Collation Protocol.
+ //
if (FeaturePcdGet (PcdUnicodeCollationSupport) && EFI_ERROR (Status)) {
Status = InitializeUnicodeCollationSupportWithConfig (AgentHandle, &mIso639Lang);
}