Compartilhar via


Função LZRead (lzexpand.h)

Lê (no máximo) o número especificado de bytes de um arquivo e copia-os em um buffer.

Sintaxe

INT LZRead(
  [in]  INT  hFile,
  [out] CHAR *lpBuffer,
  [in]  INT  cbRead
);

Parâmetros

[in] hFile

Um manipulador para o arquivo.

[out] lpBuffer

Um ponteiro para um buffer que recebe os bytes lidos do arquivo. Verifique se esse buffer é maior que cbRead.

[in] cbRead

A contagem de bytes a serem lidos.

Valor retornado

Se a função for bem-sucedida, o valor retornado especificará o número de bytes lidos.

Se a função falhar, o valor retornado será um código LZERROR_*. Esses códigos têm valores menores que zero. Observe que LZRead não chama SetLastError nem SetLastErrorEx; Portanto, sua falha não afeta o código de último erro de um thread.

Veja a seguir a lista de códigos de erro que o LZRead pode retornar após a falha.

Código de retorno Descrição
LZERROR_BADINHANDLE
O identificador que identifica o arquivo de origem não é válido. O arquivo não pode ser lido.
LZERROR_BADOUTHANDLE
O identificador que identifica o arquivo de destino não é válido. O arquivo não pode ser gravado.
LZERROR_BADVALUE
Um dos parâmetros de entrada não é válido.
LZERROR_GLOBALLOC
O número máximo de arquivos compactados abertos foi excedido ou a memória local não pode ser alocada.
LZERROR_GLOBLOCK
O identificador de arquivo LZ não pode ser bloqueado.
LZERROR_READ
O formato do arquivo de origem não é válido.
LZERROR_WRITE
Não há espaço suficiente para o arquivo de saída.
 

Não há informações de erro estendidas para essa função; não chame GetLastError.

Comentários

O identificador que identifica o arquivo deve ser recuperado chamando a função LZInit ou LZOpenFile .

Se o arquivo for compactado, o LZRead operará em uma imagem expandida do arquivo e copiará os bytes de dados para o buffer especificado.

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 Sim
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Sim
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim
 

CsvFs fará E/S redirecionada em caso de arquivos compactados.

Requisitos

   
Cliente mínimo com suporte Windows XP [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 lzexpand.h (inclua Windows.h)
Biblioteca Lz32.lib
DLL Lz32.dll

Confira também

Descompactação e compactação de arquivo

Funções de gerenciamento de arquivos

LZInit

LZOpenFile

LZSeek