/* Converts a text device path node to Vendor device path structure based on the input Type and SubType. */
EFI_DEVICE_PATH_PROTOCOL* ConvertFromTextVendor(IN CHAR16 *TextDeviceNode, IN UINT8 Type, IN UINT8 SubType)
/* Converts a text device path node to Vendor device path structure based on the input Type and SubType. */
EFI_DEVICE_PATH_PROTOCOL* ConvertFromTextVendor(IN CHAR16 *TextDeviceNode, IN UINT8 Type, IN UINT8 SubType)
{
  CHAR16              *GuidStr;
  CHAR16              *DataStr;
  UINTN               Length;
  VENDOR_DEVICE_PATH  *Vendor;
  GuidStr = GetNextParamStr (&TextDeviceNode);
  DataStr = GetNextParamStr (&TextDeviceNode);
  Length  = StrLen (DataStr);
  Length = (Length + 1) / 2;
  Vendor = (VENDOR_DEVICE_PATH *)CreateDeviceNode (
                                   Type,
                                   SubType,
                                   (UINT16)(sizeof (VENDOR_DEVICE_PATH) + Length)
                                   );
  StrToGuid (GuidStr, &Vendor->Guid);
  StrHexToBytes (DataStr, Length * 2, (UINT8 *)(Vendor + 1), Length);
  return (EFI_DEVICE_PATH_PROTOCOL *)Vendor;
}