Função StgCreatePropSetStg (coml2api.h)
A função StgCreatePropSetStg cria um objeto de armazenamento do conjunto de propriedades de um objeto de armazenamento especificado. O objeto de armazenamento do conjunto de propriedades fornece a implementação autônoma fornecida pelo sistema da interface IPropertySetStorage .
Sintaxe
HRESULT StgCreatePropSetStg(
[in] IStorage *pStorage,
DWORD dwReserved,
[out] IPropertySetStorage **ppPropSetStg
);
Parâmetros
[in] pStorage
Um ponteiro para o objeto de armazenamento que contém ou conterá um ou mais conjuntos de propriedades.
dwReserved
Reservado para uso futuro; deve ser zero.
[out] ppPropSetStg
Um ponteiro para a variável de ponteiro IPropertySetStorage* que recebe o ponteiro de interface para o objeto de armazenamento do conjunto de propriedades.
Retornar valor
Essa função dá suporte ao valor retornado padrão E_INVALIDARG , bem como ao seguinte:
Comentários
A função StgCreatePropSetStg cria uma interface IPropertySetStorage que atuará na interface IStorage especificada pelo parâmetro pStorage . Essa função não modifica esse IStorage por si só, embora chamadas subsequentes para a interface IPropertySetStorage possam.
StgCreatePropSetStg chama IUnknown::AddRef no objeto de armazenamento especificado por pStorage. O chamador deve liberar o objeto quando ele não for mais necessário chamando Release.
Exemplos
O código de exemplo a seguir mostra como essa função cria um conjunto de propriedades dentro de um objeto de armazenamento.
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 );
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | coml2api.h (inclua Propidl.h) |
Biblioteca | Ole32.lib |
DLL | Ole32.dll |