Inicialización de un OM de XPS

Describe cómo inicializar un OM de XPS, que permite a un programa crear un documento XPS.

Las interfaces de la API de documentos XPS se crean mediante una interfaz IXpsOMObjectFactory. Para obtener un puntero a un elemento IXpsOMObjectFactory que se pueda usar en el programa, llame a CoCreateInstance.

Antes de usar los siguientes ejemplos de código en el programa, lea la declinación de responsabilidades en Tareas comunes de programación de documentos XPS.

Ejemplo de código

En el ejemplo siguiente, se crea el generador de objetos que se usará para crear interfaces de OM de XPS en otros ejemplos.

    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();

Procedimientos recomendados

Puede hacer que el programa sea más eficaz obteniendo un puntero a una interfaz IXpsOMObjectFactory la primera vez que necesite llamar a IXpsOMObjectFactory para crear una interfaz y, a continuación, guardar el puntero para su uso en otras áreas del programa. Cuando el programa ya no necesite el generador de objetos, o no lo necesite durante un tiempo, se puede liberar el puntero.

Pasos siguientes

Crear un OM de XPS en blanco

Usado en esta sección

IXpsOMObjectFactory

CoCreateInstance

Para obtener más información

Empaquetado

Referencia de la API de documentos XPS

XML Paper Specification