]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/Pcd.h
Synchronize PCD_Infrastructure 0.55 with source code.
[mirror_edk2.git] / MdePkg / Include / Protocol / Pcd.h
index 40e436434eaf5e0e87df4dd08e61aa7474824a8c..3cf1049556926eeb0723628c4d30c6b24bbcb284 100644 (file)
@@ -759,17 +759,26 @@ EFI_STATUS
 \r
 \r
 /**\r
-  Retrieves the next valid PCD token for a given namespace.\r
+  Retrieves the next valid token number in a given namespace.  \r
+  \r
+  This is useful since the PCD infrastructure contains a sparse list of token numbers, \r
+  and one cannot a priori know what token numbers are valid in the database. \r
+  \r
+  If TokenNumber is 0 and Guid is not NULL, then the first token from the token space specified by Guid is returned.  \r
+  If TokenNumber is not 0 and Guid is not NULL, then the next token in the token space specified by Guid is returned.  \r
+  If TokenNumber is 0 and Guid is NULL, then the first token in the default token space is returned.  \r
+  If TokenNumber is not 0 and Guid is NULL, then the next token in the default token space is returned.  \r
+  The token numbers in the default token space may not be related to token numbers in token spaces that are named by Guid.  \r
+  If the next token number can be retrieved, then it is returned in TokenNumber, and EFI_SUCCESS is returned.  \r
+  If TokenNumber represents the last token number in the token space specified by Guid, then EFI_NOT_FOUND is returned.  \r
+  If TokenNumber is not present in the token space specified by Guid, then EFI_NOT_FOUND is returned.\r
+\r
 \r
-  @param[in]      Guid    The 128-bit unique value that designates the namespace from which to extract the value.\r
+  @param[in]      Guid    The 128-bit unique value that designates the namespace from which to retrieve the next token. \r
+                          This is an optional parameter that may be NULL.  If this parameter is NULL, then a request is \r
+                          being made to retrieve tokens from the default token space.\r
   @param[in,out]  TokenNumber \r
                           A pointer to the PCD token number to use to find the subsequent token number.  \r
-                          If the input token namespace or token number does not exist on the platform, \r
-                          an error is returned and the value of *TokenNumber is undefined. To retrieve the "first" token, \r
-                          have the pointer reference a TokenNumber value of 0. If the input token number is 0 and \r
-                          there is no valid token number for this token namespace,  *TokenNumber will be assigned to \r
-                          0 and the function return EFI_SUCCESS. If the token number is the last valid token number, \r
-                          *TokenNumber will be assigned to 0 and the function return EFI_SUCCESS.\r
 \r
   @retval EFI_SUCCESS   The PCD service retrieved the next valid token number. Or the input token number \r
                         is already the last valid token number in the PCD database. \r