Поделиться через


Функция 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 или более поздняя)