+/**\r
+ Return the next variable name and GUID.\r
+\r
+ This function is called multiple times to retrieve the VariableName \r
+ and VariableGuid of all variables currently available in the system. \r
+ On each call, the previous results are passed into the interface, \r
+ and, on return, the interface returns the data for the next \r
+ interface. When the entire variable list has been returned, \r
+ EFI_NOT_FOUND is returned.\r
+\r
+ @param This A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.\r
+\r
+ @param VariableNameSize On entry, points to the size of the buffer pointed to by VariableName.\r
+ @param VariableName On entry, a pointer to a null-terminated string that is the variable's name.\r
+ On return, points to the next variable's null-terminated name string.\r
+ @param VariableGuid On entry, a pointer to an UEFI _GUID that is the variable's GUID. \r
+ On return, a pointer to the next variable's GUID.\r
+\r
+ @retval EFI_SUCCESS The variable was read successfully.\r
+ @retval EFI_NOT_FOUND The variable could not be found.\r
+ @retval EFI_BUFFER_TOO_SMALL The VariableNameSize is too small for the resulting\r
+ data. VariableNameSize is updated with the size\r
+ required for the specified variable.\r
+ @retval EFI_INVALID_PARAMETER VariableName, VariableGuid or\r
+ VariableNameSize is NULL.\r
+ @retval EFI_DEVICE_ERROR The variable could not be retrieved because of a device error.\r
+\r
+**/\r