-CHAR16 TempBufferCatSPrint[1000];\r
-/** \r
- Appends a formatted Unicode string to a Null-terminated Unicode string\r
- \r
- This function appends a formatted Unicode string to the Null-terminated \r
- Unicode string specified by String. String is optional and may be NULL.\r
- Storage for the formatted Unicode string returned is allocated using \r
- AllocateZeroPool(). The pointer to the appended string is returned. The caller\r
- is responsible for freeing the returned string.\r
- \r
- If String is not NULL and not aligned on a 16-bit boundary, then ASSERT().\r
- If Format is NULL, then ASSERT().\r
- If Format is not aligned on a 16-bit boundary, then ASSERT().\r
- \r
- @param String A null-terminated Unicode string.\r
- @param FormatString A null-terminated Unicode format string.\r
- @param ... The variable argument list whose contents are accessed based \r
- on the format string specified by Format.\r
-\r
- @retval NULL There was not enough available memory.\r
- @return Null terminated Unicode string is that is the formatted \r
- string appended to String.\r
- @sa CatVSPrint\r
-**/\r
-CHAR16*\r
-EFIAPI\r
-CatSPrint (\r
- IN CONST CHAR16 *String OPTIONAL,\r
- IN CONST CHAR16 *FormatString,\r
- ...\r
- )\r
-{\r
- VA_LIST Marker;\r
- UINTN StringLength;\r
- if (String != NULL) {\r
- StrCpy(TempBufferCatSPrint, String);\r
- } else {\r
- *TempBufferCatSPrint = CHAR_NULL;\r
- }\r
- VA_START (Marker, FormatString);\r
- StringLength = StrLen(TempBufferCatSPrint);\r
-\r
- UnicodeVSPrint(TempBufferCatSPrint+StrLen(TempBufferCatSPrint), 1000-StringLength, FormatString, Marker);\r
- return (AllocateCopyPool(StrSize(TempBufferCatSPrint), TempBufferCatSPrint));\r
-}\r
-\r