+ );\r
+\r
+/**\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
+ This is an optional parameter that may be NULL. If this parameter is NULL, then a request \r
+ is being made to retrieve tokens from the default token space.\r
+ @param[in, out] TokenNumber A pointer to the PCD token number to use to find the subsequent token number.\r
+ \r
+ @retval EFI_SUCCESS The PCD service has retrieved the next valid token number. \r
+ Or the input token number is already the last valid token number in the PCD database. \r
+ In the later case, *TokenNumber is updated with the value of 0.\r
+ @retval EFI_NOT_FOUND If this input token number and token namespace does not exist on the platform.\r