CreateFileAsBinaryDataStorage: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin | return_code_t CreateFileAsBinaryDataStorage( z_bytecount_(cbFilename) const char* pszFileName, std::size_t cbFileName, std::uint32_t nAccess,…»)
 
Строка 1: Строка 1:
{{function_begin | return_code_t CreateFileAsBinaryDataStorage(
{{function_begin | return_code_t CreateFileAsBinaryDataStorage(const char* pszFileName, std::size_t cbFileName, std::uint32_t nAccess, FileCreationDisposition nCreationDisposition, IBinaryDataBase** ppDataStorage) noexcept; |{{CreateFileAsBinaryDataStorage brief}}}}
z_bytecount_(cbFilename) const char* pszFileName, std::size_t cbFileName, std::uint32_t nAccess, FileCreationDisposition nCreationDisposition, IBinaryDataBase** ppDataStorage) noexcept; |{{CreateFileAsBinaryDataStorage brief}}}}
{{function_paramlist begin}}
{{function_paramlist begin}}
{{function_paramlist add|pszFileName|.|paramdir=[in]}}
{{function_paramlist add|pszFileName|Имя файла, заданное UTF-8 строкой.|paramdir=[in]}}
{{function_paramlist add|cbFileName|.}}
{{function_paramlist add|cbFileName|Размер имени файла, в байтах.}}
{{function_paramlist add|nAccess|.}}
{{function_paramlist add|nAccess|Битовая маска флагов запрашиваемого доступа к файлу. Значение флагов: {{FileAccessMask}}}}
{{function_paramlist add|nCreationDisposition|.}}
{{function_paramlist add|nCreationDisposition|Метод создания файла. Может одно из следующих значений. {{FileCreationDisposition}}}}
{{function_paramlist add|ppDataStorage|.}}
{{function_paramlist add|ppDataStorage|Указатель, который на выходе успешно завершившегося вызова принимает указатель на реализацию интерфейса [[IBinaryDataBase]]. В случае ошибки, выходное значение устанавливается в 0.}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения равен 0.}}
{{function_return_value|32-битовый беззнаковый целый код [https://www.chusov.org/doxygen/group___error_handling.html ошибки], который в случае успешного выполнения равен 0.}}
{{function_end}}
{{function_end}}
Возвращаемое представление источника данных имеет [[программный интерфейс]] [[IBinaryDataBase]], который необходимо конкретизировать вызовами методов [[IBinaryDataBase::IsInterfaceAvailable|IsInterfaceAvailable]] и [[IBinaryDataBase::RepresentAs|RepresentAs]] к конкретному типу.
Возвращаемый через параметр <tt>ppDataStorage</tt> экземпляр источника данных ''может'' поддерживать интерфейсы произвольного доступа: [[IInputBinaryDataContiguousAccess]], [[IOutputBinaryDataContiguousAccess]] или [[IIOBinaryDataContiguousAccess]] (а также их базовые интерфейсы) - в зависимости от разрешенного доступа.

Версия 18:50, 15 марта 2017

 return_code_t CreateFileAsBinaryDataStorage(const char* pszFileName, std::size_t cbFileName, std::uint32_t nAccess, FileCreationDisposition nCreationDisposition, IBinaryDataBase** ppDataStorage) noexcept;

Создает представление файла в виде источника последовательных бинарных данных с произвольным доступом.

Параметры
[in]pszFileNameИмя файла, заданное UTF-8 строкой.
cbFileNameРазмер имени файла, в байтах.
nAccessБитовая маска флагов запрашиваемого доступа к файлу. Значение флагов:
Символическое имя Целочисленное значение Семантика
FileRead 1 Право на чтение из файла.
FileWrite 2 Право на запись в файл.
FileReadWrite 3 Право на чтение и запись в файл.
nCreationDispositionМетод создания файла. Может одно из следующих значений.
Символическое имя Целочисленное значение Семантика
FileCreateAlways 0 Создание файла - всегда. В случае если файл существует, его содержимое удаляется.
FileOpenAlways 1 Открытие файла - всегда. Если файл не существует, он создается.
FileCreateNew 2 Создание нового файла. Если файл не существует, возвращается ошибка CHSVERROR_ALREADY_EXISTS.
FileOpenExisting 3 Открытие существующего файла. Если файл не существует, возвращается ошибка CHSVERROR_NOT_FOUND.
FileTruncateExisting 4 Открытие существующего файла с удалением его содержимого. Если файл не существует, возвращается ошибка CHSVERROR_NOT_FOUND.
ppDataStorageУказатель, который на выходе успешно завершившегося вызова принимает указатель на реализацию интерфейса IBinaryDataBase. В случае ошибки, выходное значение устанавливается в 0.
Возвращаемое значение:
32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения равен 0.

Возвращаемое представление источника данных имеет программный интерфейс IBinaryDataBase, который необходимо конкретизировать вызовами методов IsInterfaceAvailable и RepresentAs к конкретному типу.

Возвращаемый через параметр ppDataStorage экземпляр источника данных может поддерживать интерфейсы произвольного доступа: IInputBinaryDataContiguousAccess, IOutputBinaryDataContiguousAccess или IIOBinaryDataContiguousAccess (а также их базовые интерфейсы) - в зависимости от разрешенного доступа.