Compartir a través de


Método IXpsOMObjectFactory::CreatePageReference (xpsobjectmodel.h)

Crea una interfaz IXpsOMPageReference que permite la virtualización de páginas.

Sintaxis

HRESULT CreatePageReference(
  [in]          const XPS_SIZE      *advisoryPageDimensions,
  [out, retval] IXpsOMPageReference **pageReference
);

Parámetros

[in] advisoryPageDimensions

Estructura XPS_SIZE que establece las dimensiones de la página de asesoramiento (ancho de página y alto de página).

El tamaño se describe en unidades XPS. Hay 96 unidades XPS por pulgada. Por ejemplo, las dimensiones de una página de 8,5" en 11,0" son 816 por 1056 unidades XPS.

[out, retval] pageReference

Puntero a la nueva interfaz IXpsOMPageReference .

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen, entre otros, los de la tabla siguiente. Para obtener información sobre los valores devueltos de la API de documentos XPS que no aparecen en esta tabla, vea Errores del documento XPS.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_POINTER
advisoryPageDimensions o pageReference es NULL.
XPS_E_INVALID_PAGE_SIZE
advisoryPageDimensions contiene un tamaño de página no válido o valores de tamaño de página no válidos.

Comentarios

El uso de una referencia de página permite retrasar la carga del modelo de objetos completo de una página hasta que se solicite explícitamente la carga. Si la página no se ha modificado, se puede descargar a petición.

En el ejemplo de código siguiente se muestra cómo se usa este método para crear una nueva interfaz.


IXpsOMPageReference    *newInterface;
// The following value is defined outside of 
// this example.
XPS_SIZE        advisoryPageDimensions;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

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

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreatePageReference (
        &advisoryPageDimensions,
        &newInterface);

    if (SUCCEEDED(hr))
    {
        // use newInterface

        newInterface->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado xpsobjectmodel.h

Consulte también

IXpsOMObjectFactory

IXpsOMPageReference

XML Paper Specification

Errores del documento XPS

XPS_SIZE