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,则可以在存储对象上查询 pUnk 以查找 IStorage 接口。
在任一情况下,此函数都为包含属性集的存储或流对象调用 pUnk-AddRef>。 调用方有责任在不再需要对象时释放该对象。
此函数类似于 IPropertySetStorage::Create 方法。 但是, StgCreatePropStg 添加 pUnk 参数并支持 grfFlags 参数的PROPSETFLAG_UNBUFFERED值。 如果 IStorage 接口不支持 IPropertySetStorage 接口,或者想要使用 PROPSETFLAG_UNBUFFERED 值,请使用此函数而不是 Create 方法。 有关使用此PROPSETFLAG_UNBUFFERED枚举值的详细信息,请参阅 PROPSETFLAG 常量。
属性集自动包含代码页和区域设置标识符 (ID) 属性。 它们分别设置为当前系统默认值和当前用户默认值。
grfFlags 参数是从 PROPSETFLAG 常量获取的值的组合。 支持PROPSETFLAG_UNBUFFERED的新枚举值。 有关详细信息,请参阅 PROPSETFLAG 常量。
此函数从可再发行 Iprop.dll 导出,它包含在 Windows NT 4.0 中,Service Pack 2 (SP2) 及更高版本,在 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) |
Library | Ole32.lib |
DLL | Ole32.dll |