stgOpenPropStg 函式 (coml2api.h)

StgOpenPropStg 函式會在指定的記憶體或數據流物件中開啟指定的屬性集。 屬性集提供 IPropertyStorage 介面的系統提供的獨立實作。

語法

HRESULT StgOpenPropStg(
  [in]  IUnknown         *pUnk,
  [in]  REFFMTID         fmtid,
  [in]  DWORD            grfFlags,
  [in]  DWORD            dwReserved,
  [out] IPropertyStorage **ppPropStg
);

參數

[in] pUnk

包含所要求屬性集物件的記憶體或數據流物件上 IUnknown 介面的介面指標。

[in] fmtid

要開啟之屬性的 FMTID。

[in] grfFlags

PROPSETFLAG 常數的值

[in] dwReserved

保留以備將來之用;必須為零。

[out] ppPropStg

IPropertyStorage* 指標變數的指標,可接收所要求屬性集的介面指標。

傳回值

除了下列專案外,此函式還支援標準傳回值E_INVALIDARG和E_UNEXPECTED:

備註

StgOpenPropStg 會開啟所要求的屬性集,並提供 IPropertyStorage 介面的系統提供的獨立實作。 要求的屬性集包含在 pUnk 所指定的記憶體或資料流物件中。 grfFlags 參數的值會指出 pUnk 是否指定記憶體或數據流物件。 例如,如果已設定PROPSETFLAG_NONSIMPLE,則可以查詢記憶體物件上的 IStorage 介面 pUnk

不論是哪一種情況,此函式都會針對包含屬性集的記憶體或數據流物件呼叫 pUnk-AddRef>。 當不再需要時,呼叫端必須釋放 物件。

此函式類似於 IPropertySetStorage::Open 方法。 不過, StgOpenPropStg 會新增 pUnkgrfFlags 參數,包括 grfFlags 參數的PROPSETFLAG_UNBUFFERED值。 如果您有不支援 IPropertySetStorage 介面的 IStorage 介面,或是想要使用 PROPSETFLAG_UNBUFFERED 值,請使用這個函式,而不是 Open 方法。 如需使用PROPSETFLAG_UNBUFFERED的詳細資訊,請參閱 PROPSETFLAG 常數

grfFlags 參數是取自 PROPSETFLAG 常數的值組合。 支援新的列舉值PROPSETFLAG_UNBUFFERED。 如需詳細資訊,請參閱 PROPSETFLAG 常數

此函式會從可轉散發 iprop.dll 匯出,隨附於 service Pack 2 (SP2) Windows NT 4.0 中,並可作為 Windows 95 和更新版本中的可轉散發套件。 在 Windows 2000 中,它會從 Ole32.dll 導出。 它也可以從 Windows 2000 中的 iprop.dll 導出,但呼叫會轉接至 ole32.dll。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 coml2api.h (包含 Propidl.h)
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱

IPropertySetStorage

IPropertySetStorage-獨立實作

IPropertyStorage

IPropertyStorage-獨立實作

PROPSETFLAG 常數

StgCreatePropSetStg

StgCreatePropStg