IInMemoryDataStorageInput
Интерфейс для чтения данных из накопителя, связанного с буфером в памяти.
Метод | Описание |
---|---|
GetPtr | Возвращает адрес управляемого накопителем буфера данных в памяти. |
Класс | Описание |
---|---|
Интерфейс для чтения из накопителя последовательно расположенных и однородных данных. |
Данные накопителя с интерфейсом IInMemoryDataStorageInput физически располагаются в памяти машины и могут быть адресованы прямо с использованием указателей C и ссылок C++. Такой накопитель предполагает произвольный доступ к элементам данных, размер и семантика которых определяются реализацией. Следовательно, налагается требование к однородности элементов в памяти, которыми, как минимум, могут быть байты.
Для адресации элементов используются унаследованные методы IContiguousDataStorageInput, а также собственный метод GetPtr, позволяющий получить непосредственный адрес связанного с накопителем буфера в виде указателя C и размер этого буфера в байтах.
Сложность доступа к элементам буфера постоянна.
Гарантируется, что любая реализация интерфейса IInMemoryDataStorageInput будет также поддерживать интерфейсы IArbitrarilyAccessedDataStorageInput и IConsequentDataStorageInput. Для получения указателей на эти интерфейсы необходимо использовать метод IDataStorage::RepresentAs, который наследуется интерфейсом IInMemoryDataStorageInput.

При использовании интерфейса IArbitrarilyAccessedDataStorageInput ключом будет являться беззнаковый целочисленный восьмибайтовый индекс требуемого блока данных аналогично тому, как это определено для наследуемого метода IContiguousDataStorageInput::ReadAt. Ключ является восьмибайтовым целым в том числе на платформах, на которых размер указателя не равен восьми байтам.
- См. также
IInMemoryDataStorage Интерфейс для чтения и записи данных в накопитель, связанный с буфером в памяти. InMemoryDataStorageInputRef Ссылочный адаптер, определенный над интерфейсом IInMemoryDataStorageInput. InMemoryDataStorageInputOwn Владеющий адаптер, определенный над интерфейсом IInMemoryDataStorageInput.