Поделиться через


Инициализация OM XPS

Описывает, как инициализировать OM XPS, который позволяет программе создавать документ XPS.

Интерфейсы API документов XPS создаются интерфейсом IXpsOMObjectFactory . Чтобы получить указатель на IXpsOMObjectFactory, который можно использовать в программе, вызовите CoCreateInstance.

Прежде чем использовать следующие примеры кода в программе, ознакомьтесь с отказом в задачах программирования документов Common XPS.

Пример кода

В следующем примере создается фабрика объектов, которая будет использоваться для создания интерфейсов OM XPS в других примерах.

    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 , чтобы создать интерфейс, а затем сохранить указатель для использования в других областях программы. Если программа больше не нуждается в фабрике объектов, или она не понадобится в течение некоторого времени, указатель можно освободить.

Дальнейшие действия

Создание пустой OM XPS

Используется в этом разделе

IXpsOMObjectFactory

CoCreateInstance

Дополнительные сведения

Упаковка

Справочник по API документов XPS

Спецификация XML-бумаги