Função LZOpenFileA (lzexpand.h)
Cria, abre, reabre ou exclui o arquivo especificado.
Sintaxe
INT LZOpenFileA(
[in] LPSTR lpFileName,
[out] LPOFSTRUCT lpReOpenBuf,
[in] WORD wStyle
);
Parâmetros
[in] lpFileName
O nome do arquivo.
[out] lpReOpenBuf
Um ponteiro para a estrutura OFSTRUCT que deve receber informações sobre o arquivo quando o arquivo for aberto pela primeira vez. A estrutura pode ser usada em chamadas subsequentes para a função LZOpenFile para ver o arquivo aberto.
O membro szPathName dessa estrutura contém caracteres do conjunto de caracteres OEM (fabricante do equipamento original).
[in] wStyle
A ação a ser tomada. Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
Ignorado. Fornecido apenas para compatibilidade com o Windows de 16 bits. Use o estilo OF_PROMPT para exibir uma caixa de diálogo que contém um botão Cancelar . |
|
Direciona LZOpenFile para criar um novo arquivo. Se o arquivo já existir, ele será truncado para tamanho zero. |
|
Exclui o arquivo. |
|
Abre o arquivo e o fecha para testar a existência de um arquivo. |
|
Preenche a estrutura OFSTRUCT , mas não executa nenhuma outra ação. |
|
Exibe uma caixa de diálogo se o arquivo solicitado não existir. A caixa de diálogo informa ao usuário que o sistema não pode encontrar o arquivo e que ele contém os botões Repetir e Cancelar . Clicar no botão Cancelar direciona LZOpenFile para retornar uma mensagem de erro de arquivo não encontrado. |
|
Abre o arquivo para somente leitura. |
|
Abre o arquivo para leitura e gravação. |
|
Abre o arquivo usando informações no buffer de reabertura. |
|
Abre o arquivo sem negar a outros processos acesso de leitura ou gravação ao arquivo. O LZOpenFile falhará se o arquivo tiver sido aberto no modo de compatibilidade por qualquer outro processo. |
|
Abre o arquivo e nega a outros processos acesso de leitura ao arquivo. O LZOpenFile falhará se o arquivo tiver sido aberto no modo de compatibilidade ou tiver sido aberto para acesso de leitura por qualquer outro processo. |
|
Abre o arquivo e nega a outros processos o acesso de gravação ao arquivo. O LZOpenFile falhará se o arquivo tiver sido aberto no modo de compatibilidade ou tiver sido aberto para acesso de gravação por qualquer outro processo. |
|
Abre o arquivo no modo exclusivo, negando a outros processos acesso de leitura e gravação ao arquivo. O LZOpenFile falhará se o arquivo tiver sido aberto em qualquer outro modo para acesso de leitura ou gravação, mesmo pelo processo atual. |
|
Abre o arquivo somente gravação. |
Retornar valor
Se a função for bem-sucedida e o valor especificado pelo parâmetro wStyle não for OF_READ, o valor retornado será um identificador que identifica o arquivo. Se o arquivo for compactado e aberto com wStyle definido como OF_READ, o valor retornado será um identificador de arquivo especial.
Se a função falhar, o valor retornado será um código LZERROR_* . Esses códigos têm valores inferiores a zero. Não há informações de erro estendidas para essa função; não chame GetLastError.
Valor/código retornado | Descrição |
---|---|
|
O identificador que identifica o arquivo de origem não é válido. O arquivo não pode ser lido. |
|
O número máximo de arquivos compactados abertos foi excedido ou a memória local não pode ser alocada. |
Comentários
Se o parâmetro wStyle for o sinalizador OF_READ (ou OF_READ e qualquer um dos sinalizadores OF_SHARE_* ) e o arquivo for compactado, LZOpenFile chamará a função LZInit , que executa a inicialização necessária para as operações de descompactação.
O identificador que essa função retorna é compatível apenas com as funções em Lz32.dll; ele não deve ser usado para outras operações de arquivo.
Se LZOpenFile não conseguir abrir o arquivo especificado por lpFileName, em algumas versões do Windows ele tentará abrir um arquivo com quase o mesmo nome de arquivo, exceto que o último caractere será substituído por um sublinhado (""). Assim, se uma tentativa de abrir "MyProgram.exe" falhar, LZOpenFile tentará abrir "MyProgram.ex". Os pacotes de instalação geralmente substituem o sublinhado pela última letra de uma extensão de nome de arquivo para indicar que o arquivo está compactado. Por exemplo, "MyProgram.exe" compactado pode ser chamado de "MyProgram.ex_". Para determinar o nome do arquivo aberto (se houver), examine o membro szPathName da estrutura OFSTRUCT no parâmetro lpReOpenBuf .
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.
Observação
O cabeçalho lzexpand.h define LZOpenFile 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. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
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