IXpsOMObjectFactory::CreateImageResource 方法 (xpsobjectmodel.h)
创建用于访问图像资源流的 IXpsOMImageResource 接口。
语法
HRESULT CreateImageResource(
[in] IStream *acquiredStream,
[in] XPS_IMAGE_TYPE contentType,
[in] IOpcPartUri *partUri,
[out, retval] IXpsOMImageResource **imageResource
);
参数
[in] acquiredStream
要与此资源关联的只读流。 此参数不得为 NULL。
重要 将此流视为 Single-Threaded 单元 (STA) 对象;请勿重新输入。
[in] contentType
XPS_IMAGE_TYPE值,用于描述由 acquiredStream 引用的流的图像类型。
[in] partUri
IOpcPartUri 接口,其中包含要分配给此资源的部件名称。 此参数不得为 NULL。
[out, retval] imageResource
指向新 IXpsOMImageResource 接口的指针。
返回值
该方法返回 HRESULT。 可能的值包括但不限于后面的表中的值。 有关此表中未列出的 XPS 文档 API 返回值的信息,请参阅 XPS 文档错误。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
contentType 不是有效的 XPS_IMAGE_TYPE 值。 |
|
acquiredStream、 partUri 或 imageResource 为 NULL。 |
注解
下面的代码示例演示了如何使用此方法创建新接口。
IXpsOMImageResource *newInterface;
// The following values are defined outside of
// this example.
// IStream *acquiredStream;
// XPS_IMAGE_TYPE contentType;
// IOpcPartUri *partUri;
// Note the implicit requirement that CoInitializeEx
// has previously been called from this thread.
hr = CoCreateInstance(
__uuidof(XpsOMObjectFactory),
NULL,
CLSCTX_INPROC_SERVER,
_uuidof(IXpsOMObjectFactory),
reinterpret_cast<LPVOID*>(&xpsFactory)
);
if (SUCCEEDED(hr))
{
// The partUriString and acquiredStream variables
// are defined outside of this example.
hr = xpsFactory->CreatePartUri(partUriString, &partUri);
if (SUCCEEDED(hr))
{
hr = xpsFactory->CreateImageResource (
acquiredStream,
contentType,
partUri,
&newInterface);
if (SUCCEEDED(hr))
{
// use newInterface
newInterface->Release();
}
partUri->Release();
}
xpsFactory->Release();
}
else
{
// evaluate HRESULT error returned in hr
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | xpsobjectmodel.h |