Поделиться через


Функция CheckNameLegalDOS8Dot3A (winbase.h)

Определяет, можно ли использовать указанное имя для создания файла в файловой системе FAT.

Синтаксис

BOOL CheckNameLegalDOS8Dot3A(
  [in]            LPCSTR lpName,
  [out, optional] LPSTR  lpOemName,
  [in]            DWORD  OemNameSize,
  [out, optional] PBOOL  pbNameContainsSpaces,
  [out]           PBOOL  pbNameLegal
);

Параметры

[in] lpName

Имя файла в формате 8.3.

[out, optional] lpOemName

Указатель на буфер, получающий строку OEM, соответствующую имени. Этот параметр может принимать значение NULL.

[in] OemNameSize

Размер буфера lpOemName в символах. Если lpOemName имеет значение NULL, этот параметр должен иметь значение 0 (ноль).

[out, optional] pbNameContainsSpaces

Указывает, содержит ли имя пробелы. Этот параметр может принимать значение NULL. Если имя не является допустимым именем файловой системы 8.3 FAT, этот параметр не определен.

[out] pbNameLegal

Если функция выполняется успешно, этот параметр указывает, является ли имя файла допустимым именем 8.3 FAT при применении текущей кодовой страницы OEM к имени файла.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция завершается сбоем, возвращаемое значение равно 0 (ноль). Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Эта функция может использоваться для определения того, можно ли передавать имя файла в 16-разрядное приложение Windows или приложение на основе MS-DOS.

В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.

Технология Поддерживается
Протокол SMB 3.0 Да
Прозрачная отработка отказа (TFO) SMB 3.0 См. примечания
SMB 3.0 с масштабируемыми общими папками (SO) См. примечания
Файловая система общего тома кластера (CSVFS) Да
Восстанавливаемая файловая система (ReFS) Да
 

Обратите внимание, что SMB 3.0 не поддерживает короткие имена в общих папках с возможностью непрерывной доступности, поэтому функция всегда возвращает ноль (сбой).

Примечание

Заголовок winbase.h определяет CheckNameLegalDOS8Dot3 в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows Vista, Windows XP с пакетом обновления 1 (SP1) [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Функции управления файлами

GetOEMCP