Pular para o conteúdo principal
Este método é implementado no lado do cliente e é usado para fornecer os dados para processamento a partir de uma fonte personalizada. A implementação desse método deve criar um array de dados e transferir seu controle ao chamador, que então será responsável por liberar a memória após o uso.

Sintaxe

C++

HRESULT Read(
  SAFEARRAY(BYTE)* Data,
  int              Count,
  int*             BytesRead
);

C#

int Read(
  out byte[] Data,
  int        Count
);

Visual Basic .NET

Function Read( _
  ByRef Data() As Byte, _
  ByVal Count As Integer _
) As Integer

Parâmetros

Data [out] Este parâmetro se refere aos dados a serem lidos. A implementação desse método deve criar esse array e gravar nele os dados necessários. O chamador é responsável por liberar essa memória quando ela não for mais necessária. Count [in] Este parâmetro especifica o limite máximo do número de bytes a serem lidos. BytesRead [out, retval] Este parâmetro especifica o número de bytes efetivamente lidos (ou seja, o tamanho da memória ocupada pelo buffer Data). Se esse número for maior que 0, o método será chamado novamente até que este parâmetro retorne 0.

Valores de retorno

[Somente C++] Se este método retornar um valor diferente de S_OK, isso indica que ocorreu um erro do lado do cliente.

Observações

A implementação do cliente desse método deve garantir que todas as exceções lançadas dentro do método sejam capturadas e tratadas e que nenhuma exceção seja propagada para fora dele. A propagação de uma exceção para fora do método pode levar a resultados imprevisíveis (como o encerramento do programa).

Veja também

IReadStream