Share 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 dentro ou para fora de um controle de edição avançada. O tipo 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 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 transferir 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 a serem lidos ou gravados.

[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.

Retornar valor

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 membro dwError da estrutura EDITSTREAM para passar o valor de volta para o aplicativo.

Comentários

Quando você envia a mensagem EM_STREAMIN ou EM_STREAMOUT para um controle de edição avançada, o membro 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 , você especifica um valor para o membro dwCookie da estrutura EDITSTREAM . O controle de edição avançada usa o parâmetro dwCookie para passar esse valor para sua função EditStreamCallback . Por exemplo, você pode usar dwCookie para passar um identificador para um arquivo aberto. Em seguida, 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 ocorra uma das seguintes condições:

  • 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 que o controle de edição avançada transmira dados para dentro ou 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
Cliente mínimo com suporte Windows Vista [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 richedit.h

Confira também

EDITSTREAM

EM_STREAMIN

EM_STREAMOUT

Referência