Compartilhar via


Função de retorno de chamada EDITSTREAMCALLBACK (richedit.h)

A função EditStreamCallback é uma função de retorno de chamada definida pelo aplicativo usada com as mensagens EM_STREAMIN e EM_STREAMOUT. Ele é usado para transferir um fluxo de dados para ou para fora de um controle de edição avançada. O tipo de EDITSTREAMCALLBACK define um ponteiro para essa função de retorno de chamada. editStreamCallback é um espaço reservado para o nome da função definida pelo aplicativo.

Sintaxe

EDITSTREAMCALLBACK Editstreamcallback;

DWORD Editstreamcallback(
  [in] DWORD_PTR dwCookie,
  [in] LPBYTE pbBuff,
  [in] LONG cb,
  [in] LONG *pcb
)
{...}

Parâmetros

[in] dwCookie

Tipo: DWORD_PTR

Valor do membro dwCookie da estrutura de EDITSTREAM . O aplicativo especifica esse valor quando envia a mensagem EM_STREAMIN ou EM_STREAMOUT.

[in] pbBuff

Tipo: LPBYTE

Ponteiro para um buffer para ler ou gravar. Para uma operação de stream-in (leitura), a função de retorno de chamada preenche esse buffer com dados para serem transferidos para o controle de edição avançada. Para uma operação de stream-out (gravação), o buffer contém dados do controle que a função de retorno de chamada grava em algum armazenamento.

[in] cb

Tipo: LONG

Número de bytes para leitura ou gravação.

[in] pcb

Tipo: * LONG

Ponteiro para uma variável que a função de retorno de chamada define como o número de bytes realmente lidos ou gravados.

Valor de retorno

Tipo: DWORD

A função de retorno de chamada retorna zero para indicar êxito.

A função de retorno de chamada retorna um valor diferente de zero para indicar um erro. Se ocorrer um erro, a operação de leitura ou gravação terminará e o controle de edição avançada descartará todos os dados no buffer pbBuff . Se a função de retorno de chamada retornar um valor diferente de zero, o controle de edição avançada usará o dwError membro da estrutura de EDITSTREAM para passar o valor de volta para o aplicativo.

Observações

Quando você envia a mensagem EM_STREAMIN ou EM_STREAMOUT para um controle de edição avançada, o membro do pfnCallback da estrutura EDITSTREAM especifica um ponteiro para uma função editStreamCallback . O controle de edição avançada chama repetidamente a função para transferir um fluxo de dados para dentro ou fora do controle.

Ao enviar a mensagem EM_STREAMIN ou EM_STREAMOUT, especifique um valor para o membro dwCookie da estrutura de EDITSTREAM . O controle de edição avançada usa o parâmetro dwCookie para passar esse valor para a função EditStreamCallback . Por exemplo, você pode usar dwCookie para passar um identificador para um arquivo aberto. A função de retorno de chamada pode usar o identificador dwCookie para ler ou gravar no arquivo.

O controle chama a função de retorno de chamada repetidamente, transferindo uma parte dos dados com cada chamada. O controle continua a chamar a função de retorno de chamada até que uma das seguintes condições ocorra:

  • A função de retorno de chamada retorna um valor diferente de zero.
  • A função de retorno de chamada retorna zero no parâmetro * pcb.
  • Ocorre um erro que impede o controle de edição avançada de transferir dados para dentro ou para fora de si mesmo. Exemplos são situações de memória insuficiente, falha de uma função do sistema ou um caractere inválido no buffer de leitura.
  • Para uma operação de stream-in, o código RTF contém dados que especificam o fim de um bloco RTF.
  • Para uma operação de stream-in em um controle de edição de linha única, o retorno de chamada lê em um caractere de fim de parágrafo (CR, LF, VT, LS ou PS).

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista [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 richedit.h

Consulte também

EDITSTREAM

EM_STREAMIN

EM_STREAMOUT

de referência de