-                       if (!(DescriptorNumber))
-                         Address = &LanguageString;
-                       else
-                         Address = &ProductString;
+                       if (DescriptorNumber == STRING_ID_Language)
+                       {
+                               Address = &LanguageString;
+                               Size    = LanguageString.Header.Size;
+                       }
+                       else if (DescriptorNumber == STRING_ID_Manufacturer)
+                       {
+                               Address = &ManufacturerString;
+                               Size    = ManufacturerString.Header.Size;
+                       }
+                       else if (DescriptorNumber == STRING_ID_Product)
+                       {
+                               Address = &ProductString;
+                               Size    = ProductString.Header.Size;
+                       }