StgCreatePropSetStg 関数 (coml2api.h)
StgCreatePropSetStg 関数は、指定されたストレージ オブジェクトからプロパティ セットストレージオブジェクトを作成します。 プロパティ セット ストレージ オブジェクトは、 IPropertySetStorage インターフェイスのシステム提供のスタンドアロン実装を提供します。
構文
HRESULT StgCreatePropSetStg(
[in] IStorage *pStorage,
DWORD dwReserved,
[out] IPropertySetStorage **ppPropSetStg
);
パラメーター
[in] pStorage
または を含むストレージ オブジェクトへのポインターには、1 つ以上のプロパティ セットが含まれます。
dwReserved
今後使用するために予約されています。0 にする必要があります。
[out] ppPropSetStg
プロパティ セット ストレージ オブジェクトへのインターフェイス ポインターを受け取る IPropertySetStorage* ポインター変数へのポインター。
戻り値
この関数は、標準の戻り値 E_INVALIDARG と次の値をサポートしています。
注釈
StgCreatePropSetStg 関数は、pStorage パラメーターで指定された IStorage インターフェイスに対して動作する IPropertySetStorage インターフェイスを作成します。 IPropertySetStorage インターフェイスの後続の呼び出しでは、この IStorage 自体は変更されません。
StgCreatePropSetStg は、pStorage で指定されたストレージ オブジェクトに対して IUnknown::AddRef を呼び出します。 呼び出し元は、Release を呼び出して不要になったオブジェクトを 解放する必要があります。
例
次のコード例は、この関数がストレージ オブジェクト内にプロパティ セットを作成する方法を示しています。
IPropertyStorage*
CreatePropertySetInStorage( IStorage *pStg, const FMTID &fmtid )
{
HRESULT hr = S_OK;
IPropertySetStorage *pPropSetStg = NULL;
IPropertyStorage *pPropStg = NULL;
try
{
hr = StgCreatePropSetStg( pStg, 0, &pPropSetStg );
if( FAILED(hr) ) throw L"Failed StgCreatePropSetStg (%08x)";
hr = pPropSetStg->Create( fmtid, NULL,
PROPSETFLAG_DEFAULT,
STGM_CREATE | STGM_READWRITE | STGM_SHARE_EXCLUSIVE,
&pPropStg );
if( FAILED(hr) )
throw L"Failed IPropertySetStorage::Create (%08x)";
// Success. The caller must now call Release on both
// pPropSetStg and pStg.
}
catch( const WCHAR *pwszError )
{
wprintf( L"Error: %s (%08x)\n", pwszError, hr );
}
if( NULL != pPropSetStg )
pPropSetStg->Release();
return( pPropStg );
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | coml2api.h (Propidl.h を含む) |
Library | Ole32.lib |
[DLL] | Ole32.dll |