Compartilhar via


Função OpenEncryptedFileRawA (winbase.h)

Abre um arquivo criptografado para fazer backup (exportar) ou restaurar (importar) o arquivo. Essa é uma das funções do EFS (Encrypted File System) que se destina a implementar a funcionalidade de backup e restauração, mantendo arquivos em seu estado criptografado.

Sintaxe

DWORD OpenEncryptedFileRawA(
  [in]  LPCSTR lpFileName,
  [in]  ULONG  ulFlags,
  [out] PVOID  *pvContext
);

Parâmetros

[in] lpFileName

O nome do arquivo a ser aberto. A cadeia de caracteres deve consistir em caracteres do conjunto de caracteres do Windows.

[in] ulFlags

A operação a ser executada. Esse parâmetro pode ser um dos seguintes valores.

Valor Significado
0
Abra o arquivo para exportação (backup).
CREATE_FOR_IMPORT
1
O arquivo está sendo aberto para importação (restauração).
CREATE_FOR_DIR
2
Importar (restaurar) um diretório que contém arquivos criptografados. Isso deve ser combinado com um dos dois sinalizadores anteriores para indicar a operação.
OVERWRITE_HIDDEN
4
Substitua um arquivo oculto na importação.

[out] pvContext

O endereço de um bloco de contexto que deve ser apresentado em chamadas subsequentes para ReadEncryptedFileRaw, WriteEncryptedFileRawou CloseEncryptedFileRaw. Não modifique-o.

Valor de retorno

Se a função for bem-sucedida, ela retornará ERROR_SUCCESS.

Se a função falhar, ela retornará um código de erro diferente de zero definido em WinError.h. Você pode usar FormatMessage com o sinalizador FORMAT_MESSAGE_FROM_SYSTEM para obter uma descrição de texto genérica do erro.

Observações

O chamador deve ter acesso de leitura ou gravação ao arquivo ou deve ter privilégio de backup SeBackupPrivilege no computador no qual os arquivos residem para que a chamada seja bem-sucedida.

Para fazer backup de um arquivo criptografado, chame OpenEncryptedFileRaw para abrir o arquivo e, em seguida, chame ReadEncryptedFileRaw. Quando o backup for concluído, chame CloseEncryptedFileRaw.

Para restaurar um arquivo criptografado, chame OpenEncryptedFileRaw, especificando CREATE_FOR_IMPORT no parâmetro ulFlags e, em seguida, chame WriteEncryptedFileRaw uma vez. Quando a operação for concluída, chame CloseEncryptedFileRaw.

OpenEncryptedFileRaw falhará se lpFileName exceder MAX_PATH caracteres ao abrir um arquivo criptografado em um computador remoto.

Se o chamador não tiver acesso à chave do arquivo, o chamador precisará SeBackupPrivilege para exportar arquivos criptografados ou SeRestorePrivilege para importar arquivos criptografados.

As funções BackupRead e BackupWrite manipulam o backup e a restauração de arquivos não criptografados.

No Windows 8, no Windows Server 2012 e posterior, essa função tem suporte nas tecnologias a seguir.

Tecnologia Suportado
Protocolo SMB (Bloco de Mensagens do Servidor) 3.0 Sim
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 EFS em compartilhamentos com capacidade de disponibilidade contínua.

Nota

O cabeçalho winbase.h define OpenEncryptedFileRaw 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 XP Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winbase.h (inclua Windows.h)
biblioteca Advapi32.lib
de DLL Advapi32.dll
conjunto de API ext-ms-win-advapi32-encryptedfile-l1-1-0 (introduzido no Windows 8)

Consulte também

BackupRead

BackupWrite

CloseEncryptedFileRaw

de Criptografia de Arquivo

Funções de gerenciamento de arquivos

ReadEncryptedFileRaw

WriteEncryptedFileRaw