IByteBuffer::Write 方法

[ Write 方法可用于“要求”部分中指定的操作系统。 它不适用于 Windows Server 2003 Service Pack 1 (SP1) 及更高版本、Windows Vista、Windows Server 2008 和操作系统的后续版本。 IStream 接口提供类似的功能。]

Write 方法将字节中的指定数字写入流对象,从当前搜寻指针处开始。

语法

HRESULT Write(
  [in]  BYTE *pByte,
  [in]  LONG cb,
  [out] LONG *pcbWritten
);

parameters

pByte [in]

包含要写入流的数据的缓冲区的地址。 即使 cb 为零,也必须为此参数提供有效的指针。

cb [in]

要尝试写入流的数据字节数。 此参数可以为零。

线路板 [ out]

LONG 变量的地址,此方法在其中写入到流对象的实际字节数。 调用方可以将此指针设置为 NULL,在这种情况下,此方法不提供实际写入的字节数。

返回值

返回值为 HRESULT。 值为 S_OK 表示调用成功。

备注

IByteBuffer::Write 方法将指定的数据写入流对象。 查找指针根据实际写入的字节数进行调整。 实际写入的字节数在 参数中返回。 如果字节计数为零字节,则写入操作不起作用。

如果搜寻指针当前超过流的末尾,并且字节计数为非零,则此方法将流的大小增加到搜寻指针,并写入从搜寻指针开始的指定字节。 写入流的填充字节不会初始化为任何特定值。 这与 MS-DOS FAT 文件系统中的文件结尾行为相同。

如果流末尾有零字节计数和寻道指针,此方法不会创建填充字节来增加查找指针的流。 在这种情况下,必须调用 IByteBuffer::SetSize 方法来增加流的大小并写入填充字节。

即使发生错误, 印刷电路板 参数也可以具有值。

在 COM 提供的实现中,流对象并不稀疏。 任何填充字节最终都会在磁盘上分配并分配给流。

示例

以下示例演示如何将字节写入流对象。

LONG     lWrite;
HRESULT  hr;

// Write to the buffer.
// byData is an array of 64 bytes.
hr = pIByteBuff->Write(byData,
                       64,
                       &lWrite);
if (FAILED(hr))
  printf("Failed IByteBuffer::Write\n");

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
客户端支持终止
Windows XP
终止服务器支持
Windows Server 2003
标头
Scardssp.h
类型库
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer定义为 E126F8FE-A7AF-11D0-B88A-00C04FD424B9