/* Converts a text device path node to Vendor device path structure based on the input Type and SubType. */
EFI_DEVICE_PATH_PROTOCOL* ConvertFromTextVendor(CHAR16 *TextDeviceNode, UINT8 Type, 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(CHAR16 *TextDeviceNode, UINT8 Type, 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;
}