Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Define o nome curto do arquivo especificado. O arquivo deve estar em um volume do sistema de arquivos NTFS.
Sintaxe
BOOL SetFileShortNameA(
[in] HANDLE hFile,
[in] LPCSTR lpShortName
);
Parâmetros
[in] hFile
Um identificador para o arquivo. O arquivo deve ser aberto com DELETE e com o atributo de arquivo FILE_FLAG_BACKUP_SEMANTICS.
Nota
Antes do Windows 10, versão 1903, o arquivo deve ser aberto com o acesso GENERIC_ALL direito ou GENERIC_WRITE|DELETEe com o atributo de arquivo FILE_FLAG_BACKUP_SEMANTICS.
[in] lpShortName
Um ponteiro para uma cadeia de caracteres que especifica o nome curto do arquivo.
Especificar uma cadeia de caracteres vazia (de comprimento zero) removerá o nome do arquivo curto, se existir para o arquivo especificado pelo parâmetro hFile. Se um nome de arquivo curto não existir, a função não fará nada e retornará o sucesso.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse comportamento não tem suporte. O parâmetro deve conter uma cadeia de caracteres válida de um ou mais caracteres.
Valor de retorno
Se a função for bem-sucedida, o valor retornado não será zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError. GetLastError pode retornar um dos seguintes códigos de erro específicos para esta função:
| Código de retorno | Descrição |
|---|---|
| ERROR_ALREADY_EXISTS | O nome curto especificado não é exclusivo. |
| ERROR_INVALID_PARAMETER | O arquivo especificado foi aberto no modo que diferencia maiúsculas de minúsculas ou o nome curto especificado é inválido. |
Observações
Nota
Antes do Windows 10, versão 1903, o privilégio SE_RESTORE_NAME era necessário para chamar essa função. Para obter mais informações, consulte Em execução com privilégios especiais.
No Windows 8 e no Windows Server 2012, essa função é compatível com as seguintes tecnologias:
| Tecnologia | Suportado |
|---|---|
| Protocolo SMB (Bloco de Mensagens do Servidor) 3.0 | Sim |
| TFO (Failover Transparente) do SMB 3.0 | Não |
| SMB 3.0 com Compartilhamentos de Arquivos de Expansão (SO) | Não |
| Sistema de Arquivos de Volume Compartilhado de Cluster (CsvFS) | Sim |
| ReFS (Sistema de Arquivos Resiliente) | Não |
O SMB 3.0 não dá suporte a nomes curtos em compartilhamentos com capacidade de disponibilidade contínua. Nomes curtos não são recomendados em CsvFs.
Nota
O cabeçalho winbase.h define SetFileShortName como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
| Requisito | Valor |
|---|---|
| de cliente com suporte mínimo | Windows XP [somente aplicativos da área de trabalho] |
| servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
| da Plataforma de Destino |
Windows |
| cabeçalho | winbase.h (inclua Windows.h) |
| biblioteca | Kernel32.lib |
| de DLL |
Kernel32.dll |