IStorage::OpenStorage メソッド (objidl.h)
OpenStorage メソッドは、指定したアクセス モードで、指定した名前の既存のストレージ オブジェクトを開きます。
構文
HRESULT OpenStorage(
[in] const OLECHAR *pwcsName,
[in] IStorage *pstgPriority,
[in] DWORD grfMode,
[in] SNB snbExclude,
[in] DWORD reserved,
[out] IStorage **ppstg
);
パラメーター
[in] pwcsName
開くストレージ オブジェクトの名前を含むワイド文字の null で終わる Unicode 文字列へのポインター。 ストリーム/ストレージ名の最初の文字として機能する 000 から 01f の文字は、OLE で使用するために予約されています。 これは複合ファイルの制限であり、構造化ストレージの制限ではありません。 pstgPriority が NULL 以外の場合は無視されます。
[in] pstgPriority
NULL にする必要があります。 NULL 以外の値は、STG_E_INVALIDPARAMETERを返します。
[in] grfMode
ストレージ オブジェクトを開くときに使用するアクセス モードを指定します。 使用可能な値の説明については、「 STGM 定数」を参照してください。 選択するその他のモードでは、このメソッドを呼び出すときに少なくとも STGM_SHARE_EXCLUSIVEを指定する必要があります。
[in] snbExclude
NULL にする必要があります。 NULL 以外の値は、STG_E_INVALIDPARAMETERを返します。
[in] reserved
今後使用するために予約されています。0 にする必要があります。
[out] ppstg
成功した場合は、開いているストレージ オブジェクトへの IStorage ポインターの場所へのポインター。 エラーが発生した場合、このパラメーターは NULL に設定されます。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
S_OK | ストレージ オブジェクトが正常に開かれました。 |
E_PENDING | 非同期ストレージのみ: ストレージのデータの一部またはすべてが現在使用できません。 |
STG_E_ACCESSDENIED | ストレージ オブジェクトを開くには十分なアクセス許可がありません。 |
STG_E_FILENOTFOUND | 指定した名前のストレージ オブジェクトが存在しません。 |
STG_E_INSUFFICIENTMEMORY | メモリ不足のため、ストレージ オブジェクトが開かれていました。 |
STG_E_INVALIDFLAG | grfMode パラメーターに指定された値が有効な STGM 定数値ではありません。 |
STG_E_INVALIDFUNCTION | grfMode パラメーターで指定されたフラグの組み合わせはサポートされていません。 |
STG_E_INVALIDNAME | pwcsName の有効な値ではありません。 |
STG_E_INVALIDPOINTER | ストレージ オブジェクトに指定されたポインターが無効でした。 |
STG_E_INVALIDPARAMETER | パラメーターの 1 つが無効でした。 |
STG_E_REVERTED | ストレージ オブジェクトは、トランザクション ツリーの上の元に戻す操作によって無効になっています。 |
STG_E_TOOMANYOPENFILES | 開いているファイルが多すぎるため、ストレージ オブジェクトが作成されませんでした。 |
STG_S_CONVERTED | 指定した名前の既存のストリームは、CONTENTS という 1 つのストリームを含む新しいストレージ オブジェクトに置き換えられました。 ダイレクト モードでは、新しいストレージはすぐにディスクに書き込まれます。 トランザクション モードでは、新しいストレージはメモリ内の一時ストレージに書き込まれ、後でコミットされるとディスクに書き込まれます。 |
注釈
pstgPriority パラメーターが NULL の場合は無視されます。 pstgPriority パラメーターが NULL でない場合は、ストレージ オブジェクトの要素の以前の開口部 (通常は優先度モードで開かれたもの) への IStorage ポインターです。 ストレージ オブジェクトは 、grfMode に従って閉じて再度開く必要があります。 IStorage::OpenStorage メソッドが戻ると、pstgPriority は無効になります。 ppstg パラメーターで指定された値を使用します。
ストレージ オブジェクトは、STGM_DELETEONRELEASEを使用して開くことができます。その場合、オブジェクトは最終的なリリースを受け取ると破棄されます。 これは、一時ストレージ オブジェクトを作成する場合に便利です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | objidl.h |
Library | Uuid.lib |
[DLL] | Ole32.dll |