Compartilhar via


Função de retorno de chamada PFNCryptStreamOutputCallback (ncryptprotect.h)

A função PFNCryptStreamOutputCallback recebe dados criptografados ou descriptografados de tarefas iniciadas usando as funções NCryptStreamOpenToProtect ou NCryptStreamOpenToUnprotect . Esse retorno de chamada deve ser definido pelo aplicativo usando a sintaxe a seguir.

Sintaxe

PFNCryptStreamOutputCallback Pfncryptstreamoutputcallback;

SECURITY_STATUS Pfncryptstreamoutputcallback(
  [in] void *pvCallbackCtxt,
  [in] const BYTE *pbData,
       SIZE_T cbData,
       BOOL fFinal
)
{...}

Parâmetros

[in] pvCallbackCtxt

Ponteiro para os dados que você pode usar para acompanhar seu aplicativo. Os dados não são modificados pela API de proteção de dados.

Nota Você pode definir um ponteiro para os dados de contexto no membro pvCallbackCtxt da estrutura NCRYPT_PROTECT_STREAM_INFO antes de passar um ponteiro para essa estrutura no parâmetro pStreamInfo das funções NCryptStreamOpenToProtect ou NCryptStreamOpenToUnprotect .
 

[in] pbData

Ponteiro para um bloco de dados processados que pode ser usado pelo aplicativo.

cbData

O tamanho, em bytes, dos dados processados apontados pelo parâmetro pbData .

fFinal

Se esse valor for TRUE, o bloco de dados atual será o último a ser processado e esta será a última vez que o retorno de chamada será chamado.

Retornar valor

Se você retornar qualquer código status diferente de ERROR_SUCCESS da implementação dessa função de retorno de chamada, o processo de criptografia ou descriptografia de fluxo falhará.

Código de retorno Descrição
ERROR_SUCCESS
A função foi bem-sucedida.

Comentários

Defina um ponteiro para essa função de retorno de chamada no membro pfnStreamOutput da estrutura NCRYPT_PROTECT_STREAM_INFO . Defina um ponteiro para a estrutura no parâmetro pStreamInfo das funções NCryptStreamOpenToProtect ou NCryptStreamOpenToUnprotect .

Você pode usar esse retorno de chamada para processar ainda mais os dados criptografados ou descriptografados. Um uso comum da função é gravar os dados no disco conforme eles são recebidos da API de proteção de dados. Os blocos de dados criptografados ou não criptografados são criados pela função NCryptStreamUpdate .

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

Confira também

Funções DPAPI do CNG

NCRYPT_PROTECT_STREAM_INFO

NCryptStreamOpenToProtect

NCryptStreamOpenToUnprotect

NCryptStreamUpdate