Função CheckNameLegalDOS8Dot3A (winbase.h)

Determina se o nome especificado pode ser usado para criar um arquivo em um sistema de arquivos FAT.

Sintaxe

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

Parâmetros

[in] lpName

O nome do arquivo, no formato 8.3.

[out, optional] lpOemName

Um ponteiro para um buffer que recebe a cadeia de caracteres OEM que corresponde a Name. Este parâmetro pode ser NULL.

[in] OemNameSize

O tamanho do buffer lpOemName , em caracteres. Se lpOemName for NULL, esse parâmetro deverá ser 0 (zero).

[out, optional] pbNameContainsSpaces

Indica se um nome contém ou não espaços. Este parâmetro pode ser NULL. Se o nome não for um nome válido do sistema de arquivos FAT 8.3, esse parâmetro será indefinido.

[out] pbNameLegal

Se a função for bem-sucedida, esse parâmetro indicará se um nome de arquivo é um nome de arquivo FAT 8.3 válido quando a página de código OEM atual é aplicada ao nome do arquivo.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero (0). Para obter informações de erro estendidas, chame GetLastError.

Comentários

Essa função pode ser usada para determinar se um nome de arquivo pode ou não ser passado para um aplicativo baseado no Windows de 16 bits ou um aplicativo baseado em MS-DOS.

No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.

Tecnologia Com suporte
Protocolo SMB (SMB) 3.0 Sim
TFO (Failover transparente) do SMB 3.0 Ver comentários
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Ver comentários
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim
 

Observe que o SMB 3.0 não dá suporte a nomes curtos em compartilhamentos com funcionalidade de disponibilidade contínua, portanto, a função sempre retornará zero (falha).

Observação

O cabeçalho winbase.h define CheckNameLegalDOS8Dot3 como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista, Windows XP com SP1 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winbase.h (incluir Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Funções de gerenciamento de arquivos

GetOEMCP