跳转到主要内容
此方法在客户端实现,用于从自定义源输入要处理的数据。实现此方法时,应创建一个数据数组并将其控制权交给调用方,之后由调用方负责在使用完毕后释放其内存。

语法

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

参数

Data [out] 此参数表示要读取的数据。此方法的实现应创建此数组,并将所需数据写入其中。不再需要这块内存时,由调用方负责释放。 Count [in] 此参数指定要读取的字节数上限。 BytesRead [out, retval] 此参数指定实际读取的字节数 (即 Data 缓冲区占用的内存大小) 。如果该数值大于 0,则会再次调用此方法,直到此参数返回 0。

返回值

[仅限 C++] 如果此方法返回的值不是 S_OK,则表示客户端一侧发生了错误。

备注

此方法的客户端实现必须确保在方法内部抛出的所有异常都得到捕获和处理,且不会传播到方法外部。异常一旦传播到方法外部,可能会导致不可预测的结果 (例如程序终止) 。

另请参见

IReadStream