Partager via


IXpsOMObjectFactory ::CreateFontResource, méthode (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 Single-Threaded Apartment (STA) ; ne l’entrez pas à nouveau.
 
Prudence Ce flux ne doit pas être obfusqué.
 

[in] fontEmbedding

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

[in] partUri

Interface IOpcPartUri qui contient le nom du 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 obfusqué.

Valeur Meaning
TRUE
Le flux référencé par acquireStream est obfusqué.
FALSE
Le flux référencé par acquireStream n’est pas obfusqué.

[out, retval] fontResource

Pointeur vers la nouvelle interface IXpsOMFontResource .

Valeur retournée

La méthode retourne un HRESULT. Les valeurs possibles incluent, mais ne sont pas limitées à celles de la table 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 Descriptif
S_OK
S_OK
E_INVALIDARG
L’une des erreurs suivantes s’est produite :
E_POINTER
acquireStream, partUri ou fontResource a la valeur NULL.

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 fonctionnent sur des versions nonobfuscatées d’IStream.

Une erreur est retournée si isObfSourceStream a la valeur TRUE et fontEmbedding est défini sur XPS_FONT_EMBEDDING_NORMAL, ou si le nom référencé par partUri ne correspond pas à la syntaxe des flux obfuscatés.

L’exemple de code suivant 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
}

Spécifications

Requirement Valeur
Client minimum requis 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 Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP]
plateforme cible Fenêtres
Header xpsobjectmodel.h

Voir aussi

IOpcPartUri

IXpsOMFontResource

IXpsOMObjectFactory

spécification de papier XML

Erreurs de document XPS

XPS_FONT_EMBEDDING