/* If user input *File != NULL, function will return the allocate device path info for the choosed file, caller has to free the memory after use it. */
EFI_STATUS EFIAPI ChooseFile(IN EFI_DEVICE_PATH_PROTOCOL *RootDirectory, IN CHAR16 *FileType OPTIONAL, IN CHOOSE_HANDLER ChooseHandler OPTIONAL, OUT EFI_DEVICE_PATH_PROTOCOL **File OPTIONAL)
/* If user input *File != NULL, function will return the allocate device path info for the choosed file, caller has to free the memory after use it. */
EFI_STATUS EFIAPI ChooseFile(IN EFI_DEVICE_PATH_PROTOCOL *RootDirectory, IN CHAR16 *FileType OPTIONAL, IN CHOOSE_HANDLER ChooseHandler OPTIONAL, OUT EFI_DEVICE_PATH_PROTOCOL **File OPTIONAL)
{
  return mProtocol->ChooseFile (RootDirectory, FileType, ChooseHandler, File);
}