Saltar al contenido principal
Este método se implementa del lado del cliente y se utiliza para proporcionar los datos que se van a procesar desde un origen personalizado. La implementación de este método debe crear una matriz de datos y pasarla al llamador, que luego será responsable de liberar su memoria una vez que haya terminado de usarla.

Sintaxis

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 hace referencia a los datos que se van a leer. La implementación de este método debe crear este arreglo y escribir en él los datos necesarios. El código que realiza la llamada es responsable de liberar esta memoria cuando ya no sea necesaria. Count [in] Este parámetro especifica el límite máximo del número de bytes que se van a leer. BytesRead [out, retval] Este parámetro especifica el número de bytes que se leyeron realmente (es decir, el tamaño de memoria ocupado por el búfer Data). Si este número es mayor que 0, el método se volverá a llamar hasta que este parámetro devuelva 0.

Valores de retorno

[Solo en C++] Si este método devuelve un valor distinto de S_OK, esto indica que se ha producido un error del lado del cliente.

Observaciones

La implementación del cliente de este método debe garantizar que todas las excepciones que se produzcan dentro del método se capturen y gestionen, y que no se propaguen fuera de él. La propagación de una excepción fuera del método puede dar lugar a resultados impredecibles, como la finalización del programa.

Consulte también

IReadStream