Fungsi StgCreatePropSetStg (coml2api.h)

Fungsi StgCreatePropSetStg membuat objek penyimpanan set properti dari objek penyimpanan tertentu. Objek penyimpanan set properti memasok implementasi yang disediakan sistem dan mandiri dari antarmuka IPropertySetStorage .

Sintaks

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

Parameter

[in] pStorage

Penunjuk ke objek penyimpanan yang berisi atau akan berisi satu atau beberapa set properti.

dwReserved

Dicadangkan untuk digunakan di masa mendatang; harus nol.

[out] ppPropSetStg

Penunjuk ke variabel pointer IPropertySetStorage* yang menerima penunjuk antarmuka ke objek penyimpanan set properti.

Nilai kembali

Fungsi ini mendukung nilai pengembalian standar E_INVALIDARG serta yang berikut:

Keterangan

Fungsi StgCreatePropSetStg membuat antarmuka IPropertySetStorage yang akan bertindak pada antarmuka IStorage tertentu yang ditentukan oleh parameter pStorage . Fungsi ini tidak memodifikasi IStorage ini dengan sendirinya, meskipun panggilan berikutnya ke antarmuka IPropertySetStorage mungkin.

StgCreatePropSetStg memanggil IUnknown::AddRef pada objek penyimpanan yang ditentukan oleh pStorage. Pemanggil harus melepaskan objek ketika tidak lagi diperlukan dengan memanggil Rilis.

Contoh

Contoh kode berikut menunjukkan bagaimana fungsi ini membuat properti yang diatur dalam objek penyimpanan.

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 );
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header coml2api.h (termasuk Propidl.h)
Pustaka Ole32.lib
DLL Ole32.dll

Lihat juga

Implementasi IPropertySetStorage-Stand-alone

Sampel

Sampel StgCreatePropSetStg