Partager via


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

Crée une interface IXpsOMPageReference qui permet la virtualisation des pages.

Syntaxe

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

Paramètres

[in] advisoryPageDimensions

Le XPS_SIZE structure qui définit les dimensions de la page de conseil (largeur de page et hauteur de page).

La taille est décrite dans unités XPS. Il y a 96 unités XPS par pouce. Par exemple, les dimensions d’une page de 8,5 pouces par 11,0 pouces sont de 816 x 1 056 unités XPS.

[out, retval] pageReference

Pointeur vers la nouvelle interface IXpsOMPageReference .

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, celles du tableau qui suit. Pour plus d’informations sur les valeurs de retour de l’API de document XPS qui ne sont pas répertoriées dans ce tableau, consultez Erreurs de document XPS.

Code de retour Description
S_OK
S_OK
E_POINTER
advisoryPageDimensions ou pageReference a la valeur NULL.
XPS_E_INVALID_PAGE_SIZE
advisoryPageDimensions contient une taille de page non valide ou des valeurs de taille de page non valides.

Remarques

L’utilisation d’une référence de page permet de retarder le chargement du modèle objet complet d’une page jusqu’à ce que le chargement soit demandé explicitement. Si la page n’a pas été modifiée, elle peut être déchargée sur demande.

L’exemple de code qui suit illustre la façon dont cette méthode est utilisée pour créer une 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
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête xpsobjectmodel.h

Voir aussi

IXpsOMObjectFactory

IXpsOMPageReference

XML Paper Specification

Erreurs de document XPS

XPS_SIZE