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


Функция 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, соответствующую Name. Этот параметр может быть NULL.

[in] OemNameSize

Размер буфера lpOemName в символах. Если lpOemNameNULL, этот параметр должен иметь значение 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 Да
Отработка отказа SMB 3.0 (TFO) Просмотр примечаний
SMB 3.0 с масштабируемыми общими папками (SO) Просмотр примечаний
Файловая система общего тома кластера (CSVFS) Да
Отказоустойчивая файловая система (ReFS) Да
 

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista, Windows XP с пакетом обновления 1 (SP1) [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка winbase.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

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

GetOEMCP