次の方法で共有


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

ファイル名を指定する null で終わる文字列へのポインター。

[in] grfMode

型: DWORD

ファイル アクセス モードの指定に使用される 1 つ以上の STGM 値と、ストリームを公開するオブジェクトの作成と削除方法。

[in] dwAttributes

型: DWORD

新しいファイルが作成される場合にファイル属性を指定する 1 つ以上のフラグ値。 使用可能な値の完全な一覧については、CreateFile 関数の dwFlagsAndAttributes パラメーターを参照してください。

[in] fCreate

種類: BOOL

ストリームの作成時に既存のファイルを処理する方法を grfMode と組み合わせて指定するのに役立つ BOOL 値。 詳細については、「解説」を参照してください。

[in, optional] pstmTemplate

種類: IStream*

予約済み。

[out] ppstm

種類: IStream**

ファイルに関連付けられているストリームの IStream インターフェイス ポインターを受け取ります。

戻り値

種類: HRESULT

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

解説

SHCreateStreamOnFileEx 関数は、STGM フラグのセマンティクスを拡張し、CreateFile 関数の呼び出しと同じ効果を生成します。

grfMode パラメーターと fCreate パラメーターは連携して、既存のファイルに対する関数の動作を指定します。

grfMode fCreate ファイルが存在しますか? 動作
STGM_CREATE 無視 はい ファイルが再作成されます。
STGM_CREATE 無視 いいえ ファイルが作成されます。
STGM_FAILIFTHERE FALSE はい ファイルが開きます。
STGM_FAILIFTHERE FALSE いいえ 呼び出しは失敗します。
STGM_FAILIFTHERE TRUE はい 呼び出しは失敗します。
STGM_FAILIFTHERE TRUE いいえ ファイルが作成されます。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shlwapi.h
Library Shlwapi.lib
[DLL] Shlwapi.dll (バージョン 6.0 以降)