StgCreatePropStg 函式 (coml2api.h)
StgCreatePropStg 函式會在指定的記憶體或數據流物件中建立並開啟屬性集。 屬性集提供 IPropertyStorage 介面的系統提供的獨立實作。
語法
HRESULT StgCreatePropStg(
[in] IUnknown *pUnk,
[in] REFFMTID fmtid,
[in] const CLSID *pclsid,
[in] DWORD grfFlags,
[in] DWORD dwReserved,
[out] IPropertyStorage **ppPropStg
);
參數
[in] pUnk
儲存新屬性集之記憶體或數據流物件上 IUnknown 介面的指標。
[in] fmtid
要建立之屬性集的 FMTID。
[in] pclsid
此屬性集之初始 CLSID 的指標。 可以是 NULL,在此情況下 ,pclsid 會設定為所有零。
[in] grfFlags
PROPSETFLAG 常數中的值,決定如何建立和開啟屬性集。
[in] dwReserved
保留;必須是零。
[out] ppPropStg
接收新屬性集介面指標的 IPropertyStorage* 指標變數位址。
傳回值
除了下列專案外,此函式還支援標準傳回值E_INVALIDARG和E_UNEXPECTED:
備註
StgCreatePropStg 會建立並開啟新的屬性集,以提供 IPropertyStorage 介面的系統提供的獨立實作。 新的屬性集包含在 pUnk 所指定的記憶體或資料流物件中。 grfFlags 參數的值會指出 pUnk 是否指定記憶體或數據流物件。 例如,如果已設定PROPSETFLAG_NONSIMPLE,則可以查詢記憶體物件上的 IStorage 介面 pUnk。
不論是哪一種情況,此函式都會針對包含屬性集的記憶體或數據流物件呼叫 pUnk-AddRef>。 當不再需要物件時,呼叫端必須負責釋放物件。
此函式類似於 IPropertySetStorage::Create 方法。 不過, StgCreatePropStg 會新增 pUnk 參數,並支援 grfFlags 參數的PROPSETFLAG_UNBUFFERED值。 如果您有不支援 IPropertySetStorage 介面的 IStorage 介面,或是想要使用 PROPSETFLAG_UNBUFFERED 值,請使用這個函式,而不是 Create 方法。 如需使用此PROPSETFLAG_UNBUFFERED列舉值的詳細資訊,請參閱 PROPSETFLAG 常數。
屬性集會自動包含代碼頁和地區設定標識碼 (識別碼) 屬性。 這些分別設定為目前的系統預設值和目前的用戶預設值。
grfFlags 參數是取自 PROPSETFLAG 常數的值組合。 支援新的列舉值PROPSETFLAG_UNBUFFERED。 如需詳細資訊,請參閱 PROPSETFLAG 常數。
此函式會從可轉散發 Iprop.dll 導出,隨附於 service Pack 2 (SP2) 和更新版本中的 Windows NT 4.0 中,並可在 Windows 95、Windows 98 和更新版本中以可轉散發套件的形式提供。 在 Windows 2000 和 Windows XP 中,它會從 ole32.dll 導出。 它也可以從 Windows 2000 和 Windows XP 中的 iprop.dll 導出,但呼叫會轉接至 ole32.dll。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | coml2api.h (包含 Propidl.h) |
程式庫 | Ole32.lib |
Dll | Ole32.dll |