Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция StgCreatePropSetStg создает объект хранения набора свойств из указанного объекта хранения. Объект хранилища набора свойств предоставляет предоставленную системой автономную реализацию интерфейса IPropertySetStorage .
Синтаксис
HRESULT StgCreatePropSetStg(
[in] IStorage *pStorage,
DWORD dwReserved,
[out] IPropertySetStorage **ppPropSetStg
);
Параметры
[in] pStorage
Указатель на объект хранилища, который содержит или будет содержать один или несколько наборов свойств.
dwReserved
Зарезервировано для будущего использования; должно иметь значение нуль.
[out] ppPropSetStg
Указатель на переменную указателя IPropertySetStorage*, которая получает указатель интерфейса на объект хранилища набора свойств.
Возвращаемое значение
Эта функция поддерживает стандартное возвращаемое значение E_INVALIDARG а также следующее:
Комментарии
Функция StgCreatePropSetStg создает интерфейс IPropertySetStorage , который будет действовать с заданным интерфейсом IStorage , заданным параметром pStorage . Эта функция сама по себе не изменяет этот IStorage , хотя последующие вызовы интерфейса IPropertySetStorage могут выполняться.
StgCreatePropSetStg вызывает IUnknown::AddRef для объекта хранилища, указанного pStorage. Вызывающий объект должен освободить объект , когда он больше не требуется, вызвав 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 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | coml2api.h (включая Propidl.h) |
Библиотека | Ole32.lib |
DLL | Ole32.dll |