Метод 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 | Операция записи не была завершена, так как на устройстве хранения не осталось места. Фактическое число записанных байтов по-прежнему возвращается в pcbWritten. |
Комментарии
ILockBytes::WriteAt записывает указанные данные в указанное расположение в массиве байтов. Количество фактически записанных байтов всегда должно возвращаться в pcbWritten, даже если возвращается ошибка. Если число байтов равно нулю, операция записи не оказывает никакого влияния.
Если ulOffset находится за концом массива байтов, а cb больше нуля, ILockBytes::WriteAt увеличивает размер массива байтов. Байты заполнения, записанные в массив байтов, не инициализируются каким-либо конкретным значением.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | objidl.h |
Библиотека | Uuid.lib |
DLL | Ole32.dll |
См. также раздел
ILockBytes — реализация File-Based