Função ReadEncryptedFileRaw (winbase.h)

Faz backup (exportação) de arquivos criptografados. Essa é uma de um grupo de funções do EFS (Encrypted File System) destinadas a implementar a funcionalidade de backup e restauração, mantendo arquivos em seu estado criptografado.

Sintaxe

DWORD ReadEncryptedFileRaw(
  [in]           PFE_EXPORT_FUNC pfExportCallback,
  [in, optional] PVOID           pvCallbackContext,
  [in]           PVOID           pvContext
);

Parâmetros

[in] pfExportCallback

Um ponteiro para a função de retorno de chamada de exportação. O sistema chama a função de retorno de chamada várias vezes, cada vez passando um bloco dos dados do arquivo para a função de retorno de chamada até que todo o arquivo seja lido. Para obter mais informações, consulte ExportCallback.

[in, optional] pvCallbackContext

Um ponteiro para um bloco de contexto definido pelo aplicativo e alocado. O sistema passa esse ponteiro para a função de retorno de chamada como um parâmetro para que a função de retorno de chamada possa ter acesso a dados específicos do aplicativo. Isso pode ser uma estrutura e pode conter todos os dados necessários pelo aplicativo, como o identificador para o arquivo que conterá a cópia de backup do arquivo criptografado.

[in] pvContext

Um ponteiro para um bloco de contexto definido pelo sistema. O bloco de contexto é retornado pela função OpenEncryptedFileRaw . Não modifique-a.

Retornar valor

Se a função for bem-sucedida, o valor retornado será 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.

Comentários

O arquivo que está sendo copiado em backup não é descriptografado; é feito backup em seu estado criptografado.

Para fazer backup de um arquivo criptografado, chame OpenEncryptedFileRaw para abrir o arquivo. Em seguida, chame ReadEncryptedFileRaw, passando-lhe o endereço de uma função de retorno de chamada de exportação definida pelo aplicativo. O sistema chama essa função de retorno de chamada várias vezes até que todo o conteúdo do arquivo tenha sido lido e feito backup. Quando o backup for concluído, chame CloseEncryptedFileRaw para liberar recursos e fechar o arquivo. Consulte ExportCallback para obter detalhes sobre como declarar a função de retorno de chamada de exportação.

Para restaurar um arquivo criptografado, chame OpenEncryptedFileRaw, especificando CREATE_FOR_IMPORT no parâmetro ulFlags . Em seguida, chame WriteEncryptedFileRaw, passando-lhe o endereço de uma função de retorno de chamada de importação definida pelo aplicativo. O sistema chama essa função de retorno de chamada várias vezes até que todo o conteúdo do arquivo seja lido e restaurado. Quando a restauração for concluída, chame CloseEncryptedFileRaw para liberar recursos e fechar o arquivo. Consulte ImportCallback para obter detalhes sobre como declarar a função de retorno de chamada de importação.

Essa função destina-se ao backup apenas de arquivos criptografados; consulte BackupRead para backup de arquivos não criptografados.

Em Windows 8, Windows Server 2012 e posteriores, 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 No
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) No
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) No
ReFS (Sistema de Arquivos Resiliente) No
 

O SMB 3.0 não dá suporte ao EFS em compartilhamentos com funcionalidade de disponibilidade contínua.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP Professional [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 winbase.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll
Conjunto de APIs ext-ms-win-advapi32-encryptedfile-l1-1-0 (introduzido no Windows 8)

Confira também

BackupRead

CloseEncryptedFileRaw

Criptografia de Arquivo

Funções de gerenciamento de arquivos

OpenEncryptedFileRaw

WriteEncryptedFileRaw