Compartir a través de


Función StgCreatePropSetStg (coml2api.h)

La función StgCreatePropSetStg crea un objeto de almacenamiento de conjunto de propiedades a partir de un objeto de almacenamiento especificado. El objeto de almacenamiento del conjunto de propiedades proporciona la implementación independiente proporcionada por el sistema de la interfaz IPropertySetStorage .

Sintaxis

HRESULT StgCreatePropSetStg(
  [in]  IStorage            *pStorage,
        DWORD               dwReserved,
  [out] IPropertySetStorage **ppPropSetStg
);

Parámetros

[in] pStorage

Puntero al objeto de almacenamiento que contiene o contendrá uno o varios conjuntos de propiedades.

dwReserved

Reservado para uso futuro; debe ser cero.

[out] ppPropSetStg

Puntero a la variable de puntero IPropertySetStorage* que recibe el puntero de interfaz al objeto de almacenamiento del conjunto de propiedades.

Valor devuelto

Esta función admite el valor devuelto estándar E_INVALIDARG , así como lo siguiente:

Comentarios

La función StgCreatePropSetStg crea una interfaz IPropertySetStorage que actuará en la interfaz IStorage especificada por el parámetro pStorage . Esta función no modifica este IStorage por sí mismo, aunque es posible que las llamadas posteriores a la interfaz IPropertySetStorage .

StgCreatePropSetStg llama a IUnknown::AddRef en el objeto de almacenamiento especificado por pStorage. El autor de la llamada debe liberar el objeto cuando ya no sea necesario mediante una llamada a Release.

Ejemplos

En el código de ejemplo siguiente se muestra cómo esta función crea un conjunto de propiedades dentro de un objeto de almacenamiento.

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 Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado coml2api.h (include Propidl.h)
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

Implementación independiente de IPropertySetStorage

Muestras

Ejemplo StgCreatePropSetStg