StgCreatePropSetStg-Funktion (coml2api.h)
Die StgCreatePropSetStg-Funktion erstellt ein Eigenschaftensatzspeicherobjekt aus einem angegebenen Speicherobjekt. Das Eigenschaftssatzspeicherobjekt stellt die vom System bereitgestellte eigenständige Implementierung der IPropertySetStorage-Schnittstelle bereit.
Syntax
HRESULT StgCreatePropSetStg(
[in] IStorage *pStorage,
DWORD dwReserved,
[out] IPropertySetStorage **ppPropSetStg
);
Parameter
[in] pStorage
Ein Zeiger auf das Speicherobjekt, das einen oder mehrere Eigenschaftssätze enthält oder enthalten wird.
dwReserved
Für die zukünftige Verwendung reserviert. Muss 0 (null) sein.
[out] ppPropSetStg
Ein Zeiger auf die IPropertySetStorage*-Zeigervariable, die den Schnittstellenzeiger auf das Eigenschaftssatzspeicherobjekt empfängt.
Rückgabewert
Diese Funktion unterstützt den Standardrückgabewert E_INVALIDARG sowie Folgendes:
Hinweise
Die StgCreatePropSetStg-Funktion erstellt eine IPropertySetStorage-Schnittstelle, die auf die vom pStorage-Parameter angegebene IStorage-Schnittstelle wirkt. Diese Funktion ändert diese IStorage nicht selbst, obwohl nachfolgende Aufrufe der IPropertySetStorage-Schnittstelle möglicherweise auftreten.
StgCreatePropSetStg ruft IUnknown::AddRef für das von pStorage angegebene Speicherobjekt auf. Der Aufrufer muss das Objekt freigeben, wenn es nicht mehr benötigt wird, indem Er Release aufruft.
Beispiele
Der folgende Beispielcode zeigt, wie diese Funktion einen Eigenschaftssatz in einem Speicherobjekt erstellt.
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 );
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | coml2api.h (einschließlich Propidl.h) |
Bibliothek | Ole32.lib |
DLL | Ole32.dll |