Função NCryptStreamOpenToProtect (ncryptprotect.h)
A função NCryptStreamOpenToProtect abre um objeto de fluxo que pode ser usado para criptografar grandes quantidades de dados para um determinado descritor de proteção. Chame NCryptStreamUpdate para criptografar o conteúdo. Para criptografar mensagens menores, como chaves e senhas, chame NCryptProtectSecret.
Sintaxe
SECURITY_STATUS NCryptStreamOpenToProtect(
[in] NCRYPT_DESCRIPTOR_HANDLE hDescriptor,
DWORD dwFlags,
[in, optional] HWND hWnd,
[in] NCRYPT_PROTECT_STREAM_INFO *pStreamInfo,
[out] NCRYPT_STREAM_HANDLE *phStream
);
Parâmetros
[in] hDescriptor
Identificador do descritor de proteção. Crie o identificador chamando NCryptCreateProtectionDescriptor.
dwFlags
O sinalizador pode ser zero ou o valor a seguir.
Valor | Significado |
---|---|
|
Solicita que o provedor de serviços de chave não exiba uma interface do usuário. |
[in, optional] hWnd
Manipule para a janela pai da interface do usuário, se houver, a ser exibida.
[in] pStreamInfo
Ponteiro para uma estrutura NCRYPT_PROTECT_STREAM_INFO que contém o endereço de uma função de retorno de chamada definida pelo usuário para receber os dados criptografados e um ponteiro para dados de contexto definidos pelo usuário.
[out] phStream
Ponteiro para o identificador do objeto de fluxo.
Retornar valor
Retorna um código status que indica o êxito ou a falha da função. Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.
Código de retorno | Descrição |
---|---|
|
A função foi bem-sucedida. |
|
O parâmetro dwFlags deve conter zero (0), NCRYPT_MACHINE_KEY_FLAG ou NCRYPT_SILENT_FLAG. |
|
O identificador especificado pelo parâmetro hDescriptor não é válido. |
|
Os parâmetros phStream e pStreamInfo não podem ser NULL.
A função de retorno de chamada apontada pelo membro pfnStreamOutput da estrutura NCRYPT_PROTECT_STREAM_INFO apontada pelo parâmetro pStreamInfo não pode ser NULL. |
|
Não havia memória suficiente para alocar um fluxo de dados. |
Comentários
A função NCryptStreamOpenToProtect cria um objeto de fluxo interno que pode ser usado para criptografar mensagens grandes. Você não pode usar o objeto diretamente. Em vez disso, você deve usar o identificador de objeto retornado por essa função.
Chame essa função antes de chamar a função NCryptStreamUpdate . Se você estiver criptografando um arquivo grande, use NCryptStreamUpdate em um loop que avança pelo bloco de arquivos por bloco, criptografando cada bloco conforme ele avança e notificando o retorno de chamada quando cada bloco for concluído. Para obter mais informações, consulte NCryptStreamUpdate.
A função NCryptStreamOpenToProtect grava a cadeia de caracteres de regra do descritor de proteção não criptografada no cabeçalho do objeto de fluxo para que NCryptStreamOpenToUnprotect possa iniciar a descriptografia do fluxo usando o mesmo protetor usado durante a criptografia.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ncryptprotect.h |
Biblioteca | NCrypt.lib |
DLL | NCrypt.dll |