Функция SHCreateStreamOnFileEx (shlwapi.h)
Открывает или создает файл и извлекает поток для чтения или записи в этот файл.
Синтаксис
LWSTDAPI SHCreateStreamOnFileEx(
[in] LPCWSTR pszFile,
[in] DWORD grfMode,
[in] DWORD dwAttributes,
[in] BOOL fCreate,
[in, optional] IStream *pstmTemplate,
[out] IStream **ppstm
);
Параметры
[in] pszFile
Тип: LPCWSTR
Указатель на строку с пустым завершением, указывающую имя файла.
[in] grfMode
Тип: DWORD
Одно или несколько значений STGM , используемых для указания режима доступа к файлам и способа создания и удаления объекта, предоставляющего поток.
[in] dwAttributes
Тип: DWORD
Одно или несколько значений флагов, указывающих атрибуты файла в случае создания нового файла. Полный список возможных значений см. в параметре dwFlagsAndAttributes функции CreateFile .
[in] fCreate
Тип: BOOL
Значение BOOL , помогающее указать в сочетании с grfMode способ обработки существующих файлов при создании потока. Дополнительные сведения см. в разделе "Примечания".
[in, optional] pstmTemplate
Тип: IStream*
Зарезервировано.
[out] ppstm
Тип: IStream**
Получает указатель интерфейса IStream для потока, связанного с файлом.
Возвращаемое значение
Тип: HRESULT
Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Функция SHCreateStreamOnFileEx расширяет семантику флагов STGM и дает тот же эффект, что и вызов функции CreateFile .
Параметры grfMode и fCreate работают вместе, чтобы указать, как должна вести себя функция по отношению к существующим файлам.
grfMode | fСоздать | Файл существует? | Поведение |
---|---|---|---|
STGM_CREATE | Не учитывается | Да | Файл будет создан повторно. |
STGM_CREATE | Не учитывается | Нет | Файл будет создан. |
STGM_FAILIFTHERE | FALSE | Да | Откроется файл . |
STGM_FAILIFTHERE | FALSE | Нет | Вызов завершается ошибкой. |
STGM_FAILIFTHERE | TRUE | Да | Вызов завершается ошибкой. |
STGM_FAILIFTHERE | TRUE | Нет | Файл будет создан. |
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |
Библиотека | Shlwapi.lib |
DLL | Shlwapi.dll (версия 6.0 или более поздняя) |