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,则可以在存储对象上查询 pUnk 以查找 IStorage 接口。
在任一情况下,此函数都为包含属性集的存储或流对象调用 pUnk-AddRef>。 当不再需要对象时,调用方必须释放该对象。
此函数类似于 IPropertySetStorage::Open 方法。 但是, StgOpenPropStg 添加了 pUnk 和 grfFlags 参数,包括 grfFlags 参数的 PROPSETFLAG_UNBUFFERED 值。 如果 IStorage 接口不支持 IPropertySetStorage 接口,或者想要使用 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) |
Library | Ole32.lib |
DLL | Ole32.dll |