На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Filename Conventions



Although each file system can have specific rules about the formation of individual components in a directory or filename, all file systems follow the same general conventions: a base filename and an optional extension, separated by a period. For example, the MS-DOS FAT file system supports 8 characters for the base filename and 3 characters for the extension. This is known as an 8.3 filename. The FAT file system and NTFS support filenames that can be up to 255 characters long. This is known as a long filename. To get an MS-DOS filename given a long filename, use the GetShortPathName function. To get the full path of a file, use the GetFullPathName function.

Both file systems use the backslash (\) character to separate directory names and the filename when forming a path.
General rules for applications creating names for directories and files or processing names supplied by the user include the following:

· Use any character in the current code page for a name, but do not use a path separator, a character in the range 0 through 31, or any character explicitly disallowed by the file system. A name can contain characters in the extended character set (128-255).
· Use the backslash (\), the forward slash (/), or both to separate components in a path. No other character is acceptable as a path separator.
· Use a period (.) as a directory component in a path to represent the current directory.

· Use two consecutive periods (..) as a directory component in a path to represent the parent of the current directory.
· Use a period (.) to separate the base filename from the extension in a directory name or filename.
· Do not use the following characters in directory names or filenames, because they are reserved for Windows:

< > : " / \ |

· Do not use device names, such as aux, con, and prn, as filenames or directory names.
· Process a path as a null-terminated string. The maximum length for a path, including a trailing backslash, is given by MAX_PATH.

The wide (Unicode) versions of the CreateDirectory, FindFirstFile, GetFileAttributes, and SetFileAttributes functions permit paths that exceed the MAX_PATH length if the path has the "\\?\" or "\\?\UNC\" prefix. These prefixes direct the functions to turn off path parsing. Use the "\\?\" prefix with paths for local storage devices and the "\\?\UNC\" prefix with paths having the Universal Naming Convention format.

· Do not assume case sensitivity. Consider names such as OSCAR, Oscar, and oscar to be the same.



By following the rules listed in this section, an application can create valid names for files and directories regardless of the file system in use.

Long Filenames on Windows NT

The operating system stores the long filenames on disk as special directory entries. When you create a long filename, the operating system creates a corresponding short 8.3 form of the name.
The operating system stores the long filenames on disk in Unicode. This means that the original long filename is always preserved, even if it contains extended characters, and regardless of the code page that is active during a disk read or write operation. The case of the filename is preserved, but the file system is not case-sensitive.

The valid character set for these long filenames is the NTFS character set, less one character: the colon (':') that NTFS uses for opening alternate file streams. This means that you can freely copy files between NTFS and FAT partitions without losing any file name information.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Соглашения Filename



Хотя каждая файловая система может иметь специфические правила об образовании индивидуальных компонентов в директории или filename, все файловые системы следуют за теми же общими соглашениями: базовое filename и дополнительное расширение, разделенное к периоду. Например, файловая система ЖИРА МС-DOS поддерживает 8 символов для базового filename и 3 символа для расширения. Это известный как 8.3 filename. Файловая система ЖИРА и NTFS поддерживает filenames, что может быть вплоть до 255 символов долго (длиной). Это известный как длинный filename. Для того, чтобы дал МС-DOS filename длинный filename, используйте функцию GetShortPathName. Для того, чтобы получать полный путь файла, используйте функцию GetFullPathName.

Обе файловых системы используют обратную косую черту символа (\), чтобы разделять имена директория и filename при формировании пути.
Генерал управляет для создания приложений называет в честь директориев и файлов или обрабатывающих имен поставленных потребителем включать следующее:

Использование любой символ на текущей кодовой странице для имени, но не использует разделитель пути, символ в дипазоне 0 по 31, или любой символ явно отвергался файловой системой. Имя может содержать символы в расширенном наборе символов (128-255).
Использование обратная косая черта (\), форвардный разрез (/), или оба, чтобы разделять компоненты в пути. Никакой другой символ не приемлемый как разделитель пути.
Использование период (.) как компонент директория в пути, чтобы представлять текущий директорий.

Использование два последовательных периода (..) как компонент директория в пути, чтобы представлять родителя текущего директория.
Использование период (.), чтобы разделять базовый filename из расширения в имени директория или filename.
Не использовать следующие символы в именах директория или filenames, поскольку они зарезервированы для Окна:

< > : " / \ |

Не использовать имена устройства, как например, всп., жулик, и prn, как filenames или имена директория.
Процесс путь как недействительный расторгнутая строка. Максимальная длина для пути, включая конечную обратную косую черту, дана MAX_PATH.

Широкие версии (Уникод) CreateDirectory, FindFirstFile, GetFileAttributes, и пути разрешения функций SetFileAttributes, которые превышают длину MAX_PATH если путь имеет префикс "\\?\" или "\\?\UNC\". Эти префиксы направляют функции, чтобы выключать синтаксический анализ пути. Используйте префикс "\\?\" префикс с путями для локальных устройств памяти и "\\?\UNC\" с путями, имеющими Универсальный формат ОБОЗНАЧЕНИЙ.

Не принимать чувствительность случая. Рассматривайте имена как например, OSCAR, Oscar, и oscar, чтобы быть тем же.



Следуя за правилами указывался в этой секции, приложение может создать правильный называет в честь файлов и директориев независимо от файловой системы в использовании.

Долго (длиной) Filenames на Windows NT

Операционная система загружает длинные filenames на диске как специальные данные директория. Когда Вы создаете длинный filename, операционная система создает соответствующей перемычке 8.3 форм имени.
Операционная система загружает длинные filenames на диске в Уникоде. Это означает, что оригинальный длинный filename всегда сохранено, даже если бы это содержит расширенные символы, и независимо от кодовой страницы, которая активна в течение диска прочитанного или операция записи. Случай filename сохранен, но файловая система не случай-чувствительная.

Правильный набор символов для этих длинных filenames - набор символов NTFS, менее один символ: двоеточие (':'), что NTFS используется для открытия альтернативных файловых потоков. Это означает, что Вы можете свободно скопировать файлы между NTFS и разделы ЖИРА не теряя любую файловую информацию имени.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz