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
[in] dwReserved
保留以備將來之用;必須為零。
[out] ppPropStg
IPropertyStorage* 指標變數的指標,可接收所要求屬性集的介面指標。
傳回值
除了下列專案外,此函式還支援標準傳回值E_INVALIDARG和E_UNEXPECTED:
備註
StgOpenPropStg 會開啟所要求的屬性集,並提供 IPropertyStorage 介面的系統提供的獨立實作。 要求的屬性集包含在 pUnk 所指定的記憶體或資料流物件中。 grfFlags 參數的值會指出 pUnk 是否指定記憶體或數據流物件。 例如,如果已設定PROPSETFLAG_NONSIMPLE,則可以查詢記憶體物件上的 IStorage 介面 pUnk。
不論是哪一種情況,此函式都會針對包含屬性集的記憶體或數據流物件呼叫 pUnk-AddRef>。 當不再需要時,呼叫端必須釋放 物件。
此函式類似於 IPropertySetStorage::Open 方法。 不過, StgOpenPropStg 會新增 pUnk 和 grfFlags 參數,包括 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 |