+/**\r
+ Internal worker function to output a string.\r
+\r
+ This function will output a string to the correct StdOut.\r
+\r
+ @param[in] String The string to print out.\r
+\r
+ @retval EFI_SUCCESS The operation was sucessful.\r
+ @retval !EFI_SUCCESS The operation failed.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+InternalPrintTo (\r
+ IN CONST CHAR16 *String\r
+ )\r
+{\r
+ UINTN Size;\r
+ Size = StrSize(String) - sizeof(CHAR16);\r
+ if (mEfiShellParametersProtocol != NULL) {\r
+ return (mEfiShellParametersProtocol->StdOut->Write(mEfiShellParametersProtocol->StdOut, &Size, (VOID*)String));\r
+ }\r
+ if (mEfiShellInterface != NULL) {\r
+ return ( mEfiShellInterface->StdOut->Write(mEfiShellInterface->StdOut, &Size, (VOID*)String));\r
+ }\r
+ ASSERT(FALSE);\r
+ return (EFI_UNSUPPORTED);\r
+}\r
+\r