make_file_based_data_storage

Материал из CAMaaS preliminary wiki
Версия от 07:03, 6 августа 2017; Андрей Чусов (обсуждение | вклад) (Новая страница: «{{DISPLAYTITLE:make_file_based_data_storage}} {{function_begin |DataStorageOwn make_file_based_data_storage(const char* pszFileName, FileAccessMask nAccessMask, F…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
DataStorageOwn make_file_based_data_storage(const char* pszFileName, FileAccessMask nAccessMask, FileCreationDisposition nDisp); //1
template <class traits_t, class alloc_t>
   DataStorageOwn make_file_based_data_storage(const std::basic_string<char, traits_t, alloc_t>& strFileName, FileAccessMask nAccessMask, FileCreationDisposition nDisp); //2
template <FileAccessMask nAccessMask, FileCreationDisposition nDisp>
   /*статически_вычисленный_тип*/ make_file_based_data_storage(_In_z_ const char* pszFileName); //3
template <FileAccessMask nAccessMask, FileCreationDisposition nDisp, class traits_t, class alloc_t>
   /*статически_вычисленный_тип*/ make_file_based_data_storage(const std::basic_string<char, traits_t, alloc_t>& strFileName); //4

Создает файловый буфер с интерфейсом IDataStorage (или порожденным от него), делегируя вызов функции CreateFileAsBinaryDataStorage, и адаптирует доступ с помощью соответствующего адаптера.

Перегрузки 3 и 4 дополнительно осуществляют преобразование интерфейса возвращаемого объекта к типу ContiguousDataStorageInputOwn, ContiguousDataStorageOutputOwn или ContiguousDataStorageOwn в зависимости от значений шаблонного параметра nAccessMask.
Параметры
pszFileNameC-строка UTF-8 с именем файла.
strFileNameC++ строка UTF-8 с именем файла.
nAccessMaskБитовая маска флагов доступа.
Символическое имя Целочисленное значение Семантика
FileRead 1 Право на чтение из файла.
FileWrite 2 Право на запись в файл.
FileReadWrite 3 Право на чтение и запись в файл.
nDispДиспозиция открытия дескриптора файла.
Символическое имя Целочисленное значение Семантика
FileCreateAlways 0 Создание файла - всегда. В случае если файл существует, его содержимое удаляется.
FileOpenAlways 1 Открытие файла - всегда. Если файл не существует, он создается.
FileCreateNew 2 Создание нового файла. Если файл не существует, возвращается ошибка CHSVERROR_ALREADY_EXISTS.
FileOpenExisting 3 Открытие существующего файла. Если файл не существует, возвращается ошибка CHSVERROR_NOT_FOUND.
FileTruncateExisting 4 Открытие существующего файла с удалением его содержимого. Если файл не существует, возвращается ошибка CHSVERROR_NOT_FOUND.
Возвращаемое значение:
Объект DataStorageOwn, ContiguousDataStorageInputOwn, ContiguousDataStorageOutputOwn или ContiguousDataStorageOwn, определенный над файлом.
См. также
DataStorageOwnВладеющий адаптер, определенный над интерфейсом IDataStorage..
IDataStorage::RepresentAsОсуществляет преобразование в интерфейс, заданный идентификатором.
IContiguousDataStorageИнтерфейс для чтения и записи в накопитель последовательно расположенных и однородных данных.
ContiguousDataStorageOwnВладеющий адаптер, определенный над интерфейсом IContiguousDataStorage.
CreateFileAsBinaryDataStorageСоздает представление файла в виде источника последовательных бинарных данных с произвольным доступом.