+/**\r
+ Given the input key, search for the next matching file in the volume.\r
+\r
+ @param This Indicates the calling context. \r
+ @param Key Key is a pointer to a caller allocated \r
+ buffer that contains implementation specific \r
+ data that is used to track where to begin \r
+ the search for the next file. The size of \r
+ the buffer must be at least This->KeySize \r
+ bytes long. To reinitialize the search and \r
+ begin from the beginning of the firmware \r
+ volume, the entire buffer must be cleared to \r
+ zero. Other than clearing the buffer to \r
+ initiate a new search, the caller must not \r
+ modify the data in the buffer between calls \r
+ to GetNextFile(). \r
+ @param FileType FileType is a pointer to a caller allocated \r
+ EFI_FV_FILETYPE. The GetNextFile() API can \r
+ filter it's search for files based on the \r
+ value of *FileType input. A *FileType input \r
+ of 0 causes GetNextFile() to search for \r
+ files of all types. If a file is found, the \r
+ file's type is returned in *FileType. \r
+ *FileType is not modified if no file is \r
+ found. \r
+ @param NameGuid NameGuid is a pointer to a caller allocated \r
+ EFI_GUID. If a file is found, the file's \r
+ name is returned in *NameGuid. *NameGuid is \r
+ not modified if no file is found. \r
+ @param Attributes Attributes is a pointer to a caller \r
+ allocated EFI_FV_FILE_ATTRIBUTES. If a file \r
+ is found, the file's attributes are returned \r
+ in *Attributes. *Attributes is not modified \r
+ if no file is found. \r
+ @param Size Size is a pointer to a caller allocated \r
+ UINTN. If a file is found, the file's size \r
+ is returned in *Size. *Size is not modified \r
+ if no file is found. \r
+\r
+ @retval EFI_SUCCESS Successfully find the file. \r
+ @retval EFI_DEVICE_ERROR Device error. \r
+ @retval EFI_ACCESS_DENIED Fv could not read. \r
+ @retval EFI_NOT_FOUND No matching file found. \r
+ @retval EFI_INVALID_PARAMETER Invalid parameter\r