IArbitrarilyAccessedDataStorage::WriteOf

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
return_code_t PLATFORM_NATIVE_CALLING_CONVENTION WriteOf(bytecount_(cbKey) const void* pKey, std::uint32_t cbKey,  IOutputStream** ppStream) const noexcept;

Возвращает поток записи данных в буфер, ассоциированный с ключом.

Параметры
[In]pKeyУказатель на блок данных, задающих ключ.
cbKeyБайтовый размер ключа.
[out]ppStreamВыходной буфер, принимающий адрес реализации потока записи данных, ассоциированных с ключом. После успешного вызова метода полученная реализация должна быть освобождена вызовом InterfaceBase::Release над (*ppStream). Тип потока и данных, необходимость существования ключа и требования уникальности определяются реализацией интерфейса IArbitrarilyAccessedDataStorage.
Возвращаемое значение:
32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.

Интерфейс IArbitrarilyAccessedDataStorage и связанный с ним адаптер ArbitrarilyAccessedDataStorageRef не определяют поведение в следующих контекстах вызова методов записи данных, адресуемых ключом.

  • Поведение в случае отсутствия в накопителе данных, ассоциированных с указанным ключом.
  • Поведение в случае, когда накопитель содержит более чем одну ассоциацию с указанным ключом, то есть когда не выполняется (и не предъявляется) требование уникальности ключа.
  • Локальность данных, ассоциированных с ключом.

Эти аспекты определяются более низкими уровнями компонентной и интерфейсной иерархии, как это делается, например, наследующим из IArbitrarilyAccessedDataStorage интерфейсом IAssociativeDataStorage и его адаптером AssociativeDataStorageRef.