Compartilhar via


Função GetDiskFreeSpaceExA (fileapi.h)

Recupera informações sobre a quantidade de espaço disponível em um volume de disco, que é a quantidade total de espaço, a quantidade total de espaço livre e a quantidade total de espaço livre disponível para o usuário associado ao thread de chamada.

Sintaxe

BOOL GetDiskFreeSpaceExA(
  [in, optional]  LPCSTR          lpDirectoryName,
  [out, optional] PULARGE_INTEGER lpFreeBytesAvailableToCaller,
  [out, optional] PULARGE_INTEGER lpTotalNumberOfBytes,
  [out, optional] PULARGE_INTEGER lpTotalNumberOfFreeBytes
);

Parâmetros

[in, optional] lpDirectoryName

Um diretório no disco.

Se esse parâmetro for NULL, a função usará a raiz do disco atual.

Se esse parâmetro for um nome UNC, ele deverá incluir uma barra invertida à direita, por exemplo, "\\MyServer\MyShare\".

Esse parâmetro não precisa especificar o diretório raiz em um disco. A função aceita qualquer diretório em um disco.

O aplicativo de chamada deve ter direitos de acesso FILE_LIST_DIRECTORY para isso
diretório.

[out, optional] lpFreeBytesAvailableToCaller

Um ponteiro para uma variável que recebe o número total de bytes gratuitos em um disco que está disponível para o usuário associado ao thread de chamada.

Esse parâmetro pode ser NULL.

Se as cotas por usuário estiverem sendo usadas, esse valor poderá ser menor que o número total de bytes gratuitos em um disco.

[out, optional] lpTotalNumberOfBytes

Um ponteiro para uma variável que recebe o número total de bytes em um disco que está disponível para o usuário associado ao thread de chamada.

Esse parâmetro pode ser NULL.

Se cotas por usuário estiverem sendo usadas, esse valor poderá ser menor que o número total de bytes em um disco.

Para determinar o número total de bytes em um disco ou volume, use IOCTL_DISK_GET_LENGTH_INFO.

[out, optional] lpTotalNumberOfFreeBytes

Um ponteiro para uma variável que recebe o número total de bytes gratuitos em um disco.

Esse parâmetro pode ser NULL.

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 (0). Para obter informações de erro estendidas, chame GetLastError.

Observações

Os valores obtidos por essa função são do tipo ULARGE_INTEGER. Não trunque esses valores em 32 bits.

A função GetDiskFreeSpaceEx retorna zero (0) para lpTotalNumberOfFreeBytes e lpFreeBytesAvailable para todas as solicitações de CD, a menos que o disco seja um CD não escrito em uma unidade de CD-RW.

Comportamento simbólico de vínculo — se o caminho apontar para um link simbólico, a operação será executada no destino.

Nota

O cabeçalho fileapi.h define GetDiskFreeSpaceEx 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. 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 [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho fileapi.h (inclua Windows.h)
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

Funções de gerenciamento de disco

GetDiskFreeSpace

GetModuleHandle