IArbitrarilyAccessedDataStorage::WriteOf: различия между версиями
Перейти к навигации
Перейти к поиску
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{function_begin | return_code_t PLATFORM_NATIVE_CALLING_CONVENTION WriteOf(bytecount_(cbKey) const void* pKey, std::uint32_t cbKey, IOutputStream** ppStream) const noexcept; |{{ | {{function_begin|return_code_t PLATFORM_NATIVE_CALLING_CONVENTION WriteOf(bytecount_(cbKey) const void* pKey, std::uint32_t cbKey, IOutputStream** ppStream) const noexcept; |{{IArbitrarilyAccessedDataStorage::WriteOf brief}}}} | ||
{{function_paramlist begin}} | {{function_paramlist begin}} | ||
{{function_paramlist add|pKey|.|paramdir=[In]}} | {{function_paramlist add|pKey|Указатель на блок данных, задающих ключ.|paramdir=[In]}} | ||
{{function_paramlist add|cbKey|.}} | {{function_paramlist add|cbKey|Байтовый размер ключа.}} | ||
{{function_paramlist add|ppStream|.|paramdir=[out]}} | {{function_paramlist add|ppStream|Выходной буфер, принимающий адрес реализации потока записи данных, ассоциированных с ключом. После успешного вызова метода полученная реализация должна быть освобождена вызовом [[InterfaceBase::Release]] над <source inline lang="cpp">(*ppStream)</source>. Тип потока и данных, необходимость существования ключа и требования уникальности определяются реализацией интерфейса [[IArbitrarilyAccessedDataStorage]].|paramdir=[out]}} | ||
{{function_paramlist end}} | {{function_paramlist end}} | ||
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.}} | {{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.}} | ||
{{function_end}} | {{function_end}} | ||
Интерфейс [[IArbitrarilyAccessedDataStorage]] и связанный с ним адаптер [[ArbitrarilyAccessedDataStorageRef]] не определяют поведение в следующих контекстах вызова методов записи данных, адресуемых ключом. | |||
* Поведение в случае отсутствия в накопителе данных, ассоциированных с указанным ключом. | |||
* Поведение в случае, когда накопитель содержит более чем одну ассоциацию с указанным ключом, то есть когда не выполняется (и не предъявляется) требование уникальности ключа. | |||
* Локальность данных, ассоциированных с ключом. | |||
Эти аспекты определяются более низкими уровнями компонентной и интерфейсной иерархии, как это делается, например, наследующим из [[IArbitrarilyAccessedDataStorage]] интерфейсом [[IAssociativeDataStorage]] и его адаптером [[AssociativeDataStorageRef]]. |
Текущая версия на 15:37, 15 августа 2019
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.