/* Allocate new memory and then copy the Unicode string Source to Destination. */
VOID NewStringCpy(IN OUT CHAR16 **Dest, IN CHAR16 *Src)
/* Allocate new memory and then copy the Unicode string Source to Destination. */
VOID NewStringCpy(IN OUT CHAR16 **Dest, IN CHAR16 *Src)
{
  if (*Dest != NULL) {
    FreePool (*Dest);
  }
  *Dest = AllocateCopyPool (StrSize (Src), Src);
  ASSERT (*Dest != NULL);
}