Compartir a través de


Inicialización de un OM XPS

Describe cómo inicializar un OM 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 IXpsOMObjectFactory que se puede 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 Common XPS Document Programming Tasks.

Ejemplo de código

En el ejemplo siguiente se crea el generador de objetos que se usará para crear interfaces DE OM 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 un 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 necesitará durante un tiempo, se puede liberar el puntero.

pasos siguientes

crear un de OM XPS en blanco

usado en esta sección

IXpsOMObjectFactory

CoCreateInstance

para obtener más información

de empaquetado de

de referencia de la API de documentos XPS

de especificación de papel XML