Partager via


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

Crée une interface IXpsOMFontResource , qui fournit une interface IStream à la ressource de police.

Syntaxe

HRESULT CreateFontResource(
  [in]          IStream            *acquiredStream,
  [in]          XPS_FONT_EMBEDDING fontEmbedding,
  [in]          IOpcPartUri        *partUri,
  [in]          BOOL               isObfSourceStream,
  [out, retval] IXpsOMFontResource **fontResource
);

Paramètres

[in] acquiredStream

Interface IStream en lecture seule à associer à cette ressource de police. Ce paramètre ne doit pas être NULL.

Important Traitez ce flux comme un objet sta (Single-Threaded Apartment) ; ne l’entrez pas de nouveau.
 
Attention Ce flux ne doit pas être masqué.
 

[in] fontEmbedding

Valeur XPS_FONT_EMBEDDING qui spécifie l’option d’incorporation du flux.

[in] partUri

Interface IOpcPartUri qui contient le nom de composant à affecter à cette ressource. Ce paramètre ne doit pas être NULL.

[in] isObfSourceStream

Valeur booléenne qui indique si le flux référencé par acquireStream est masqué.

Valeur Signification
VRAI
Le flux référencé par acquireStream est masqué.
FAUX
Le flux référencé par acquireStream n’est pas masqué.

[out, retval] fontResource

Pointeur vers la nouvelle interface IXpsOMFontResource .

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_INVALIDARG
L’une des erreurs suivantes s’est produite :
E_POINTER
acquiredStream, partUri ou fontResource a la valeurNULL.

Remarques

La valeur de isObfSourceStream décrit l’état du flux référencé par acquireStream au moment de la création de la ressource de police. Tous les appels suivants à GetStream ou SetContent fonctionneront sur des versions non masquées d’IStream.

Une erreur est retournée si isObfSourceStream est défini sur TRUE et que fontEmbedding est défini sur XPS_FONT_EMBEDDING_NORMAL, ou si le nom référencé par partUri n’est pas conforme à la syntaxe des flux obfusqués.

L’exemple de code qui suit illustre la façon dont cette méthode est utilisée pour créer une interface.


IXpsOMFontResource    *newInterface;
IOpcPartUri           *partUri;

// 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))
{
    // The partUriString and acquiredStream variables 
    //   are defined outside of this example.
    hr = xpsFactory->CreatePartUri(partUriString, &partUri);
    if (SUCCEEDED(hr))
    {
        hr = xpsFactory->CreateFontResource (
            acquiredStream, 
            XPS_FONT_EMBEDDING_NORMAL,    // normal
            partUri, 
            FALSE,                        // not obfuscated
            &newInterface);
        if (SUCCEEDED(hr))
        {
            // use newInterface

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

Configuration requise

   
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

IOpcPartUri

IXpsOMFontResource

IXpsOMObjectFactory

XML Paper Specification

Erreurs de document XPS

XPS_FONT_EMBEDDING