初始化 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 以创建接口,然后保存指针,以便在程序的其他区域中使用,从而提高程序的效率。 当程序不再需要对象工厂,或者不再需要它一段时间时,可以释放指针。

后续步骤

创建空白 XPS OM

本部分 中使用的

IXpsOMObjectFactory

CoCreateInstance

有关详细信息,

打包

XPS 文档 API 参考

XML 纸张规范