ILockBytes::WriteAt 方法 (objidl.h)
WriteAt 方法从字节数组开头的指定偏移量开始写入指定的字节数。
语法
HRESULT WriteAt(
[in] ULARGE_INTEGER ulOffset,
[in] const void *pv,
[in] ULONG cb,
[out] ULONG *pcbWritten
);
参数
[in] ulOffset
指定要写入的数据的字节数组开头的起点。
[in] pv
指向包含要写入的数据的缓冲区的指针。
[in] cb
指定要尝试写入字节数组的数据字节数。
[out] pcbWritten
指向此方法指定写入字节数组的实际字节数的位置的指针。 可以将此指针设置为 NULL ,以指示你对此值不感兴趣。 在这种情况下,此方法不提供实际写入的字节数。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
S_OK | 指示已写入指定的字节数。 |
E_FAIL | 写入操作期间发生常规故障。 |
E_PENDING | 仅限异步存储:要写入的部分或全部数据当前不可用。 |
STG_E_ACCESSDENIED | 调用方没有足够的权限写入此字节数组。 |
STG_E_WRITEFAULT | 要写入的字节数不等于实际写入的字节数。 |
STG_E_MEDIUMFULL | 写入操作未完成,因为存储设备上没有剩余的空间。 实际写入的字节数仍以 写形式返回。 |
注解
ILockBytes::WriteAt 在字节数组中的指定位置写入指定数据。 即使返回了错误,实际写入的字节数也必须始终以 写返回。 如果字节计数为零字节,则写入操作不起作用。
如果 ulOffset 超过字节数组的末尾,而 cb 大于零, 则 ILockBytes::WriteAt 将增加字节数组的大小。 写入字节数组的填充字节不会初始化为任何特定值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | objidl.h |
Library | Uuid.lib |
DLL | Ole32.dll |