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


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

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

Синтаксис

BOOL CheckNameLegalDOS8Dot3W(
  [in]            LPCWSTR 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. Если имя не является допустимым именем файловой системы FAT 8.3, этот параметр не определен.

[out] pbNameLegal

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

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

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

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

Комментарии

С помощью этой функции можно определить, можно ли передавать имя файла в 16-разрядное приложение windows или приложение на основе MS-DOS.

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

Технология Поддерживается
Протокол SMB 3.0 Да
SMB 3.0 Transparent Failover (TFO) См. примечания
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