Função GetCompressedFileSizeTransactedA (winbase.h)
[A Microsoft recomenda fortemente que os desenvolvedores utilizem meios alternativos para alcançar as necessidades do aplicativo. Muitos cenários para os quais o TxF foi desenvolvido podem ser obtidos por meio de técnicas mais simples e prontamente disponíveis. Além disso, o TxF pode não estar disponível em versões futuras do Microsoft Windows. Para obter mais informações e alternativas ao TxF, consulte Alternativas para usar o NTFS transacional.]
Recupera o número real de bytes de armazenamento em disco usados para armazenar um arquivo especificado como uma operação transacionada. Se o arquivo estiver localizado em um volume que dá suporte à compactação e o arquivo for compactado, o valor obtido será o tamanho compactado do arquivo especificado. Se o arquivo estiver localizado em um volume que dê suporte a arquivos esparsos e o arquivo for um arquivo esparso, o valor obtido será o tamanho esparso do arquivo especificado.
Sintaxe
DWORD GetCompressedFileSizeTransactedA(
[in] LPCSTR lpFileName,
[out, optional] LPDWORD lpFileSizeHigh,
[in] HANDLE hTransaction
);
Parâmetros
[in] lpFileName
O nome do arquivo.
Não especifique o nome de um arquivo em um dispositivo que não seja de navegação, como um pipe ou um dispositivo de comunicação, pois seu tamanho de arquivo não tem significado.
O arquivo deve residir no computador local; caso contrário, a função falhará e o último código de erro será definido como ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE.
[out, optional] lpFileSizeHigh
Um ponteiro para uma variável que recebe a DWORD de alta ordem do tamanho do arquivo compactado. O valor retornado da função é o DWORD de baixa ordem do tamanho do arquivo compactado.
Esse parâmetro poderá ser
[in] hTransaction
Um identificador para a transação. Esse identificador é retornado pela função
Valor de retorno
Se a função for bem-sucedida, o valor retornado é o
Se a função falhar e lpFileSizeHigh estiver NULL, o valor retornado será INVALID_FILE_SIZE. Para obter informações de erro estendidas, chame GetLastError.
Se o valor retornado for INVALID_FILE_SIZE e lpFileSizeHigh não forNULL, um aplicativo deverá chamar GetLastError para determinar se a função foi bem-sucedida (o valor é NO_ERROR) ou falhou (o valor é diferente de NO_ERROR).
Observações
Um aplicativo pode determinar se um volume é compactado chamando GetVolumeInformatione verificando o status do sinalizador FS_VOL_IS_COMPRESSED no valor DWORD apontado pelo parâmetro lpFileSystemFlags da função.
Se o arquivo não estiver localizado em um volume compatível com compactação ou arquivos esparsos ou se o arquivo não for compactado ou um arquivo esparso, o valor obtido será o tamanho real do arquivo, o mesmo que o valor retornado por uma chamada para GetFileSize.
links simbólicos: Se o caminho apontar para um link simbólico, a função retornará o tamanho do arquivo do destino.
No Windows 8 e no Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Suportado |
---|---|
Protocolo SMB (Bloco de Mensagens do Servidor) 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 de Cluster (CsvFS) | Não |
ReFS (Sistema de Arquivos Resiliente) | Não |
O SMB 3.0 não dá suporte ao TxF.
Nota
O cabeçalho winbase.h define GetCompressedFileSizeTransacted 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 Vista [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2008 [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 |
Consulte também
de compactação e descompactação de arquivos