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.
[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 |
---|---|
|
Le flux référencé par acquireStream est masqué. |
|
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 |
|
L’une des erreurs suivantes s’est produite :
|
|
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 |