初始化 XPS OM

介绍如何初始化 XPS OM,以允许程序创建 XPS 文档。

XPS 文档 API 的接口由 IXpsOMObjectFactory 接口创建。 要获取指向可在程序中使用的 IXpsOMObjectFactory 的指针,请调用 CoCreateInstance

在程序中使用以下代码示例之前,请阅读常见的 XPS 文档编程任务中的免责声明。

代码示例

下例创建的对象工厂将用于在其他示例中创建 XPS OM 接口。

    IXpsOMObjectFactory *xpsFactory;

    HRESULT hr = S_OK;

    // Init COM for this thread if it hasn't 
    //  been initialized, yet.
    hr = CoInitializeEx(0, COINIT_MULTITHREADED);

    hr = CoCreateInstance(
        __uuidof(XpsOMObjectFactory),
        NULL, 
        CLSCTX_INPROC_SERVER,
        __uuidof(IXpsOMObjectFactory),
        reinterpret_cast<LPVOID*>(&xpsFactory));

    if (SUCCEEDED(hr))
    {
        // Make sure that you got a pointer 
        //  to the interface.

        // Use object factory...

        // ... and release when done
        xpsFactory->Release();
    }

    // Uninitialize COM when finished
    CoUninitialize();

最佳方案

你可以在第一次需要调用 IXpsOMObjectFactory 创建接口时获取指向 IXpsOMObjectFactory 接口的指针,然后保存该指针以供程序的其他区域使用,从而提高程序的效率。 如果程序不再需要对象工厂,或者有一段时间不再需要它,则可释放该指针。

后续步骤

创建空白 XPS OM

本部分使用的内容

IXpsOMObjectFactory

CoCreateInstance

详细信息

打包

XPS 文档 API 参考

XML 纸张规范