Função GetVolumeInformationByHandleW (fileapi.h)
Recupera informações sobre o sistema de arquivos e o volume associados ao arquivo especificado.
Para recuperar o estado de compactação atual de um arquivo ou diretório, use FSCTL_GET_COMPRESSION.
Sintaxe
BOOL GetVolumeInformationByHandleW(
[in] HANDLE hFile,
[out, optional] LPWSTR lpVolumeNameBuffer,
[in] DWORD nVolumeNameSize,
[out, optional] LPDWORD lpVolumeSerialNumber,
[out, optional] LPDWORD lpMaximumComponentLength,
[out, optional] LPDWORD lpFileSystemFlags,
[out, optional] LPWSTR lpFileSystemNameBuffer,
[in] DWORD nFileSystemNameSize
);
Parâmetros
[in] hFile
Um manipulador para o arquivo.
[out, optional] lpVolumeNameBuffer
Um ponteiro para um buffer que recebe o nome de um volume especificado. O tamanho máximo do buffer é MAX_PATH+1
.
[in] nVolumeNameSize
O comprimento de um buffer de nome de volume, em WCHARs. O tamanho máximo do buffer é MAX_PATH+1
.
Esse parâmetro será ignorado se o buffer de nome do volume não for fornecido.
[out, optional] lpVolumeSerialNumber
Um ponteiro para uma variável que recebe o número de série do volume.
Esse parâmetro poderá ser NULL se o número de série não for necessário.
Essa função retorna o número de série do volume que o sistema operacional atribui quando um disco rígido é formatado. Para obter programaticamente o número de série do disco rígido que o fabricante atribui, use a propriedade SerialNumberWin32_PhysicalMedia da Instrumentação de Gerenciamento do Windows (WMI).
[out, optional] lpMaximumComponentLength
Um ponteiro para uma variável que recebe o comprimento máximo, em WCHARs, de um componente de nome de arquivo compatível com um sistema de arquivos especificado.
Um componente de nome de arquivo é a parte de um nome de arquivo entre barras invertidas.
O valor armazenado na variável para a qual *lpMaximumComponentLength aponta é usado para indicar que um sistema de arquivos especificado dá suporte a nomes longos. Por exemplo, para um sistema de arquivos FAT que dá suporte a nomes longos, a função armazena o valor 255, em vez do indicador 8.3 anterior. Nomes longos também podem ter suporte em sistemas que usam o sistema de arquivos NTFS.
[out, optional] lpFileSystemFlags
Um ponteiro para uma variável que recebe sinalizadores associados ao sistema de arquivos especificado.
Esse parâmetro pode ser um ou mais dos sinalizadores a seguir. No entanto, FILE_FILE_COMPRESSION e FILE_VOL_IS_COMPRESSED são mutuamente exclusivos.
Valor | Significado |
---|---|
|
O volume especificado dá suporte a nomes de arquivo que diferenciam maiúsculas de minúsculas. |
|
O volume especificado dá suporte a maiúsculas e minúsculas preservadas de nomes de arquivo quando coloca um nome no disco. |
|
O volume especificado dá suporte a Unicode em nomes de arquivo conforme eles aparecem no disco. |
|
O volume especificado preserva e impõe acl (listas de controle de acesso). Por exemplo, o sistema de arquivos NTFS preserva e impõe ACLs, e o sistema de arquivos FAT não. |
|
O volume especificado dá suporte à compactação baseada em arquivo. |
|
O volume especificado dá suporte a cotas de disco. |
|
O volume especificado dá suporte a arquivos esparsos. |
|
O volume especificado dá suporte a pontos de nova análise. |
|
O volume especificado é um volume compactado, por exemplo, um volume DoubleSpace. |
|
O volume especificado dá suporte a identificadores de objeto. |
|
O volume especificado dá suporte ao EFS (Sistema de Arquivos Criptografado). Para obter mais informações, consulte Criptografia de Arquivo. |
|
O volume especificado dá suporte a fluxos nomeados. |
|
O volume especificado é somente leitura. |
|
O volume especificado dá suporte a uma única gravação sequencial. |
|
O volume especificado dá suporte a transações. Para obter mais informações, consulte Sobre KTM. |
|
O volume especificado dá suporte a links rígidos. Para obter mais informações, consulte Links rígidos e junções.
Windows Vista e Windows Server 2008: Não há suporte para esse valor. |
|
O volume especificado dá suporte a atributos estendidos. Um atributo estendido é uma parte dos metadados específicos do aplicativo que um aplicativo pode associar a um arquivo e não faz parte dos dados do arquivo.
Windows Vista e Windows Server 2008: Não há suporte para esse valor. |
|
O sistema de arquivos dá suporte a open by FileID. Para obter mais informações, consulte FILE_ID_BOTH_DIR_INFO.
Windows Vista e Windows Server 2008: Não há suporte para esse valor. |
|
O volume especificado dá suporte a diários usn (número de sequência de atualização). Para obter mais informações, consulte Alterar registros de diário.
Windows Vista e Windows Server 2008: Não há suporte para esse valor. |
|
O volume especificado dá suporte ao compartilhamento de clusters lógicos entre arquivos no mesmo volume. O sistema de arquivos realoca em gravações em clusters compartilhados. Indica que FSCTL_DUPLICATE_EXTENTS_TO_FILE é uma operação com suporte. |
[out, optional] lpFileSystemNameBuffer
Um ponteiro para um buffer que recebe o nome do sistema de arquivos, por exemplo, o sistema de arquivos FAT ou o sistema de arquivos NTFS. O tamanho do buffer é especificado pelo parâmetro nFileSystemNameSize .
[in] nFileSystemNameSize
O comprimento do buffer de nome do sistema de arquivos, em WCHARs. O tamanho máximo do buffer é MAX_PATH+1
.
Esse parâmetro será ignorado se o buffer de nome do sistema de arquivos não for fornecido.
Valor retornado
Se todas as informações solicitadas forem recuperadas, o valor retornado será diferente de zero.
Se nem todas as informações solicitadas forem recuperadas, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
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 | Não |
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 Clusterizado (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
O SMB não dá suporte a funções de gerenciamento de volume.
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | fileapi.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |