Funzione StgCreatePropSetStg (coml2api.h)
La funzione StgCreatePropSetStg crea un oggetto di archiviazione del set di proprietà da un oggetto di archiviazione specificato. L'oggetto di archiviazione del set di proprietà fornisce l'implementazione autonoma fornita dal sistema dell'interfaccia IPropertySetStorage .
Sintassi
HRESULT StgCreatePropSetStg(
[in] IStorage *pStorage,
DWORD dwReserved,
[out] IPropertySetStorage **ppPropSetStg
);
Parametri
[in] pStorage
Puntatore all'oggetto di archiviazione che contiene o conterrà uno o più set di proprietà.
dwReserved
Riservato per utilizzi futuri; deve essere zero.
[out] ppPropSetStg
Puntatore alla variabile puntatore IPropertySetStorage* che riceve il puntatore dell'interfaccia all'oggetto di archiviazione del set di proprietà.
Valore restituito
Questa funzione supporta il valore restituito standard E_INVALIDARG nonché quanto segue:
Commenti
La funzione StgCreatePropSetStg crea un'interfaccia IPropertySetStorage che agisce sull'interfaccia IStorage specificata dal parametro pStorage . Questa funzione non modifica questo IStorage da solo, anche se le chiamate successive all'interfaccia IPropertySetStorage potrebbero essere.
StgCreatePropSetStg chiama IUnknown::AddRef nell'oggetto di archiviazione specificato da pStorage. Il chiamante deve rilasciare l'oggetto quando non è più richiesto chiamando Release.
Esempio
Nel codice di esempio seguente viene illustrato come questa funzione crea un set di proprietà all'interno di un oggetto di archiviazione.
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 );
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
Server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | coml2api.h (include Propidl.h) |
Libreria | Ole32.lib |
DLL | Ole32.dll |