/// <include file='doc\FileDialog.uex' path='docs/doc[@for="FileDialog.GetMultiselectFiles"]/*' />
        /// <devdoc>
        ///     Extracts the filename(s) returned by the file dialog.
        /// </devdoc>

        private string[] GetMultiselectFiles(CharBuffer charBuffer)
        {
            string directory = charBuffer.GetString();
            string fileName  = charBuffer.GetString();

            if (fileName.Length == 0)
            {
                return new string[] {
                           directory
                }
            }
            ;
            if (directory[directory.Length - 1] != '\\')
            {
                directory = directory + "\\";
            }
            ArrayList names = new ArrayList();

            do
            {
                if (fileName[0] != '\\' && (fileName.Length <= 3 ||
                                            fileName[1] != ':' || fileName[2] != '\\'))
                {
                    fileName = directory + fileName;
                }
                names.Add(fileName);
                fileName = charBuffer.GetString();
            } while (fileName.Length > 0);
            string[] temp = new string[names.Count];
            names.CopyTo(temp, 0);
            return(temp);
        }