Compartilhar via


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

Cria uma interface IXpsOMPageReference que permite a virtualização de páginas.

Sintaxe

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

Parâmetros

[in] advisoryPageDimensions

A estrutura XPS_SIZE que define as dimensões da página de consultoria (largura da página e altura da página).

O tamanho é descrito em unidades XPS. Há 96 unidades XPS por polegada. Por exemplo, as dimensões de uma página de 8,5" por 11,0" são 816 por 1.056 unidades XPS.

[out, retval] pageReference

Um ponteiro para a nova interface IXpsOMPageReference .

Retornar valor

O método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam, aqueles na tabela a seguir. Para obter informações sobre valores retornados da API de documento XPS que não estão listados nesta tabela, consulte Erros de documento XPS.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_POINTER
advisoryPageDimensions ou pageReference é NULL.
XPS_E_INVALID_PAGE_SIZE
advisoryPageDimensions contém um tamanho de página inválido ou valores de tamanho de página inválidos.

Comentários

O uso de uma referência de página possibilita atrasar o carregamento do modelo de objeto completo de uma página até que o carregamento seja solicitado explicitamente. Se a página não tiver sido alterada, ela poderá ser descarregada na solicitação.

O exemplo de código a seguir ilustra como esse método é usado para criar uma nova interface.


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 Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho xpsobjectmodel.h

Confira também

IXpsOMObjectFactory

IXpsOMPageReference

Especificação de Papel XML

Erros de documento XPS

XPS_SIZE